Exemplo n.º 1
0
        public virtual void CaptureQueryResultConfig()
        {
            Config4Impl config = _trans.Container().Config();

            _evaluationMode = config.EvaluationMode();
            _prefetchDepth  = config.PrefetchDepth();
            _prefetchCount  = config.PrefetchObjectCount();
        }
Exemplo n.º 2
0
        private Config4Impl PrepareConfig(Config4Impl originalConfig, IStorage storage, bool
                                          readOnly)
        {
            Config4Impl sourceConfig = (Config4Impl)originalConfig.DeepClone(null);

            sourceConfig.WeakReferences(false);
            sourceConfig.Storage = storage;
            sourceConfig.ReadOnly(readOnly);
            return(sourceConfig);
        }
Exemplo n.º 3
0
        public void TestCSAliases()
        {
            var config      = new Config4Impl();
            var javaSupport = new JavaSupport();

            javaSupport.Prepare(config);

            var resolvedName = config.ResolveAliasRuntimeName(UnversionedNameFor(typeof(ClassInfo)));

            Assert.AreEqual("com.db4o.cs.internal.ClassInfo", resolvedName);
        }
Exemplo n.º 4
0
            /// <exception cref="System.Exception"></exception>
            public virtual void Test()
            {
                if (CommonAndLocalConfigurationTestSuite.Subject() is IClientConfiguration)
                {
                    return;
                }
                IFileConfigurationProvider config     = ((IFileConfigurationProvider)Subject());
                IFileConfiguration         fileConfig = config.File;
                Config4Impl legacyConfig = Db4oLegacyConfigurationBridge.AsLegacy(config);

                fileConfig.BlockSize = 42;
                Assert.AreEqual(42, legacyConfig.BlockSize());
                fileConfig.DatabaseGrowthSize = 42;
                Assert.AreEqual(42, legacyConfig.DatabaseGrowthSize());
                fileConfig.DisableCommitRecovery();
                Assert.IsTrue(legacyConfig.CommitRecoveryDisabled());
                fileConfig.Freespace.DiscardSmallerThan(8);
                Assert.AreEqual(8, legacyConfig.DiscardFreeSpace());
                fileConfig.GenerateUUIDs = ConfigScope.Globally;
                Assert.AreEqual(ConfigScope.Globally, legacyConfig.GenerateUUIDs());
                fileConfig.GenerateCommitTimestamps = true;
                Assert.IsTrue(legacyConfig.GenerateCommitTimestamps().DefiniteYes());
                IStorage storageFactory = new FileStorage();

                fileConfig.Storage = storageFactory;
                Assert.AreSame(storageFactory, legacyConfig.Storage);
                Assert.AreSame(storageFactory, fileConfig.Storage);
                fileConfig.LockDatabaseFile = true;
                Assert.IsTrue(legacyConfig.LockFile());
                fileConfig.ReserveStorageSpace = 1024;
                Assert.AreEqual(1024, legacyConfig.ReservedStorageSpace());
                fileConfig.BlobPath = Path.GetTempPath();
                Assert.AreEqual(Path.GetTempPath(), legacyConfig.BlobPath());
                fileConfig.ReadOnly = true;
                Assert.IsTrue(legacyConfig.IsReadOnly());
                ICacheConfigurationProvider cacheProvider = ((ICacheConfigurationProvider)Subject
                                                                 ());
                ICacheConfiguration            cache = cacheProvider.Cache;
                IIdSystemConfigurationProvider idSystemConfigurationProvider = ((IIdSystemConfigurationProvider
                                                                                 )Subject());
                IIdSystemConfiguration idSystemConfiguration = idSystemConfigurationProvider.IdSystem;

                Assert.AreEqual(StandardIdSystemFactory.Default, legacyConfig.IdSystemType());
                idSystemConfiguration.UseStackedBTreeSystem();
                Assert.AreEqual(StandardIdSystemFactory.StackedBtree, legacyConfig.IdSystemType()
                                );
                idSystemConfiguration.UsePointerBasedSystem();
                Assert.AreEqual(StandardIdSystemFactory.PointerBased, legacyConfig.IdSystemType()
                                );
            }
            // The cache may touch more bytes than the ones we modified.
            // We should be safe even if we don't get this test to pass.
            // The log file is not a public API yet anyway.
            // It's only needed for the PointerBasedIdSystem
            // With the new BTreeIdSystem it's not likely to become important
            // so we can safely ignore the failing write trash case.
            private IConfiguration BaseConfig(bool useLogFile)
            {
                Config4Impl config = (Config4Impl)Db4oFactory.NewConfiguration();

                config.ObjectClass(typeof(CrashSimulatingTestSuite.CrashData)).ObjectField("_name"
                                                                                           ).Indexed(true);
                config.ReflectWith(Platform4.ReflectorForType(typeof(CrashSimulatingTestSuite.CrashSimulatingTestCase
                                                                     )));
                config.BTreeNodeSize(4);
                config.LockDatabaseFile(false);
                config.FileBasedTransactionLog(useLogFile);
                ((CrashSimulatingTestSuite.LabeledConfig)IdSystem.Value).Configure(config);
                ((CrashSimulatingTestSuite.LabeledConfig)FreespaceManager.Value).Configure(config
                                                                                           );
                return(config);
            }
