public ExpState initialize(Select sel, ExpContext ctx, int flags) { // join into related object if present ExpState expState = initializeValue(sel, ctx, JOIN_REL); Val val = isCountDistinct ? ((Distinct)getValue()).getValue() : getValue(); if (val instanceof PCPath) { Column[] cols = ((PCPath)val).getColumns(expState); if (cols.length > 1) { isCountMultiColumns = true; } } return expState; }
public ExpState initialize(Select sel, ExpContext ctx, int flags) { // join into related object if present ExpState expState = initializeValue(sel, ctx, JOIN_REL); Val val = isCountDistinct ? ((Distinct)getValue()).getValue() : getValue(); if (val instanceof PCPath) { Column[] cols = ((PCPath)val).getColumns(expState); if (cols.length > 1) { isCountMultiColumns = true; } } return expState; }
public ExpState initialize(Select sel, ExpContext ctx, int flags) { // join into related object if present ExpState expState = initializeValue(sel, ctx, JOIN_REL); Val val = isCountDistinct ? ((Distinct)getValue()).getValue() : getValue(); if (val instanceof PCPath) { Column[] cols = ((PCPath)val).getColumns(expState); if (cols.length > 1) { isCountMultiColumns = true; } } return expState; }
public ExpState initialize(Select sel, ExpContext ctx, int flags) { // join into related object if present ExpState expState = initializeValue(sel, ctx, JOIN_REL); Val val = isCountDistinct ? ((Distinct)getValue()).getValue() : getValue(); if (val instanceof PCPath) { Column[] cols = ((PCPath)val).getColumns(expState); if (cols.length > 1) { isCountMultiColumns = true; } } return expState; }
/** * Overrides SQL formation by replacing COUNT(column) by COUNT(*) when specific conditions are met and * DBDictionary configuration <code>useWildCardForCount</code> is set. */ @Override public void appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql, int index) { if (isCountDistinctMultiCols()) { getValue().appendTo(sel, ctx, state, sql, 0); sql.addCastForParam(getOperator(), getValue()); } else super.appendTo(sel, ctx, state, sql, index); if ((ctx.store.getDBDictionary().useWildCardForCount && state.joins.isEmpty()) || !isCountDistinct && isCountMultiColumns){ String s = sql.getSQL(); if (s.startsWith("COUNT(") && s.endsWith(")")) { sql.replaceSqlString("COUNT(".length(), s.length()-1, "*"); } } }
/** * Overrides SQL formation by replacing COUNT(column) by COUNT(*) when specific conditions are met and * DBDictionary configuration <code>useWildCardForCount</code> is set. */ @Override public void appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql, int index) { if (isCountDistinctMultiCols()) { getValue().appendTo(sel, ctx, state, sql, 0); sql.addCastForParam(getOperator(), getValue()); } else super.appendTo(sel, ctx, state, sql, index); if ((ctx.store.getDBDictionary().useWildCardForCount && state.joins.isEmpty()) || !isCountDistinct && isCountMultiColumns){ String s = sql.getSQL(); if (s.startsWith("COUNT(") && s.endsWith(")")) { sql.replaceSqlString("COUNT(".length(), s.length()-1, "*"); } } }
/** * Overrides SQL formation by replacing COUNT(column) by COUNT(*) when specific conditions are met and * DBDictionary configuration <code>useWildCardForCount</code> is set. */ @Override public void appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql, int index) { if (isCountDistinctMultiCols()) { getValue().appendTo(sel, ctx, state, sql, 0); sql.addCastForParam(getOperator(), getValue()); } else super.appendTo(sel, ctx, state, sql, index); if ((ctx.store.getDBDictionary().useWildCardForCount && state.joins.isEmpty()) || !isCountDistinct && isCountMultiColumns){ String s = sql.getSQL(); if (s.startsWith("COUNT(") && s.endsWith(")")) { sql.replaceSqlString("COUNT(".length(), s.length()-1, "*"); } } }
/** * Overrides SQL formation by replacing COUNT(column) by COUNT(*) when specific conditions are met and * DBDictionary configuration <code>useWildCardForCount</code> is set. */ @Override public void appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql, int index) { if (isCountDistinctMultiCols()) { getValue().appendTo(sel, ctx, state, sql, 0); sql.addCastForParam(getOperator(), getValue()); } else super.appendTo(sel, ctx, state, sql, index); if ((ctx.store.getDBDictionary().useWildCardForCount && state.joins.isEmpty()) || !isCountDistinct && isCountMultiColumns){ String s = sql.getSQL(); if (s.startsWith("COUNT(") && s.endsWith(")")) { sql.replaceSqlString("COUNT(".length(), s.length()-1, "*"); } } }