You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2022/10/10 04:31:50 UTC

[GitHub] [shardingsphere] linghengqian opened a new issue, #21442: How to execute RDL without `use` any existing database?

linghengqian opened a new issue, #21442:
URL: https://github.com/apache/shardingsphere/issues/21442

   ## Question
   
   **For English only**, other languages will not accept.
   
   Before asking a question, make sure you have:
   
   - Googled your question.
   - Searched open and closed [GitHub issues](https://github.com/apache/shardingsphere/issues).
   - Read documentation: [ShardingSphere Doc](https://shardingsphere.apache.org/document/current/en/overview).
   
   Please pay attention on issues you submitted, because we maybe need more details. 
   If no response anymore and we cannot reproduce it on current information, we will **close it**.
   
   - In the current https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/resource-definition/, which requires `Before adding resources, please confirm that a distributed database has been created, and execute the use command to successfully select a database;`. This means to people that when starting `ShardingSphere Proxy`, not only does the `server.yaml` need to exist, but at least one `config-*.yaml` needs to be created to define at least one data source.
   - ![image](https://user-images.githubusercontent.com/20187731/194799249-cd40c6ac-5c27-4586-b569-0ad7a7a752b2.png)
   
   - When using the Docker Image of https://github.com/apache/shardingsphere/pkgs/container/shardingsphere-proxy/44714726?tag=f4080b1b3ddcaa9eb15e87e50a6fb0d2fe2baa7f, if the RDL is directly executed, the following exception will appear on the server.
   
   ```
   [ERROR] 2022-10-10 04:20:53.273 [Connection-1-ThreadExecutor] o.a.s.p.f.c.CommandExecutorTask - Exception occur: 
   org.apache.calcite.runtime.CalciteContextException: At line 0, column 0: Object 'proc' not found within 'mysql'
   	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   	at jdk.internal.reflect.GeneratedConstructorAccessor29.newInstance(Unknown Source)
   	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
   	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
   	at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505)
   	at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:932)
   	at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:917)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5362)
   	at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:138)
   	at org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:188)
   	at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:89)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1107)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3381)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1078)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3360)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3697)
   	at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:64)
   	at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:248)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:759)
   	at org.apache.shardingsphere.sqlfederation.advanced.AdvancedSQLFederationExecutor.executeQuery(AdvancedSQLFederationExecutor.java:110)
   	at org.apache.shardingsphere.proxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine.doExecuteFederation(JDBCDatabaseCommunicationEngine.java:163)
   	at org.apache.shardingsphere.sqlfederation.advanced.AdvancedSQLFederationExecutor.execute(AdvancedSQLFederationExecutor.java:141)
   	at org.apache.shardingsphere.sqlfederation.optimizer.SQLOptimizeEngine.optimize(SQLOptimizeEngine.java:50)
   	at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:592)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:1053)
   	at org.apache.shardingsphere.proxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine.execute(JDBCDatabaseCommunicationEngine.java:121)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:111)
   	at org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor.execute(MySQLComQueryPacketExecutor.java:94)
   	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:78)
   	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
   	at java.base/java.lang.Thread.run(Thread.java:833)
   ```
   
   - I'm not quite sure if this is an expected behavior.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] linghengqian closed issue #21442: How to execute RDL without `use` any existing database?

Posted by GitBox <gi...@apache.org>.
linghengqian closed issue #21442: How to execute RDL without `use` any existing database?
URL: https://github.com/apache/shardingsphere/issues/21442


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] linghengqian commented on issue #21442: How to execute RDL without `use` any existing database?

Posted by GitBox <gi...@apache.org>.
linghengqian commented on issue #21442:
URL: https://github.com/apache/shardingsphere/issues/21442#issuecomment-1272988169

   - I found that this error log is actually caused by Jetbrains Datagrip, so this issue is first duplicated with https://github.com/apache/shardingsphere/issues/11994.
   - Also for the issue of not being able to execute RDL, I found that I was confused by a configuration. If I remove the following configuration in `server.yaml`, the error of `For input string: ""` will no longer pop up when executing SQL.
   ````yaml
   props:
         proxy-mysql-default-version: 5.6.51
   ````
   - Issues related to XA, this issue is a duplicate of https://github.com/apache/shardingsphere/issues/18894.
   - I will close this issue and separate out the real problem.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org