【详述】SHOW GRANTS FOR CURRENT_USER() 报错
【背景】
在metabase中添加starrocks作为数据库时报错,原因是无法执行 SHOW GRANTS FOR CURRENT_USER() 。
经过查询文档https://docs.starrocks.io/docs/sql-reference/sql-statements/account-management/SHOW_GRANTS/,4.1版本支持以下操作
SHOW GRANTS; -- View the privileges of the current user.
SHOW GRANTS FOR CURRENT_USER[()]; -- View the privileges of the current user (MySQL-compatible syntax).
SHOW GRANTS FOR ROLE <role_name>; -- View the privileges of a specific role.
SHOW GRANTS FOR <user_identity>; -- View the privileges of a specific user.
但实际测试直接在FE上执行SHOW GRANTS FOR CURRENT_USER(); 或 SHOW GRANTS FOR CURRENT_USER[()]; 报错:
SQL 错误 [1064] [42000]: Getting syntax error at line 2, column 16. Detail message: No viable statement for input 'SHOW GRANTS FOR CURRENT_USER'.
【业务影响】无/微弱
【是否存算分离】否
【StarRocks版本】4.1.0-4ee68c0
【集群规模】无关
【机器信息】无关
【联系方式】cyrasafia@gmail.com
【附件】
eclipse.buildId=unknown
java.version=26.0.1
java.vendor=Arch Linux
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=zh_CN
Command-line arguments: -os linux -ws gtk -arch x86_64
org.jkiss.dbeaver.model
Error
Wed Jul 15 16:52:31 CST 2026
SQL 错误 [1064] [42000]: Getting syntax error at line 2, column 16. Detail message: No viable statement for input 'SHOW GRANTS FOR CURRENT_USER'.
eclipse.buildId=unknown
java.version=26.0.1
java.vendor=Arch Linux
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=zh_CN
Command-line arguments: -os linux -ws gtk -arch x86_64
org.jkiss.dbeaver.model
Error
Wed Jul 15 16:52:31 CST 2026
Getting syntax error at line 2, column 16. Detail message: No viable statement for input 'SHOW GRANTS FOR CURRENT_USER'.
java.sql.SQLSyntaxErrorException: Getting syntax error at line 2, column 16. Detail message: No viable statement for input 'SHOW GRANTS FOR CURRENT_USER'.
at com.starrocks.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:112)
at com.starrocks.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:114)
at com.starrocks.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:851)
at com.starrocks.cj.jdbc.StatementImpl.execute(StatementImpl.java:697)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:340)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:141)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:716)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$executeSingleElement$1(SQLQueryJob.java:600)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:210)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleElement(SQLQueryJob.java:619)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:480)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:1120)
at org.jkiss.dbeaver.ui.editors.sql.QueryResultsContainer.readData(QueryResultsContainer.java:275)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$run$0(ResultSetJobDataRead.java:129)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:210)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:127)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5374)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:110)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)