Issue 1:
There is check-duplicate-table-enabled in global properties which for single table loading check, I think this is incorrect.

The logic table names can not same in same logic database.schema in ShardingSphere.

It should THROW EXCEPTION if the same single table name in same database.schema when ShardingSphere startup.

This is the basic rule in database system with database.schema.table should be unique. ShardingSphere should not break it.

Issue 2:
Which version of ShardingSphere did you use?

4.0.0-RC

Which project did you use? Sharding-JDBC or Sharding-Proxy?

Sharding-JDBC

Expected behavior

Logic SQL:

ALTER TABLE `WG_ORDER`
DROP COLUMN `COMMIT_ID`,
ADD INDEX `IDX_CREATE_DT` (`CREATE_DT` ASC);

i want (1) or (2)

=(1)= remove `

ADD INDEX IDX_CREATE_DT_WG_ORDER_1 (`CREATE_DT` ASC);

=(2)= without ds postfix as the orginal sql

ADD INDEX `IDX_CREATE_DT` (`CREATE_DT` ASC);

Actual behavior

ADD INDEX `IDX_CREATE_DT`_WG_ORDER_1 (`CREATE_DT` ASC);

java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '_WG_ORDER_0 (`CREATE_DT` ASC)' at line 3

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)

Reason analyze (If you can)

Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.

Example codes for reproduce this issue (such as a github link).

@Test
fun alterTable() {
val statement = datasource.connection.prepareStatement("""
ALTER TABLE `WG_ORDER`
DROP COLUMN `COMMIT_ID`,
ADD INDEX `IDX_CREATE_DT` (`CREATE_DT` ASC);
""".trimIndent())

val result = statement.executeUpdate()

2019-05-23 19:22:42.466 INFO 6868 --- [ main] ShardingSphere-SQL : Rule Type: sharding
2019-05-23 19:22:42.466 INFO 6868 --- [ main] ShardingSphere-SQL : Logic SQL: ALTER TABLE `WG_ORDER`
DROP COLUMN `COMMIT_ID`,
ADD INDEX `IDX_CREATE_DT` (`CREATE_DT` ASC);
2019-05-23 19:22:42.467 INFO 6868 --- [ main] ShardingSphere-SQL : SQLStatement: AbstractSQLStatement(type=DDL, tables=Tables(tables=[Table(name=WG_ORDER, alias=Optional.absent())]), routeConditions=Conditions(orCondition=OrCondition(andConditions=[])), encryptConditions=Conditions(orCondition=OrCondition(andConditions=[])), sqlTokens=[TableToken(tableName=WG_ORDER, quoteCharacter=BACK_QUOTE, schemaNameLength=0), IndexToken(stopIndex=72, tableName=WG_ORDER)], parametersIndex=0, logicSQL=ALTER TABLE `WG_ORDER`
DROP COLUMN `COMMIT_ID`,
ADD INDEX `IDX_CREATE_DT` (`CREATE_DT` ASC);)
2019-05-23 19:22:42.468 INFO 6868 --- [ main] ShardingSphere-SQL : Actual SQL: ds0 ::: ALTER TABLE `WG_ORDER_0`
DROP COLUMN `COMMIT_ID`,
ADD INDEX `IDX_CREATE_DT`_WG_ORDER_0 (`CREATE_DT` ASC);
2019-05-23 19:22:42.468 INFO 6868 --- [ main] ShardingSphere-SQL : Actual SQL: ds0 ::: ALTER TABLE `WG_ORDER_1`
DROP COLUMN `COMMIT_ID`,
ADD INDEX `IDX_CREATE_DT`_WG_ORDER_1 (`CREATE_DT` ASC);
2019-05-23 19:22:42.468 INFO 6868 --- [ main] ShardingSphere-SQL : Actual SQL: ds1 ::: ALTER TABLE `WG_ORDER_0`
DROP COLUMN `COMMIT_ID`,
ADD INDEX `IDX_CREATE_DT`_WG_ORDER_0 (`CREATE_DT` ASC);
2019-05-23 19:22:42.469 INFO 6868 --- [ main] ShardingSphere-SQL : Actual SQL: ds1 ::: ALTER TABLE `WG_ORDER_1`
DROP COLUMN `COMMIT_ID`,
ADD INDEX `IDX_CREATE_DT`_WG_ORDER_1 (`CREATE_DT` ASC);