public bool Get(long key, ref DataVar dv, Transaction txn) { IntPtr pBuf = dv.bufferPointer; int buflen = dv.bufferLength; int dlen = dv.dataLength; int dofft = dv.dataOffset; int eflag = (int)dv.opsFlag; int retval = BangDBNative.GetAdvancedTran(_connection, key, ref pBuf, buflen, ref dlen, dofft, ref eflag, txn.GetTranPtr()); dv.opsFlag = (BangDBDataOpsFlag)eflag; dv.bufferPointer = pBuf; dv.dataLength = dlen; return(retval < 0 ? false : true); }
public bool Get(byte[] key, ref DataVar dv, Transaction txn) { if (key == null) { throw new Exception("key can't be null"); } IntPtr pBuf = dv.bufferPointer; int buflen = dv.bufferLength; int dlen = dv.dataLength; int dofft = dv.dataOffset; int eflag = (int)dv.opsFlag; int retval = BangDBNative.GetAdvancedTran(_connection, key, key.Length, ref pBuf, buflen, ref dlen, dofft, ref eflag, txn.GetTranPtr()); dv.opsFlag = (BangDBDataOpsFlag)eflag; dv.bufferPointer = pBuf; dv.dataLength = dlen; return(retval < 0 ? false : true); }