Ejemplo n.º 1
0
        public virtual void testRemoveFunctionCallExpr()
        {
            TExpression expression = parser.parseExpression("fx(columnA)");

            Assert.IsTrue(expression.ExpressionType == EExpressionType.function_t);
            expression.remove();
            Assert.IsTrue(expression.ExpressionType == EExpressionType.removed_t);
        }
Ejemplo n.º 2
0
        public virtual void testRemoveObjectExpr()
        {
            TExpression expression = parser.parseExpression("columnA");

            Assert.IsTrue(expression.ExpressionType == EExpressionType.simple_object_name_t);
            expression.remove();
            Assert.IsTrue(expression.ExpressionType == EExpressionType.removed_t);
        }
Ejemplo n.º 3
0
        public virtual void testColumnInAndOr3()
        {
            parser.sqltext = "select *\n" + "from  ods_trf_pnb_stuf_lijst_adrsrt2 lst\n" + "\t\t, ods_stg_pnb_stuf_pers_adr pas\n" + "\t\t, ods_stg_pnb_stuf_pers_nat nat\n" + "\t\t, ods_stg_pnb_stuf_adr adr\n" + "\t\t, ods_stg_pnb_stuf_np prs\n" + "where \n" + "\tpas.soort_adres = lst.soort_adres\n" + "\tand prs.id(+) = nat.prs_id\n" + "\tand adr.id = pas.adr_id\n" + "\tand prs.id = pas.prs_id\n" + "  and lst.persoonssoort = 'PERSOON'\n" + "   and pas.einddatumrelatie is null";
            int ret = parser.parse();

            Assert.IsTrue(ret == 0);
            TSelectSqlStatement selectSqlStatement = (TSelectSqlStatement)parser.sqlstatements.get(0);

            TExpression expression = selectSqlStatement.WhereClause.Condition;

            TExpressionList resultList = expression.searchColumn("lst.soort_adres");

            Assert.IsTrue(resultList.size() == 1);
            TExpression expression1 = resultList.getExpression(0);

            Assert.IsTrue(expression1.ExpressionType == EExpressionType.simple_object_name_t);
            expression1.remove();

            resultList = expression.searchColumn("nat.prs_id");
            Assert.IsTrue(resultList.size() == 1);
            expression1 = resultList.getExpression(0);
            Assert.IsTrue(expression1.ExpressionType == EExpressionType.simple_object_name_t);
            expression1.remove();

            resultList = expression.searchColumn("adr.id");
            Assert.IsTrue(resultList.size() == 1);
            expression1 = resultList.getExpression(0);
            Assert.IsTrue(expression1.ExpressionType == EExpressionType.simple_object_name_t);
            expression1.remove();

            resultList = expression.searchColumn("prs.id");
            Assert.IsTrue(resultList.size() == 1);
            expression1 = resultList.getExpression(0);
            Assert.IsTrue(expression1.ExpressionType == EExpressionType.simple_object_name_t);
            expression1.remove();

            Assert.IsTrue(expression.ToScript().Trim().Equals("lst.persoonssoort = \'PERSOON\' and  pas.einddatumrelatie is null", StringComparison.OrdinalIgnoreCase));
        }
Ejemplo n.º 4
0
        public virtual void testColumnInAndOr()
        {
            TExpression     expression = parser.parseExpression("columnA+(columnB*2)>columnC and columnD=columnE-9");
            TExpressionList resultList = expression.searchColumn("columnA");

            Assert.IsTrue(resultList.size() == 1);
            TExpression columnAExpr = resultList.getExpression(0);

            Assert.IsTrue(columnAExpr.ExpressionType == EExpressionType.simple_object_name_t);
            Assert.IsTrue(columnAExpr.ToString().Equals("columnA", StringComparison.CurrentCultureIgnoreCase));

            Assert.IsTrue(expression.ToScript().Equals("columnA + (columnB * 2) > columnC and  columnD = columnE - 9", StringComparison.OrdinalIgnoreCase));
            columnAExpr.remove();
            Assert.IsTrue(expression.ToScript().Equals("columnD = columnE - 9", StringComparison.OrdinalIgnoreCase));
        }
Ejemplo n.º 5
0
        public virtual void testRemoveColumnInFunctionCall()
        {
            TExpression expression = parser.parseExpression("fx(columnA,columnB,fx2(1+columnC))");

            Assert.IsTrue(expression.ExpressionType == EExpressionType.function_t);

            TExpressionList resultList = expression.searchColumn("columnC");

            Assert.IsTrue(resultList.size() == 1);
            TExpression columnCExpr = resultList.getExpression(0);

            columnCExpr.remove();

            Assert.IsTrue(expression.ExpressionType == EExpressionType.removed_t);
        }
Ejemplo n.º 6
0
        public virtual void testColumnInAndOr1()
        {
            parser.sqltext = "select *\n" + "from table1 pal, table2 pualr, table3 pu\n" + "WHERE  (pal.application_location_id = pualr.application_location_id \n" + "         AND pu.jbp_uid = pualr.jbp_uid \n" + "         AND pu.username = '******')";
            int ret = parser.parse();

            Assert.IsTrue(ret == 0);
            TSelectSqlStatement selectSqlStatement = (TSelectSqlStatement)parser.sqlstatements.get(0);

            TExpression expression = selectSqlStatement.WhereClause.Condition;

            TExpressionList resultList = expression.searchColumn("application_location_id");

            Assert.IsTrue(resultList.size() == 2);
            TExpression expression1 = resultList.getExpression(0);

            Assert.IsTrue(expression1.ExpressionType == EExpressionType.simple_object_name_t);
            Assert.IsTrue(expression1.ToString().Equals("pal.application_location_id", StringComparison.CurrentCultureIgnoreCase));
            expression1.remove();
            Assert.IsTrue(expression.ToScript().Equals("(pu.jbp_uid = pualr.jbp_uid and  pu.username = '******')", StringComparison.OrdinalIgnoreCase));
        }
Ejemplo n.º 7
0
 private void removeExpression(TExpression expression)
 {
     expression.remove();
 }