Esempio n. 1
0
        public void TestQueryVariablesOracle(string expr, string expectedQuery)
        {
            Setup(expr);

            CalcParser.ExpressionContext context = this._calcParser.expression();
            DbTranslator translator = new OracleTranslator();

            QueryVisitor visitor = new QueryVisitor(new TestMetadataResolver(), translator);
            string       query   = visitor.Visit(context);

            Assert.AreEqual(expectedQuery, query);
        }
Esempio n. 2
0
        public void TestQueryDatesOracle(string expr, string expectedQuery)
        {
            Setup(expr);

            CalcParser.ExpressionContext context = this._calcParser.expression();
            DbTranslator      translator         = new OracleTranslator();
            IMetadataResolver resolver           = Substitute.For <IMetadataResolver>();

            QueryVisitor visitor = new QueryVisitor(resolver, translator);
            string       query   = visitor.Visit(context);

            Assert.AreEqual(expectedQuery, query);
        }
Esempio n. 3
0
        public void TestStringFldlenExpressionsOracle(string expr, string expectedQuery)
        {
            Setup(expr);

            CalcParser.ExpressionContext context = this._calcParser.expression();

            DbTranslator      translator = new OracleTranslator();
            IMetadataResolver resolver   = Substitute.For <IMetadataResolver>();

            resolver
            .GetField(Arg.Any <string>())
            .Returns(callinfo => new FieldInfo
            {
                Name = callinfo.ArgAt <string>(0),
                Type = DFM_FIELD_TYPE.DFM_FT_STRING
            });

            QueryVisitor visitor = new QueryVisitor(resolver, translator);

            string query = visitor.Visit(context);

            Assert.AreEqual(expectedQuery, query);
        }
        private IDbTranslator getDbTranslator(IDataSetting dataSetting)
        {
            IDbTranslator dbTranslator;

            switch (dataSetting.DataSouceType)
            {
            case DataSouceType.MySQL:
                dbTranslator = new MySQLTranslator();
                break;

            case DataSouceType.Oracle:
                dbTranslator = new OracleTranslator();
                break;

            case DataSouceType.Sql2000:
                dbTranslator = new Sql2000Translator();
                break;

            case DataSouceType.Sql2005:
                dbTranslator = new Sql2005Translator();
                break;

            case DataSouceType.Sql2008:
                dbTranslator = new Sql2008Translator();
                break;

            case DataSouceType.Sqlite:
                dbTranslator = new SqliteTranslator();
                break;

            default:
                throw new MapleException(string.Format("未知的数据源类型“{0}”。请核实数据源类型配置是否正确。", dataSetting.DataSouceType));
            }

            return(dbTranslator);
        }