未验证 提交 a42438ac 编写于 作者: L Liang Zhang 提交者: GitHub

Add create user statement (#4157)

* add abstract for DAL, DDL and TCL statement

* Add create user statement
上级 bd139756
......@@ -20,17 +20,17 @@ package org.apache.shardingsphere.core.shard;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.api.hint.HintManager;
import org.apache.shardingsphere.sharding.route.engine.context.ShardingRouteContext;
import org.apache.shardingsphere.sharding.route.engine.condition.ShardingCondition;
import org.apache.shardingsphere.sharding.route.engine.condition.ShardingConditions;
import org.apache.shardingsphere.underlying.route.context.RouteResult;
import org.apache.shardingsphere.underlying.route.context.RouteUnit;
import org.apache.shardingsphere.underlying.executor.context.ExecutionContext;
import org.apache.shardingsphere.sharding.route.engine.context.ShardingRouteContext;
import org.apache.shardingsphere.sql.parser.relation.statement.impl.CommonSQLStatementContext;
import org.apache.shardingsphere.sql.parser.sql.statement.dal.DALStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.dal.dialect.postgresql.ShowStatement;
import org.apache.shardingsphere.underlying.common.constant.properties.PropertiesConstant;
import org.apache.shardingsphere.underlying.common.constant.properties.ShardingSphereProperties;
import org.apache.shardingsphere.underlying.executor.context.ExecutionContext;
import org.apache.shardingsphere.underlying.executor.context.ExecutionUnit;
import org.apache.shardingsphere.underlying.route.context.RouteResult;
import org.apache.shardingsphere.underlying.route.context.RouteUnit;
import org.junit.Test;
import java.util.Collections;
......@@ -57,7 +57,7 @@ public abstract class BaseShardingEngineTest {
protected final ShardingRouteContext createSQLRouteContext() {
RouteResult routeResult = new RouteResult();
routeResult.getRouteUnits().add(new RouteUnit("ds"));
return new ShardingRouteContext(new CommonSQLStatementContext(new DALStatement()), routeResult, new ShardingConditions(Collections.<ShardingCondition>emptyList()));
return new ShardingRouteContext(new CommonSQLStatementContext(new ShowStatement()), routeResult, new ShardingConditions(Collections.<ShardingCondition>emptyList()));
}
protected final void assertExecutionContext(final ExecutionContext actual) {
......
......@@ -32,7 +32,7 @@ import org.apache.shardingsphere.sql.parser.relation.statement.impl.SelectSQLSta
import org.apache.shardingsphere.sql.parser.sql.segment.dml.column.ColumnSegment;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.column.InsertColumnsSegment;
import org.apache.shardingsphere.sql.parser.sql.segment.generic.TableSegment;
import org.apache.shardingsphere.sql.parser.sql.statement.dal.DALStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.dal.dialect.postgresql.ShowStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.dml.InsertStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.dml.SelectStatement;
import org.apache.shardingsphere.underlying.common.constant.properties.ShardingSphereProperties;
......@@ -60,7 +60,7 @@ public final class ShardingResultMergerEngineTest {
@Test
public void assertNewInstanceWithDALStatement() {
ShardingSphereProperties properties = new ShardingSphereProperties(new Properties());
SQLStatementContext sqlStatementContext = new CommonSQLStatementContext(new DALStatement());
SQLStatementContext sqlStatementContext = new CommonSQLStatementContext(new ShowStatement());
assertThat(new ShardingResultMergerEngine().newInstance(DatabaseTypes.getActualDatabaseType("MySQL"), null, properties, sqlStatementContext), instanceOf(ShardingDALResultMerger.class));
}
......
......@@ -50,7 +50,7 @@
<sql-case id="insert_with_blob_value" value="INSERT INTO t_blob_value_test(col1) VALUES(_BINARY'This is a binary value.')" db-types="MySQL" />
<sql-case id="insert_with_function" value="INSERT INTO t_order(current_date, order_id, user_id) VALUES (curdate(), ?, ?)" db-types="MySQL" />
<sql-case id="insert_with_unix_timestamp_function" value="INSERT INTO t_order(status, order_id, user_id) VALUES (unix_timestamp(?), ?, ?)" db-types="MySQL" />
<sql-case id="insert_with_aggregation_function_column_name" value="INSERT INTO t_order (order_id, user_id, count) VALUES (?, ?, ?)" db-types="SQLServer" />
<sql-case id="insert_with_aggregation_function_column_name" value="INSERT INTO t_order (order_id, user_id, count) VALUES (?, ?, ?)" db-types="SQLServer" />
<sql-case id="insert_with_str_to_date" value="INSERT INTO t_order(current_date, order_id, user_id) VALUES (str_to_date(?, '%Y-%m-%d'), ?, ?)" db-types="MySQL" />
<sql-case id="insert_on_duplicate_key_update_with_base64_aes_encrypt" value="INSERT INTO t_order SET order_id = ?, user_id = ?, status = convert(to_base64(aes_encrypt(?, 'key')) USING utf8) ON DUPLICATE KEY UPDATE status = VALUES(status)" db-types="MySQL" />
<sql-case id="insert_all_with_all_placeholders" value="INSERT ALL INTO t_order (order_id, user_id, status) VALUES (?, ?, ?) INTO t_order (order_id, user_id, status) VALUES (?, ?, ?) INTO t_order (order_id, user_id, status) VALUES (?, ?, ?) SELECT * FROM dual" db-types="Oracle"/>
......
......@@ -24,5 +24,5 @@ import org.apache.shardingsphere.sql.parser.sql.statement.generic.AbstractSQLSta
*
* @author zhangliang
*/
public class DALStatement extends AbstractSQLStatement {
public abstract class DALStatement extends AbstractSQLStatement {
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.sql.parser.sql.statement.dcl;
/**
* Create user statement.
*
* @author zhangliang
*/
public final class CreateUserStatement extends DCLStatement {
}
......@@ -24,5 +24,5 @@ import org.apache.shardingsphere.sql.parser.sql.statement.generic.AbstractSQLSta
*
* @author zhangliang
*/
public class DDLStatement extends AbstractSQLStatement {
public abstract class DDLStatement extends AbstractSQLStatement {
}
......@@ -25,5 +25,5 @@ import org.apache.shardingsphere.sql.parser.sql.statement.generic.AbstractSQLSta
* @author zhangliang
* @author maxiaoguang
*/
public class TCLStatement extends AbstractSQLStatement {
public abstract class TCLStatement extends AbstractSQLStatement {
}
......@@ -177,6 +177,7 @@ import org.apache.shardingsphere.sql.parser.sql.segment.generic.TableSegment;
import org.apache.shardingsphere.sql.parser.sql.segment.tcl.AutoCommitSegment;
import org.apache.shardingsphere.sql.parser.sql.statement.dal.dialect.mysql.ShowTableStatusStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.dal.dialect.mysql.UseStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.dcl.CreateUserStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.ddl.AlterTableStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.ddl.CreateIndexStatement;
......@@ -255,7 +256,7 @@ public final class MySQLVisitor extends MySQLStatementBaseVisitor<ASTNode> imple
// DCLStatement.g4
@Override
public ASTNode visitCreateUser(final CreateUserContext ctx) {
return new DCLStatement();
return new CreateUserStatement();
}
@Override
......
......@@ -39,7 +39,7 @@
<sql-statement-rule context="grant" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.GrantStatement" extractor-rule-refs="tables" />
<sql-statement-rule context="revoke" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.RevokeStatement" extractor-rule-refs="tables" />
<sql-statement-rule context="createUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="createUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.CreateUserStatement" />
<sql-statement-rule context="alterUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="dropUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="renameUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
......
......@@ -37,7 +37,7 @@
<sql-statement-rule context="grant" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.GrantStatement" extractor-rule-refs="table" />
<sql-statement-rule context="revoke" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.RevokeStatement" extractor-rule-refs="table" />
<sql-statement-rule context="createUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="createUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.CreateUserStatement" />
<sql-statement-rule context="alterUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="dropUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="createRole" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
......
......@@ -42,7 +42,7 @@
<sql-statement-rule context="grant" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.GrantStatement" extractor-rule-refs="tables" />
<sql-statement-rule context="revoke" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.RevokeStatement" extractor-rule-refs="tables" />
<sql-statement-rule context="createUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="createUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.CreateUserStatement" />
<sql-statement-rule context="alterUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="dropUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="createRole" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
......
......@@ -31,6 +31,5 @@
<sql-statement-rule context="rollback" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.tcl.RollbackStatement" />
<sql-statement-rule context="grant" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.GrantStatement" extractor-rule-refs="tables" />
<sql-statement-rule context="revoke" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" extractor-rule-refs="tables" />
<sql-statement-rule context="revoke" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.RevokeStatement" extractor-rule-refs="tables" />
</sql-statement-rule-definition>
......@@ -40,7 +40,7 @@
<sql-statement-rule context="grant" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.GrantStatement" extractor-rule-refs="table" />
<sql-statement-rule context="revoke" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.RevokeStatement" extractor-rule-refs="table" />
<sql-statement-rule context="deny" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" extractor-rule-refs="table" />
<sql-statement-rule context="createUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="createUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.CreateUserStatement" />
<sql-statement-rule context="alterUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="dropUser" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
<sql-statement-rule context="createLogin" sql-statement-class="org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement" />
......
......@@ -20,11 +20,14 @@ package org.apache.shardingsphere.sql.parser.integrate.asserts.statement.dcl;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.sql.parser.integrate.asserts.SQLCaseAssertContext;
import org.apache.shardingsphere.sql.parser.integrate.asserts.statement.dcl.impl.CreateUserStatementAssert;
import org.apache.shardingsphere.sql.parser.integrate.asserts.statement.dcl.impl.GrantStatementAssert;
import org.apache.shardingsphere.sql.parser.integrate.asserts.statement.dcl.impl.RevokeStatementAssert;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.SQLParserTestCase;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dcl.CreateUserStatementTestCase;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dcl.GrantStatementTestCase;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dcl.RevokeStatementTestCase;
import org.apache.shardingsphere.sql.parser.sql.statement.dcl.CreateUserStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.dcl.DCLStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.dcl.GrantStatement;
import org.apache.shardingsphere.sql.parser.sql.statement.dcl.RevokeStatement;
......@@ -49,6 +52,8 @@ public final class DCLStatementAssert {
GrantStatementAssert.assertIs(assertContext, (GrantStatement) actual, (GrantStatementTestCase) expected);
} else if (actual instanceof RevokeStatement) {
RevokeStatementAssert.assertIs(assertContext, (RevokeStatement) actual, (RevokeStatementTestCase) expected);
} else if (actual instanceof CreateUserStatement) {
CreateUserStatementAssert.assertIs(assertContext, (CreateUserStatement) actual, (CreateUserStatementTestCase) expected);
}
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.sql.parser.integrate.asserts.statement.dcl.impl;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.sql.parser.integrate.asserts.SQLCaseAssertContext;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dcl.CreateUserStatementTestCase;
import org.apache.shardingsphere.sql.parser.sql.statement.dcl.CreateUserStatement;
/**
* Create user statement assert.
*
* @author zhangliang
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class CreateUserStatementAssert {
/**
* Assert create user statement is correct with expected parser result.
*
* @param assertContext assert context
* @param actual actual create user statement
* @param expected expected create user statement test case
*/
public static void assertIs(final SQLCaseAssertContext assertContext, final CreateUserStatement actual, final CreateUserStatementTestCase expected) {
}
}
......@@ -28,6 +28,7 @@ import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dal.ShowSta
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dal.ShowTableStatusStatementTestCase;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dal.ShowTablesStatementTestCase;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dal.UseStatementTestCase;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dcl.CreateUserStatementTestCase;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dcl.GrantStatementTestCase;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dcl.RevokeStatementTestCase;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.ddl.AlterIndexStatementTestCase;
......@@ -121,6 +122,9 @@ public final class SQLParserTestCases {
@XmlElement(name = "revoke")
private final List<RevokeStatementTestCase> revokeTestCases = new LinkedList<>();
@XmlElement(name = "create-user")
private final List<CreateUserStatementTestCase> createUserTestCases = new LinkedList<>();
@XmlElement(name = "use")
private final List<UseStatementTestCase> useTestCases = new LinkedList<>();
......@@ -177,6 +181,7 @@ public final class SQLParserTestCases {
result.putAll(getSQLParserTestCases(savepointTestCases));
result.putAll(getSQLParserTestCases(grantTestCases));
result.putAll(getSQLParserTestCases(revokeTestCases));
result.putAll(getSQLParserTestCases(createUserTestCases));
result.putAll(getSQLParserTestCases(useTestCases));
result.putAll(getSQLParserTestCases(describeTestCases));
result.putAll(getSQLParserTestCases(showDatabasesTestCases));
......
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.dcl;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.statement.SQLParserTestCase;
/**
* Create user statement test case.
*
* @author zhangliang
*/
public final class CreateUserStatementTestCase extends SQLParserTestCase {
}
......@@ -18,13 +18,13 @@
<sql-parser-test-cases>
<common sql-case-id="alter_login_enable" />
<common sql-case-id="alter_login_set_password" />
<common sql-case-id="alter_login_set_password" />
<common sql-case-id="alter_login_set_hashed_password" />
<common sql-case-id="alter_login_set_password_with_old_password" />
<common sql-case-id="alter_login_set_password_with_old_password" />
<common sql-case-id="alter_login_set_default_database" />
<common sql-case-id="create_login_set_expired_password" />
<common sql-case-id="alter_login_add_credential" />
<common sql-case-id="alter_login_drop_credential" />
<common sql-case-id="alter_login_add_credential" />
<common sql-case-id="alter_login_drop_credential" />
<common sql-case-id="alter_login_unlock" />
<common sql-case-id="alter_login_rename" />
<common sql-case-id="alter_login_rename" />
</sql-parser-test-cases>
......@@ -18,24 +18,24 @@
<sql-parser-test-cases>
<common sql-case-id="alter_no_identified_role" />
<common sql-case-id="alter_external_role" />
<common sql-case-id="alter_external_role" />
<common sql-case-id="alter_global_role" />
<common sql-case-id="alter_role_with_password" />
<common sql-case-id="alter_role_with_password" />
<common sql-case-id="alter_role_with_container" />
<common sql-case-id="alter_role_with_password_postgresql" />
<common sql-case-id="alter_current_user_with_password" />
<common sql-case-id="alter_current_user_with_password" />
<common sql-case-id="alter_role_with_option" />
<common sql-case-id="alter_role_with_options" />
<common sql-case-id="alter_role_with_options" />
<common sql-case-id="rename_role" />
<common sql-case-id="alter_role_set_config" />
<common sql-case-id="alter_all_roles_set_config" />
<common sql-case-id="alter_all_roles_set_config" />
<common sql-case-id="alter_role_set_config_in_database" />
<common sql-case-id="alter_role_set_config_from_current_user" />
<common sql-case-id="alter_role_set_config_from_current_user" />
<common sql-case-id="alter_role_reset_config" />
<common sql-case-id="alter_all_roles_reset_config" />
<common sql-case-id="alter_role_reset_config_in_database" />
<common sql-case-id="alter_role_reset_config_in_database" />
<common sql-case-id="alter_role_reset_all_config" />
<common sql-case-id="alter_role_add_member" />
<common sql-case-id="alter_role_drop_member" />
<common sql-case-id="alter_role_drop_member" />
<common sql-case-id="alter_role_rename" />
</sql-parser-test-cases>
......@@ -18,16 +18,16 @@
<sql-parser-test-cases>
<common sql-case-id="create_role" />
<common sql-case-id="create_roles" />
<common sql-case-id="create_roles" />
<common sql-case-id="create_role_if_not_exists" />
<common sql-case-id="create_no_identified_role" />
<common sql-case-id="create_external_role" />
<common sql-case-id="create_external_role" />
<common sql-case-id="create_global_role" />
<common sql-case-id="create_role_with_password" />
<common sql-case-id="create_role_with_container" />
<common sql-case-id="create_role_with_role" />
<common sql-case-id="create_role_with_container" />
<common sql-case-id="create_role_with_role" />
<common sql-case-id="create_role_with_roles" />
<common sql-case-id="create_role_with_option" />
<common sql-case-id="create_role_with_options" />
<common sql-case-id="create_role_authorization" />
<common sql-case-id="create_role_with_options" />
<common sql-case-id="create_role_authorization" />
</sql-parser-test-cases>
......@@ -17,44 +17,44 @@
-->
<sql-parser-test-cases>
<common sql-case-id="create_user_with_hostname" />
<common sql-case-id="create_user_without_hostname" />
<common sql-case-id="create_user_identified_by_with_hostname" />
<common sql-case-id="create_user_identified_by_without_hostname" />
<common sql-case-id="create_user_identified_by_for" />
<common sql-case-id="create_user_password" />
<common sql-case-id="create_login" />
<common sql-case-id="create_role" />
<common sql-case-id="create_role_identified_by" />
<common sql-case-id="create_role_password" />
<common sql-case-id="create_user" />
<common sql-case-id="create_users" />
<common sql-case-id="create_user_if_not_exists" />
<common sql-case-id="create_local_user" />
<common sql-case-id="create_user_with_roles" />
<common sql-case-id="create_user_with_password_default_role" />
<common sql-case-id="create_user_with_resource_option" />
<common sql-case-id="create_user_with_resource_options" />
<common sql-case-id="create_user_with_password_option" />
<common sql-case-id="create_user_with_password_options" />
<common sql-case-id="create_user_with_lock_option" />
<common sql-case-id="create_user_with_options" />
<common sql-case-id="create_external_user" />
<common sql-case-id="create_global_user" />
<common sql-case-id="create_user_with_password" />
<common sql-case-id="create_user_with_tablespace" />
<common sql-case-id="create_role_with_container" />
<common sql-case-id="create_user_with_quota_option" />
<common sql-case-id="create_user_with_password_expire_lock" />
<common sql-case-id="create_user_only_with_name" />
<common sql-case-id="create_user_with_role_postgresql" />
<common sql-case-id="create_user_with_roles_postgresql" />
<common sql-case-id="create_user_with_password_postgresql" />
<common sql-case-id="create_user_with_option_postgresql" />
<common sql-case-id="create_user_with_options_postgresql" />
<common sql-case-id="create_user_with_login" />
<common sql-case-id="create_user_with_schema" />
<common sql-case-id="create_user_with_no_login" />
<common sql-case-id="create_user_with_certificate" />
<common sql-case-id="create_user_with_asym_key" />
<create-user sql-case-id="create_user_with_hostname" />
<create-user sql-case-id="create_user_without_hostname" />
<create-user sql-case-id="create_user_identified_by_with_hostname" />
<create-user sql-case-id="create_user_identified_by_without_hostname" />
<create-user sql-case-id="create_user_identified_by_for" />
<create-user sql-case-id="create_user_password" />
<create-user sql-case-id="create_login" />
<create-user sql-case-id="create_role" />
<create-user sql-case-id="create_role_identified_by" />
<create-user sql-case-id="create_role_password" />
<create-user sql-case-id="create_user" />
<create-user sql-case-id="create_users" />
<create-user sql-case-id="create_user_if_not_exists" />
<create-user sql-case-id="create_local_user" />
<create-user sql-case-id="create_user_with_roles" />
<create-user sql-case-id="create_user_with_password_default_role" />
<create-user sql-case-id="create_user_with_resource_option" />
<create-user sql-case-id="create_user_with_resource_options" />
<create-user sql-case-id="create_user_with_password_option" />
<create-user sql-case-id="create_user_with_password_options" />
<create-user sql-case-id="create_user_with_lock_option" />
<create-user sql-case-id="create_user_with_options" />
<create-user sql-case-id="create_external_user" />
<create-user sql-case-id="create_global_user" />
<create-user sql-case-id="create_user_with_password" />
<create-user sql-case-id="create_user_with_tablespace" />
<create-user sql-case-id="create_role_with_container" />
<create-user sql-case-id="create_user_with_quota_option" />
<create-user sql-case-id="create_user_with_password_expire_lock" />
<create-user sql-case-id="create_user_only_with_name" />
<create-user sql-case-id="create_user_with_role_postgresql" />
<create-user sql-case-id="create_user_with_roles_postgresql" />
<create-user sql-case-id="create_user_with_password_postgresql" />
<create-user sql-case-id="create_user_with_option_postgresql" />
<create-user sql-case-id="create_user_with_options_postgresql" />
<create-user sql-case-id="create_user_with_login" />
<create-user sql-case-id="create_user_with_schema" />
<create-user sql-case-id="create_user_with_no_login" />
<create-user sql-case-id="create_user_with_certificate" />
<create-user sql-case-id="create_user_with_asym_key" />
</sql-parser-test-cases>
......@@ -18,6 +18,6 @@
<sql-parser-test-cases>
<common sql-case-id="drop_role" />
<common sql-case-id="drop_roles" />
<common sql-case-id="drop_roles" />
<common sql-case-id="drop_role_if_exists" />
</sql-parser-test-cases>
......@@ -18,6 +18,6 @@
<sql-parser-test-cases>
<common sql-case-id="create_role" />
<common sql-case-id="create_roles" />
<common sql-case-id="create_roles" />
<common sql-case-id="create_role_if_not_exists" />
</sql-parser-test-cases>
......@@ -17,20 +17,20 @@
-->
<sql-parser-test-cases>
<common sql-case-id="create_user_with_hostname" />
<common sql-case-id="create_user_identified_by_with_hostname" />
<common sql-case-id="create_user" />
<common sql-case-id="create_users" />
<common sql-case-id="create_user_if_not_exists" />
<common sql-case-id="create_local_user" />
<common sql-case-id="create_user_with_roles" />
<common sql-case-id="create_user_with_password_default_role" />
<common sql-case-id="create_user_with_resource_option" />
<common sql-case-id="create_user_with_resource_options" />
<common sql-case-id="create_user_with_password_option" />
<common sql-case-id="create_user_with_password_options" />
<common sql-case-id="create_user_with_lock_option" />
<common sql-case-id="create_user_with_options" />
<common sql-case-id="create_user_with_password" />
<common sql-case-id="create_user_with_password_expire_lock" />
<create-user sql-case-id="create_user_with_hostname" />
<create-user sql-case-id="create_user_identified_by_with_hostname" />
<create-user sql-case-id="create_user" />
<create-user sql-case-id="create_users" />
<create-user sql-case-id="create_user_if_not_exists" />
<create-user sql-case-id="create_local_user" />
<create-user sql-case-id="create_user_with_roles" />
<create-user sql-case-id="create_user_with_password_default_role" />
<create-user sql-case-id="create_user_with_resource_option" />
<create-user sql-case-id="create_user_with_resource_options" />
<create-user sql-case-id="create_user_with_password_option" />
<create-user sql-case-id="create_user_with_password_options" />
<create-user sql-case-id="create_user_with_lock_option" />
<create-user sql-case-id="create_user_with_options" />
<create-user sql-case-id="create_user_with_password" />
<create-user sql-case-id="create_user_with_password_expire_lock" />
</sql-parser-test-cases>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册