示例#1
0
 public AdvancedOptions(IDocumentCleaner cleaner, StoreOptions options, ISerializer serializer, IDocumentSchema schema, CharArrayTextWriter.IPool writerPool)
 {
     Serializer  = serializer;
     _schema     = schema;
     _writerPool = writerPool;
     Options     = options;
     Clean       = cleaner;
 }
示例#2
0
        public UpdateBatch(DocumentStore store, IManagedConnection connection, VersionTracker versions, CharArrayTextWriter.IPool writerPool, ITenant tenant, ConcurrencyChecks concurrency)
        {
            _store      = store;
            _writerPool = writerPool;
            Versions    = versions ?? throw new ArgumentNullException(nameof(versions));

            _commands.Push(new BatchCommand(_store.Serializer, tenant));
            Connection  = connection;
            Concurrency = concurrency;
            TenantId    = tenant.TenantId;
            _tenant     = tenant;
        }
示例#3
0
        public UpdateBatch(DocumentStore store, IManagedConnection connection, VersionTracker versions, CharArrayTextWriter.IPool writerPool)
        {
            if (versions == null)
            {
                throw new ArgumentNullException(nameof(versions));
            }

            _store      = store;
            _writerPool = writerPool;
            Versions    = versions;

            _commands.Push(new BatchCommand(_store.Serializer));
            Connection = connection;
        }
示例#4
0
        public UpdateBatch(StoreOptions options, ISerializer serializer, IManagedConnection connection, VersionTracker versions, CharArrayTextWriter.IPool writerPool)
        {
            if (versions == null)
            {
                throw new ArgumentNullException(nameof(versions));
            }

            _options    = options;
            _writerPool = writerPool;
            Serializer  = serializer;
            Versions    = versions;

            _commands.Push(new BatchCommand(serializer));
            Connection = connection;
        }
示例#5
0
        private IIdentityMap createMap(DocumentTracking tracking, CharArrayTextWriter.IPool sessionPool, IEnumerable <IDocumentSessionListener> localListeners)
        {
            switch (tracking)
            {
            case DocumentTracking.None:
                return(new NulloIdentityMap(Serializer));

            case DocumentTracking.IdentityOnly:
                return(new IdentityMap(Serializer, Options.Listeners.Concat(localListeners)));

            case DocumentTracking.DirtyTracking:
                return(new DirtyTrackingIdentityMap(Serializer, Options.Listeners.Concat(localListeners), sessionPool));

            default:
                throw new ArgumentOutOfRangeException(nameof(tracking));
            }
        }
示例#6
0
        private IIdentityMap createMap(DocumentTracking tracking, CharArrayTextWriter.IPool sessionPool)
        {
            switch (tracking)
            {
            case DocumentTracking.None:
                return(new NulloIdentityMap(_serializer));

            case DocumentTracking.IdentityOnly:
                return(new IdentityMap(_serializer, _options.Listeners));

            case DocumentTracking.DirtyTracking:
                return(new DirtyTrackingIdentityMap(_serializer, _options.Listeners, sessionPool));

            default:
                throw new ArgumentOutOfRangeException(nameof(tracking));
            }
        }
 public DirtyTrackingIdentityMap(ISerializer serializer, IEnumerable <IDocumentSessionListener> listeners, CharArrayTextWriter.IPool pool) : base(serializer, listeners)
 {
     _pool = pool;
 }
示例#8
0
 public BulkInsertion(ITenant tenant, StoreOptions options, CharArrayTextWriter.IPool writerPool)
 {
     _tenant     = tenant;
     _writerPool = writerPool;
     Serializer  = options.Serializer();
 }