Exemplo n.º 1
0
        private void CreateOrOpen(int op, BlobParameterBuffer bpb)
        {
            lock (_database.SyncObject)
            {
                try
                {
                    _database.Write(op);
                    if (bpb != null)
                    {
                        _database.WriteTyped(IscCodes.isc_bpb_version1, bpb.ToArray());
                    }
                    _database.Write(_transaction.Handle);
                    _database.Write(_blobId);
                    _database.Flush();

                    GenericResponse response = _database.ReadGenericResponse();

                    _blobId     = response.BlobId;
                    _blobHandle = response.ObjectHandle;
                }
                catch (IOException)
                {
                    throw new IscException(IscCodes.isc_net_read_err);
                }
            }
        }