You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Lukas Eder (Jira)" <ji...@apache.org> on 2021/01/21 11:14:00 UTC

[jira] [Updated] (IGNITE-14028) Cannot combine COUNT(*) with COUNT(DISTINCT col) in a single query

     [ https://issues.apache.org/jira/browse/IGNITE-14028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lukas Eder updated IGNITE-14028:
--------------------------------
    Description: 
Try this query:
{code:java}
CREATE TABLE t (i int PRIMARY KEY, j int);
SELECT count(*), count(DISTINCT i)
FROM t;{code}
I'm getting some sort of internal error, when running the above from DBeaver:
{noformat}
org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [1] [50000]: class org.apache.ignite.IgniteCheckedException: Index: 0, Size: 0org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [1] [50000]: class org.apache.ignite.IgniteCheckedException: Index: 0, Size: 0
 at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:133)
 at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:509)
 at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$0(SQLQueryJob.java:440)
 at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:168)
 at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:427)
 at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:812)
 at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:3180)
 at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:121)
 at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:168)
 at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:119)
 at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:4512)
 at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105)
 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.sql.SQLException: class org.apache.ignite.IgniteCheckedException: Index: 0, Size: 0
 at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:1004)
 at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:231)
 at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:559)
 at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:327)
 at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:130)
 ... 12 more{noformat}
A workaround:
{code:java}
SELECT count(1), count(DISTINCT i)
FROM t;{code}

  was:
Try this query:
{code:java}
CREATE TABLE t (i int PRIMARY KEY, j int);
SELECT count(*), count(DISTINCT i)
FROM t;{code}
I'm getting some sort of internal error, when running the above from DBeaver:
{noformat}
org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [1] [50000]: class org.apache.ignite.IgniteCheckedException: Index: 0, Size: 0org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [1] [50000]: class org.apache.ignite.IgniteCheckedException: Index: 0, Size: 0 at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:133) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:509) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$0(SQLQueryJob.java:440) at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:168) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:427) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:812) at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:3180) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:121) at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:168) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:119) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:4512) at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)Caused by: java.sql.SQLException: class org.apache.ignite.IgniteCheckedException: Index: 0, Size: 0 at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:1004) at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:231) at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:559) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:327) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:130) ... 12 more{noformat}
A workaround:
{code:java}
SELECT count(1), count(DISTINCT i)
FROM t;{code}


> Cannot combine COUNT(*) with COUNT(DISTINCT col) in a single query
> ------------------------------------------------------------------
>
>                 Key: IGNITE-14028
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14028
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 2.9.1
>            Reporter: Lukas Eder
>            Priority: Major
>
> Try this query:
> {code:java}
> CREATE TABLE t (i int PRIMARY KEY, j int);
> SELECT count(*), count(DISTINCT i)
> FROM t;{code}
> I'm getting some sort of internal error, when running the above from DBeaver:
> {noformat}
> org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [1] [50000]: class org.apache.ignite.IgniteCheckedException: Index: 0, Size: 0org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [1] [50000]: class org.apache.ignite.IgniteCheckedException: Index: 0, Size: 0
>  at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:133)
>  at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:509)
>  at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$0(SQLQueryJob.java:440)
>  at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:168)
>  at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:427)
>  at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:812)
>  at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:3180)
>  at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:121)
>  at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:168)
>  at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:119)
>  at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:4512)
>  at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105)
>  at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
> Caused by: java.sql.SQLException: class org.apache.ignite.IgniteCheckedException: Index: 0, Size: 0
>  at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:1004)
>  at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:231)
>  at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:559)
>  at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:327)
>  at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:130)
>  ... 12 more{noformat}
> A workaround:
> {code:java}
> SELECT count(1), count(DISTINCT i)
> FROM t;{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)