Line 66 com.actiontech.dble.plan.visitor.TestMySQLItemVisitor:testGroupbyHaving ---> Assert.assertEquals(true, 'COUNT(*) > 1'.equals(item.getItemName())); com.actiontech.dble.plan.common.item.Item#getItemName()Ljava/lang/String;=Func0(this.itemName); Line 66 com.actiontech.dble.plan.visitor.TestMySQLItemVisitor:testGroupbyHaving ---> Assert.assertEquals(true, 'COUNT(*) > 1'.equals(item.getItemName())); com.actiontech.dble.plan.visitor.MySQLItemVisitor#getItem()Lcom/actiontech/dble/plan/common/item/Item;=Func1(stack3, this, stack50); itemName=Func2(stack3, this, stack50); Line 101 com.actiontech.dble.plan.common.item.function.operator.cmpfunc.util.ArgComparator: ---> this.b = b; a=Func14(a); Line 34 com.actiontech.dble.plan.common.item.function.operator.cmpfunc.util.ArgComparator: ---> private boolean caseInsensitive = false; Line 29 com.actiontech.dble.plan.common.item.function.operator.cmpfunc.util.ArgComparator: ---> boolean setNull = true; // TRUE <=> set owner->null_value Line 25 com.actiontech.dble.plan.common.item.function.operator.cmpfunc.util.ArgComparator: ---> double precision = 0.0; Line 99 com.actiontech.dble.plan.common.item.function.operator.cmpfunc.util.ArgComparator: ---> public ArgComparator(Item a, Item b) { Line 21 com.actiontech.dble.plan.common.item.function.operator.ItemBoolFunc2: ---> cmp = new ArgComparator(a, b); Line 36 com.actiontech.dble.plan.common.item.function.ItemFunc: ---> this.args = args; Line 158 com.actiontech.dble.plan.common.item.Item: ---> protected int charsetIndex = 63; Line 147 com.actiontech.dble.plan.common.item.Item: ---> protected int decimals = NOT_FIXED_DEC; Line 146 com.actiontech.dble.plan.common.item.Item: ---> protected int maxLength = 0; Line 30 com.actiontech.dble.plan.common.item.Item: ---> public abstract class Item { Line 35 com.actiontech.dble.plan.common.item.function.ItemFunc: ---> public ItemFunc(List args) { Line 32 com.actiontech.dble.plan.common.item.function.primary.ItemIntFunc: ---> super(args); Line 28 com.actiontech.dble.plan.common.item.function.primary.ItemBoolFunc: ---> super(args); Line 22 com.actiontech.dble.plan.common.item.function.primary.ItemBoolFunc: ---> this(new ArrayList()); Line 164 com.alibaba.druid.sql.ast.expr.SQLAggregateExpr:accept0 ---> if (this.withinGroup != null) { Line 144 com.alibaba.druid.sql.ast.expr.SQLAggregateExpr:accept0 ---> arg.accept(visitor); Line 143 com.alibaba.druid.sql.ast.expr.SQLAggregateExpr:accept0 ---> if (arg != null) { Line 142 com.alibaba.druid.sql.ast.expr.SQLAggregateExpr:accept0 ---> for (SQLExpr arg : this.arguments) { Func69(); fv=Func952(); com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr#getLeft()Lcom/alibaba/druid/sql/ast/SQLExpr;=Func74(this.left); Func83(this.right); Line 164 com.alibaba.druid.sql.ast.expr.SQLAggregateExpr:accept0 ---> if (this.withinGroup != null) { INSTANCE=Func966(); systemVariables=Func967(); Func970(); value=Func971(); Line 143 com.alibaba.druid.sql.ast.expr.SQLAggregateExpr:accept0 ---> if (arg != null) { Line 142 com.alibaba.druid.sql.ast.expr.SQLAggregateExpr:accept0 ---> for (SQLExpr arg : this.arguments) { Func113(); Func116(this, this.left); Line 64 com.actiontech.dble.plan.visitor.TestMySQLItemVisitor:testGroupbyHaving ---> q.accept(v); com.alibaba.druid.sql.ast.statement.SQLSelectGroupByClause#getHaving()Lcom/alibaba/druid/sql/ast/SQLExpr;=Func120(this.having); Line 62 com.actiontech.dble.plan.visitor.TestMySQLItemVisitor:testGroupbyHaving ---> SQLExpr q = groupBy.getHaving(); com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock#getGroupBy()Lcom/alibaba/druid/sql/ast/statement/SQLSelectGroupByClause;=Func121(this.groupBy); Line 61 com.actiontech.dble.plan.visitor.TestMySQLItemVisitor:testGroupbyHaving ---> SQLSelectGroupByClause groupBy = query.getGroupBy(); Line 101 com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock:setGroupBy ---> this.groupBy = x; Line 860 com.alibaba.druid.sql.parser.SQLSelectParser:parseGroupBy ---> if (groupBy.getHaving() == null && lexer.token == Token.HAVING) { com.alibaba.druid.sql.ast.statement.SQLSelectGroupByClause#getHaving()Lcom/alibaba/druid/sql/ast/SQLExpr;=Func981(this.having); Line 860 com.alibaba.druid.sql.parser.SQLSelectParser:parseGroupBy ---> if (groupBy.getHaving() == null && lexer.token == Token.HAVING) { Func982(); having=Func983(); right=Func984(); left=Func986(); Line 36 com.alibaba.druid.sql.ast.expr.SQLMethodInvokeExpr: ---> protected final List arguments = new ArrayList(); Line 1191 com.alibaba.druid.sql.parser.SQLExprParser:methodRest ---> SQLAggregateExpr aggregateExpr = parseAggregateExpr(methodName); com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr#getName()Ljava/lang/String;=Func1087(); token=Func1091(); pos=Func1092(stack1, stack2, this.pos); pos=Func1118(this.pos); $stack6=Func1125(); ch=Func1135(this.pos); Line 775 com.alibaba.druid.sql.parser.SQLSelectParser:parseGroupBy ---> if (lexer.token == Token.GROUP) { 1950562457[253]=Func1374(); Line 1129 com.alibaba.druid.sql.parser.SQLSelectParser:parseTableSourceRest ---> switch (lexer.token) { token=Func1395(this.pos); ch=Func1402(this.pos); pos=Func1406(this.pos); Line 1072 com.alibaba.druid.sql.parser.SQLSelectParser:parseTableSourceQueryTableExpr ---> expr()); Line 1065 com.alibaba.druid.sql.parser.SQLSelectParser:parseTableSourceQueryTableExpr ---> if (lexer.token == Token.LITERAL_ALIAS || lexer.identifierEquals(FnvHash.Constants.IDENTIFIED) com.alibaba.druid.sql.parser.Lexer#identifierEquals(J)Z=Func1484(hash_lower, this.hash_lower); Line 1065 com.alibaba.druid.sql.parser.SQLSelectParser:parseTableSourceQueryTableExpr ---> if (lexer.token == Token.LITERAL_ALIAS || lexer.identifierEquals(FnvHash.Constants.IDENTIFIED) token=Func1499(); ch=Func1503(this.pos); ch=Func1507(); hash_lower=Func1510(); Line 61 com.alibaba.druid.sql.parser.SQLSelectParser:select ---> SQLSelectQuery query = query(select);