Exemplo n.º 6
0
 public EmbeddedConfigurationImpl(IConfiguration legacy)
 {
     _legacy = (Config4Impl)legacy;
 }
Exemplo n.º 7
0
 public FileConfigurationImpl(Config4Impl config)
 {
     _config = config;
 }
Exemplo n.º 8
0
            public override object InitialValueFor(Transaction transaction)
            {
                Config4Impl config = transaction.Container().Config();

                return(CacheFactory.NewLRUIntCache(config.PrefetchSlotCacheSize()));
            }
 public override void Configure(Config4Impl config)
 {
     // config.freespace().useRamSystem();
     config.Freespace().UseBTreeSystem();
 }
 public override void Configure(Config4Impl config)
 {
     Db4oLegacyConfigurationBridge.AsIdSystemConfiguration(config).UsePointerBasedSystem
         ();
 }
Exemplo n.º 11
0
 public CommonConfigurationImpl(Config4Impl config)
 {
     _config = config;
 }
Exemplo n.º 12
0
 public ServerConfigurationImpl(Config4Impl config) : base(config)
 {
 }
Exemplo n.º 13
0
 public ClientConfigurationImpl(Config4Impl config) : base(config)
 {
 }
Exemplo n.º 14
0
 private int Frequency(Config4Impl config)
 {
     return(Math.Min(config.TimeoutClientSocket(), config.TimeoutServerSocket()) / 4);
 }
Exemplo n.º 15
0
 public EmbeddedConfigurationImpl(IConfiguration legacy)
 {
     _legacy = (Config4Impl) legacy;
 }
Exemplo n.º 16
0
 public IdSystemConfigurationImpl(Config4Impl config)
 {
     _config = config;
 }
 public override void Configure(Config4Impl config)
 {
     config.Freespace().UseBTreeSystem();
 }
Exemplo n.º 18
0
 public FileConfigurationImpl(Config4Impl config)
 {
     _config = config;
 }
 public override void Configure(Config4Impl config)
 {
     Db4oLegacyConfigurationBridge.AsIdSystemConfiguration(config).UseInMemorySystem();
 }
