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); }
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); }
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); }