public override void Run(EPServiceProvider epService)
        {
            var configDB = SupportDatabaseService.CreateDefaultConfig();

            configDB.ConnectionLifecycle = ConnectionLifecycleEnum.RETAIN;
            var configuration = SupportConfigFactory.GetConfiguration();

            configuration.AddDatabaseReference("MyDB", configDB);

            var epServiceRetained = EPServiceProviderManager.GetProvider(
                SupportContainer.Instance, "TestDatabaseJoinRetained", configuration);

            epServiceRetained.Initialize();

            configDB = SupportDatabaseService.CreateDefaultConfig();
            configDB.ConnectionLifecycle = ConnectionLifecycleEnum.POOLED;
            configuration = SupportConfigFactory.GetConfiguration();
            configuration.AddDatabaseReference("MyDB", configDB);
            var epServicePooled = EPServiceProviderManager.GetProvider(
                SupportContainer.Instance, "TestDatabaseJoinPooled", configuration);

            epServicePooled.Initialize();

            RunAssertion100EventsRetained(epServiceRetained);
            RunAssertion100EventsPooled(epServicePooled);
            RunAssertionSelectRStream(epServiceRetained);
            RunAssertionSelectIStream(epServiceRetained);
            RunAssertionWhereClauseNoIndexNoCache(epServiceRetained);

            epServicePooled.Dispose();
            epServiceRetained.Dispose();
        }
Ejemplo n.º 2
0
        private static IContainer CreateContainer()
        {
            var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;

            var container = ContainerExtensions.CreateDefaultContainer(false);

            container.Register <IResourceManager>(
                xx => new DefaultResourceManager(
                    true,
                    Path.GetFullPath(Path.Combine(baseDirectory, "..", "..", "..", "etc")),
                    Path.GetFullPath(Path.Combine(baseDirectory, "..", "..", "..", "..", "etc")),
                    Path.GetFullPath(Path.Combine(baseDirectory, "..", "..", "..", "..", "..", "etc"))),
                Lifespan.Singleton);

            SupportEventTypeFactory.RegisterSingleton(container);
            SupportExprNodeFactory.RegisterSingleton(container);
            SupportDatabaseService.RegisterSingleton(container);
            SupportJoinResultNodeFactory.RegisterSingleton(container);

            container
            .InitializeDefaultServices()
            .InitializeDatabaseDrivers()
            .RegisterDatabaseDriver(typeof(DbDriverPgSQL));

            return(container);
        }
        private ConfigurationDBRef GetDefaultConfig()
        {
            var configDB = SupportDatabaseService.CreateDefaultConfig();

            configDB.ConnectionLifecycle = ConnectionLifecycleEnum.RETAIN;
            return(configDB);
        }
        public void SetUp()
        {
            const string sql = "select myvarchar from mytesttable where mynumeric = ? order by mybigint asc";

            var databaseConnectionFactory = SupportDatabaseService.MakeService().GetConnectionFactory("mydb");
            var connectionCache           = new ConnectionNoCacheImpl(databaseConnectionFactory, sql, null);

            var resultProperties = new Dictionary <String, Object>();

            resultProperties["myvarchar"] = typeof(string);
            var resultEventType = SupportEventAdapterService.Service.CreateAnonymousMapType("test", resultProperties);

            IDictionary <String, DBOutputTypeDesc> propertiesOut = new Dictionary <String, DBOutputTypeDesc>();

            propertiesOut["myvarchar"] = new DBOutputTypeDesc("TIME", typeof(string), null);

            _dbPollExecStrategy = new PollExecStrategyDBQuery(
                SupportEventAdapterService.Service,
                resultEventType,
                connectionCache,
                sql,
                propertiesOut,
                null,
                null);
        }
        public override void Configure(Configuration configuration)
        {
            var configDB = SupportDatabaseService.CreateDefaultConfig();

            configuration.AddDatabaseReference("MyDB", configDB);
            configuration.AddEventType <SupportBean>("SupportBean");
            configuration.AddEventType <SupportBean_S0>("SupportBean_S0");
            configuration.AddEventType <SupportBean_S1>("SupportBean_S1");
        }
Ejemplo n.º 6
0
        public override void Configure(Configuration configuration)
        {
            var configDB = SupportDatabaseService.CreateDefaultConfig();

            configDB.ConnectionLifecycle            = ConnectionLifecycleEnum.RETAIN;
            configDB.ConnectionCatalog              = "test";
            configDB.ConnectionTransactionIsolation = IsolationLevel.Serializable;
            configuration.AddDatabaseReference("MyDB", configDB);
        }
