when using h2 database mode=MySQL ColumnMetaDataLoader.generateEmptyResultSQL get wrong result
See original GitHub issuewith shardingspere 4.1.0 or 4.1.1, spring.datasource.url=jdbc:h2:mem:db;MODE=MySQL;DB_CLOSE_DELAY=-1 the error is : Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table “t_order” not found; SQL statement: SELECT * FROM “t_order” WHERE 1 != 1; [42102-199] at org.h2.message.DbException.getJdbcSQLException(DbException.java:451) … … at org.apache.shardingsphere.sql.parser.binder.metadata.column.ColumnMetaDataLoader.load(ColumnMetaDataLoader.java:75) at org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaDataLoader.load(TableMetaDataLoader.java:46) at org.apache.shardingsphere.core.metadata.ShardingMetaDataLoader.load(ShardingMetaDataLoader.java:83) at org.apache.shardingsphere.core.metadata.ShardingMetaDataLoader.loadShardingSchemaMetaData(ShardingMetaDataLoader.java:134) at org.apache.shardingsphere.core.metadata.ShardingMetaDataLoader.load(ShardingMetaDataLoader.java:125) at org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext.loadSchemaMetaData(ShardingRuntimeContext.java:65)
in H2 MySQL compatible mode, should use ` for table or field name
Issue Analytics
- State:
- Created 3 years ago
- Comments:12 (8 by maintainers)
OK, I’ll try submit pull request this weekend, tks.
It seems like H2 decide to support both from 1.4.200. So, let’s change to 1.4.200 to resolve this problem. What do you think?