Exemplo n.º 20
0
            public virtual void Test()
            {
                ICommonConfigurationProvider config = ((ICommonConfigurationProvider)Subject());
                Config4Impl          legacy         = Db4oLegacyConfigurationBridge.AsLegacy(config);
                ICommonConfiguration common         = config.Common;

                common.ActivationDepth = 42;
                Assert.AreEqual(42, legacy.ActivationDepth());
                Assert.AreEqual(42, common.ActivationDepth);
                // TODO: assert
                common.Add(new _IConfigurationItem_41());
                TypeAlias alias = new TypeAlias("foo", "bar");

                common.AddAlias(alias);
                Assert.AreEqual("bar", legacy.ResolveAliasStoredName("foo"));
                Assert.AreEqual("foo", legacy.ResolveAliasRuntimeName("bar"));
                common.RemoveAlias(alias);
                Assert.AreEqual("foo", legacy.ResolveAliasStoredName("foo"));
                common.AllowVersionUpdates = false;
                Assert.IsFalse(legacy.AllowVersionUpdates());
                common.AutomaticShutDown = false;
                Assert.IsFalse(legacy.AutomaticShutDown());
                common.BTreeNodeSize = 42;
                Assert.AreEqual(42, legacy.BTreeNodeSize());
                common.Callbacks = false;
                Assert.AreEqual(CallBackMode.None, legacy.CallbackMode());
                common.CallConstructors = false;
                Assert.IsTrue(legacy.CallConstructors().DefiniteNo());
                common.DetectSchemaChanges = false;
                Assert.IsFalse(legacy.DetectSchemaChanges());
                DiagnosticCollector collector = new DiagnosticCollector();

                common.Diagnostic.AddListener(collector);
                IDiagnostic diagnostic = DummyDiagnostic();

                legacy.DiagnosticProcessor().OnDiagnostic(diagnostic);
                collector.Verify(new object[] { diagnostic });
                common.ExceptionsOnNotStorable = true;
                Assert.IsTrue(legacy.ExceptionsOnNotStorable());
                common.InternStrings = true;
                Assert.IsTrue(legacy.InternStrings());
                // TODO: assert
                common.MarkTransient("Foo");
                common.MessageLevel = 3;
                Assert.AreEqual(3, legacy.MessageLevel());
                IObjectClass objectClass = common.ObjectClass(typeof(CommonAndLocalConfigurationTestSuite.BaseConfigurationProviderTestUnit.Item
                                                                     ));

                objectClass.CascadeOnDelete(true);
                Assert.IsTrue(((Config4Class)legacy.ObjectClass(typeof(CommonAndLocalConfigurationTestSuite.BaseConfigurationProviderTestUnit.Item
                                                                       ))).CascadeOnDelete().DefiniteYes());
                Assert.IsTrue(((Config4Class)common.ObjectClass(typeof(CommonAndLocalConfigurationTestSuite.BaseConfigurationProviderTestUnit.Item
                                                                       ))).CascadeOnDelete().DefiniteYes());
                common.OptimizeNativeQueries = false;
                Assert.IsFalse(legacy.OptimizeNativeQueries());
                Assert.IsFalse(common.OptimizeNativeQueries);
                common.Queries.EvaluationMode(QueryEvaluationMode.Lazy);
                Assert.AreEqual(QueryEvaluationMode.Lazy, legacy.EvaluationMode());
                // TODO: test reflectWith()
                // TODO: this probably won't sharpen :/
                TextWriter outStream = Sharpen.Runtime.Out;

                common.OutStream = outStream;
                Assert.AreEqual(outStream, legacy.OutStream());
                IStringEncoding stringEncoding = new _IStringEncoding_113();

                common.StringEncoding = stringEncoding;
                Assert.AreEqual(stringEncoding, legacy.StringEncoding());
                common.TestConstructors = false;
                Assert.IsFalse(legacy.TestConstructors());
                common.TestConstructors = true;
                Assert.IsTrue(legacy.TestConstructors());
                common.UpdateDepth = 1024;
                Assert.AreEqual(1024, legacy.UpdateDepth());
                common.WeakReferences = false;
                Assert.IsFalse(legacy.WeakReferences());
                common.WeakReferenceCollectionInterval = 1024;
                Assert.AreEqual(1024, legacy.WeakReferenceCollectionInterval());
            }
 public abstract void Configure(Config4Impl config);
Exemplo n.º 22
0
 protected override bool ApplyRenames(Config4Impl config)
 {
     LogMsg(58, null);
     return(false);
 }
 public override void Configure(Config4Impl config)
 {
     Db4oLegacyConfigurationBridge.AsIdSystemConfiguration(config).UseStackedBTreeSystem
         ();
 }
Exemplo n.º 24
0
        /// <summary>
        /// creates a new
        /// <see cref="Db4objects.Db4o.CS.Config.IClientConfiguration">Db4objects.Db4o.CS.Config.IClientConfiguration
        ///     </see>
        ///
        /// </summary>
        public static IClientConfiguration NewClientConfiguration()
        {
            Config4Impl legacy = NewLegacyConfig();

            return(new ClientConfigurationImpl((Config4Impl)legacy));
        }
Exemplo n.º 25
0
 public CacheConfigurationImpl(Config4Impl config)
 {
     _config = config;
 }
Exemplo n.º 26
0
 public IdSystemConfigurationImpl(Config4Impl config)
 {
     _config = config;
 }