Ejemplo n.º 7
0
        public override void Configure(Configuration configuration)
        {
            var configDB = SupportDatabaseService.CreateDefaultConfig();

            configDB.ConnectionLifecycle = ConnectionLifecycleEnum.RETAIN;
            configDB.LRUCache            = 100000;
            configDB.ConnectionCatalog   = "test";
            configuration.AddDatabaseReference("MyDB", configDB);
        }
Ejemplo n.º 8
0
        public override void Configure(Configuration configuration)
        {
            configuration.EngineDefaults.Logging.IsEnableADO = true;
            configuration.EngineDefaults.Threading.IsListenerDispatchPreserveOrder = false;

            var configDB = SupportDatabaseService.CreateDefaultConfig();

            configDB.ConnectionLifecycle = ConnectionLifecycleEnum.RETAIN;
            configuration.AddDatabaseReference("MyDB", configDB);
        }
Ejemplo n.º 9
0
        internal static ConfigurationDBRef GetDBConfig()
        {
            var configDB = SupportDatabaseService.CreateDefaultConfig();

            configDB.ConnectionLifecycle            = ConnectionLifecycleEnum.RETAIN;
            configDB.ConnectionCatalog              = "test";
            configDB.ConnectionTransactionIsolation = IsolationLevel.Serializable;
            configDB.ConnectionAutoCommit           = true;
            return(configDB);
        }
Ejemplo n.º 10
0
        public override void Configure(Configuration configuration)
        {
            var configDB = SupportDatabaseService.CreateDefaultConfig();

            configDB.ConnectionCatalog = "test";
            configDB.SetExpiryTimeCache(60, 120);

            configuration.EngineDefaults.Logging.IsEnableQueryPlan = true;
            configuration.AddDatabaseReference("MyDB", configDB);
        }
        public override void Configure(Configuration configuration)
        {
            var configDB = SupportDatabaseService.CreateDefaultConfig();

            configDB.ConnectionLifecycle = ConnectionLifecycleEnum.RETAIN;

            // Turn this cache setting off to turn off indexing since without cache there is no point in indexing.
            configDB.LRUCache = (100000);
            configuration.EngineDefaults.Logging.IsEnableQueryPlan = (true);
            configuration.AddDatabaseReference("MyDB", configDB);
        }
Ejemplo n.º 12
0
 public virtual void SetUpCommon()
 {
     container = SupportContainer.Reset();
     supportEventTypeFactorySupplier = Suppliers.Memoize(() =>
                                                         SupportEventTypeFactory.GetInstance(container));
     supportExprNodeFactorySupplier = Suppliers.Memoize(() =>
                                                        SupportExprNodeFactory.GetInstance(container));
     supportDatabaseServiceSupplier = Suppliers.Memoize(() =>
                                                        SupportDatabaseService.GetInstance(container));
     supportJoinResultNodeFactorySupplier = Suppliers.Memoize(() =>
                                                              SupportJoinResultNodeFactory.GetInstance(container));
 }
Ejemplo n.º 13
0
        public override void Configure(Configuration configuration)
        {
            var configDB = SupportDatabaseService.CreateDefaultConfig();

            configDB.ConnectionLifecycle = ConnectionLifecycleEnum.RETAIN;
            configDB.ConnectionCatalog   = "test";
            //configDB.ConnectionReadOnly = true;
            configDB.ConnectionTransactionIsolation = IsolationLevel.Serializable;
            configDB.ConnectionAutoCommit           = true;

            configuration.AddDatabaseReference("MyDB", configDB);

            configuration.EngineDefaults.Logging.IsEnableADO = true;
        }
Ejemplo n.º 14
0
        public void TestDBStatementViewFactory()
        {
            DBStatementStreamSpec spec = new DBStatementStreamSpec("s0", ViewSpec.EMPTY_VIEWSPEC_ARRAY,
                                                                   "mydb", "select * from mytesttable where mybigint=${idnum}", null);

            EventCollection eventCollection = DatabasePollingViewableFactory.CreateDBStatementView(
                "id", 1, spec,
                SupportDatabaseService.MakeService(),
                SupportEventAdapterService.Service, null, null, null, null, true);

            Assert.AreEqual(typeof(long?), eventCollection.EventType.GetPropertyType("mybigint"));
            Assert.AreEqual(typeof(string), eventCollection.EventType.GetPropertyType("myvarchar"));
            Assert.AreEqual(typeof(bool?), eventCollection.EventType.GetPropertyType("mybool"));
            Assert.AreEqual(typeof(decimal?), eventCollection.EventType.GetPropertyType("mynumeric"));
            Assert.AreEqual(typeof(decimal?), eventCollection.EventType.GetPropertyType("mydecimal"));
        }
Ejemplo n.º 15
0
        public void TestDBStatementViewFactory()
        {
            var container = SupportContainer.Instance;
            var spec      = new DBStatementStreamSpec("s0", ViewSpec.EMPTY_VIEWSPEC_ARRAY,
                                                      "mydb", "select * from mytesttable where mybigint=${idnum}", null);

            EventCollection eventCollection = DatabasePollingViewableFactory.CreateDBStatementView(
                1, 1, spec,
                SupportDatabaseService.MakeService(),
                container.Resolve <EventAdapterService>(),
                null, null, null, null, true, new DataCacheFactory(),
                SupportStatementContextFactory.MakeContext(container));

            Assert.AreEqual(typeof(long?), eventCollection.EventType.GetPropertyType("mybigint"));
            Assert.AreEqual(typeof(string), eventCollection.EventType.GetPropertyType("myvarchar"));
            Assert.AreEqual(typeof(bool?), eventCollection.EventType.GetPropertyType("mybool"));
            Assert.AreEqual(typeof(decimal?), eventCollection.EventType.GetPropertyType("mynumeric"));
            Assert.AreEqual(typeof(decimal?), eventCollection.EventType.GetPropertyType("mydecimal"));
        }
Ejemplo n.º 16
0
        public void RunAssertionGetConnection()
        {
            TryAndCloseConnectionWithFactory(
                () =>
            {
                var properties                        = SupportDatabaseService.DefaultProperties;
                var config                            = SupportDatabaseService.CreateDefaultConfig(properties);
                config.ConnectionCatalog              = "test";
                config.ConnectionAutoCommit           = false; // not supported yet
                config.ConnectionTransactionIsolation = IsolationLevel.Unspecified;
                return(new DatabaseDriverConnFactory((DbDriverFactoryConnection)config.ConnectionFactoryDesc, config.ConnectionSettings));
            });

            TryAndCloseConnection(SupportDatabaseService.DbDriverFactoryDefault);

#if X64
            // ODBC drivers are sensitive to which platform they are installed on; we only test them when performing
            // tests with X64 since we usually do not install the 32-bit drivers.
            TryAndCloseConnection(SupportDatabaseService.DbDriverFactoryODBC);
#endif
        }
Ejemplo n.º 17
0
        public void SetUp()
        {
            ImportService engineImportService = SupportClasspathImport.GetInstance(container);

            // driver-manager config 1
            var config = new ConfigurationCommonDBRef();

            config.SetDatabaseDriver(SupportDatabaseService.GetInstance(container).DriverConnectionFactoryNative);
            config.ConnectionAutoCommit           = true;
            config.ConnectionCatalog              = "test";
            config.ConnectionTransactionIsolation = IsolationLevel.Serializable;
            config.ConnectionReadOnly             = true;

#if false
            _databaseDmConnConnectionFactoryOne = new DriverConnectionFactoryDesc(
                (ConfigurationCommonDBRef.DriverManagerConnection)config.ConnectionFactoryDesc,
                config.ConnectionSettings, engineImportService);

            // driver-manager config 2
            config = new ConfigurationCommonDBRef();
            config.SetDriverManagerConnection(SupportDatabaseURL.DRIVER, SupportDatabaseURL.PARTURL, SupportDatabaseURL.DBUSER, SupportDatabaseURL.DBPWD);
            _databaseDmConnConnectionFactoryTwo = new DriverConnectionFactoryDesc(
                (ConfigurationCommonDBRef.DriverManagerConnection)config.ConnectionFactoryDesc,
                config.ConnectionSettings, engineImportService);

            // driver-manager config 3
            config = new ConfigurationCommonDBRef();
            Properties properties = new Properties();
            properties["user"]     = SupportDatabaseURL.DBUSER;
            properties["password"] = SupportDatabaseURL.DBPWD;
            config.SetDriverManagerConnection(SupportDatabaseURL.DRIVER, SupportDatabaseURL.PARTURL, properties);
            _databaseDmConnConnectionFactoryThree = new DatabaseDMConnFactory(
                (ConfigurationCommonDBRef.DriverManagerConnection)config.ConnectionFactoryDesc,
                config.ConnectionSettings, engineImportService);
#endif
        }