This is an automated email from the ASF dual-hosted git repository.
panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new bf5fa85 [SQL Definition Collation][Oracle]Collate the SQL definition
of SET ROLE (#9603)
bf5fa85 is described below
commit bf5fa85aad7b361e83b2e9c505ea67dc90cd54e6
Author: Liangda-w <[email protected]>
AuthorDate: Thu Mar 11 07:51:09 2021 +0100
[SQL Definition Collation][Oracle]Collate the SQL definition of SET ROLE
(#9603)
* [SQL Definition Collation][Oracle]Collate the SQL definition of SET ROLE
* add sql case and relevant files
* add new line at the end
* add more sql cases
* specify password grammar
* specify password grammar
* update IDENTIFIER_
---
.../src/main/antlr4/imports/oracle/BaseRule.g4 | 8 +++++
.../src/main/antlr4/imports/oracle/DCLStatement.g4 | 12 +++++++
.../src/main/antlr4/imports/oracle/Literals.g4 | 2 +-
.../main/antlr4/imports/oracle/OracleKeyword.g4 | 4 +++
.../src/main/antlr4/imports/oracle/Symbol.g4 | 1 +
.../sql/parser/autogen/OracleStatement.g4 | 1 +
.../impl/OracleDCLStatementSQLVisitor.java | 7 ++++
.../common/statement/dcl/SetRoleStatement.java} | 38 ++++----------------
.../oracle/dcl/OracleSetRoleStatement.java} | 41 ++++++----------------
.../asserts/statement/dcl/DCLStatementAssert.java | 6 ++--
.../statement/dcl/impl/SetRoleStatementAssert.java | 4 +--
.../src/main/resources/case/dcl/set-role.xml | 2 ++
.../main/resources/sql/supported/dcl/set-role.xml | 14 ++++----
13 files changed, 66 insertions(+), 74 deletions(-)
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/BaseRule.g4
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/BaseRule.g4
index 459ed3e..b91eb6b 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/BaseRule.g4
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/BaseRule.g4
@@ -139,6 +139,14 @@ name
: identifier
;
+roleName
+ : identifier
+ ;
+
+password
+ : identifier
+ ;
+
columnNames
: LP_? columnName (COMMA_ columnName)* RP_?
;
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/DCLStatement.g4
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/DCLStatement.g4
index c01b511..f0416b1 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/DCLStatement.g4
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/DCLStatement.g4
@@ -321,3 +321,15 @@ dropRole
alterRole
: ALTER ROLE
;
+
+setRole
+ : SET ROLE (roleAssignment | allClause | NONE)
+ ;
+
+roleAssignment
+ : roleName (IDENTIFIED BY password)? (COMMA_ roleName (IDENTIFIED BY
password)? )*
+ ;
+
+allClause
+ : ALL (EXCEPT roleName (COMMA_ roleName)*)?
+ ;
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Literals.g4
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Literals.g4
index bba78cb..9da6e08 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Literals.g4
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Literals.g4
@@ -20,7 +20,7 @@ lexer grammar Literals;
import Alphabet, Symbol;
IDENTIFIER_
- : [A-Za-z_$0-9]*?[A-Za-z_$]+?[A-Za-z_$0-9]*
+ : [A-Za-z]+[A-Za-z_$#0-9]*
| DQ_ ~'"'+ DQ_
;
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/OracleKeyword.g4
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/OracleKeyword.g4
index e11b0ad..2354c8b 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/OracleKeyword.g4
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/OracleKeyword.g4
@@ -231,6 +231,10 @@ END
: E N D
;
+EXCEPT
+ : E X C E P T
+ ;
+
EXCEPTIONS
: E X C E P T I O N S
;
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Symbol.g4
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Symbol.g4
index da742da..5a0d8f3 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Symbol.g4
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Symbol.g4
@@ -57,3 +57,4 @@ BQ_: '`';
QUESTION_: '?';
AT_: '@';
SEMI_: ';';
+DOLLAR_: '$';
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/OracleStatement.g4
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/OracleStatement.g4
index 09ddff1..84e0cfa 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/OracleStatement.g4
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/OracleStatement.g4
@@ -43,6 +43,7 @@ execute
| createRole
| dropRole
| alterRole
+ | setRole
| call
| merge
) SEMI_?
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDCLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDCLStatementSQLVisitor.java
index b3aa1d2..bfde2e7 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDCLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDCLStatementSQLVisitor.java
@@ -30,6 +30,7 @@ import
org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.DropUs
import
org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.GrantContext;
import
org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.ObjectPrivilegeClauseContext;
import
org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.RevokeContext;
+import
org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.SetRoleContext;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.dcl.OracleAlterRoleStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.dcl.OracleAlterUserStatement;
@@ -39,6 +40,7 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.dcl.Ora
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.dcl.OracleDropUserStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.dcl.OracleGrantStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.dcl.OracleRevokeStatement;
+import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.dcl.OracleSetRoleStatement;
import java.util.Collection;
import java.util.Collections;
@@ -109,4 +111,9 @@ public final class OracleDCLStatementSQLVisitor extends
OracleStatementSQLVisito
public ASTNode visitDropRole(final DropRoleContext ctx) {
return new OracleDropRoleStatement();
}
+
+ @Override
+ public ASTNode visitSetRole(final SetRoleContext ctx) {
+ return new OracleSetRoleStatement();
+ }
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Literals.g4
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dcl/SetRoleStatement.java
similarity index 61%
copy from
shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Literals.g4
copy to
shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dcl/SetRoleStatement.java
index bba78cb..4d12b11 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Literals.g4
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dcl/SetRoleStatement.java
@@ -15,36 +15,12 @@
* limitations under the License.
*/
-lexer grammar Literals;
+package org.apache.shardingsphere.sql.parser.sql.common.statement.dcl;
-import Alphabet, Symbol;
+import
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-IDENTIFIER_
- : [A-Za-z_$0-9]*?[A-Za-z_$]+?[A-Za-z_$0-9]*
- | DQ_ ~'"'+ DQ_
- ;
-
-STRING_
- : (DQ_ ( '\\'. | '""' | ~('"'| '\\') )* DQ_)
- | (SQ_ ('\\'. | '\'\'' | ~('\'' | '\\'))* SQ_)
- ;
-
-NUMBER_
- : INT_? DOT_? INT_ (E (PLUS_ | MINUS_)? INT_)?
- ;
-
-HEX_DIGIT_
- : '0x' HEX_+ | 'X' SQ_ HEX_+ SQ_
- ;
-
-BIT_NUM_
- : '0b' ('0' | '1')+ | B SQ_ ('0' | '1')+ SQ_
- ;
-
-fragment INT_
- : [0-9]+
- ;
-
-fragment HEX_
- : [0-9a-fA-F]
- ;
+/**
+ * Set role statement.
+ */
+public abstract class SetRoleStatement extends AbstractSQLStatement implements
DCLStatement {
+}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Literals.g4
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/dcl/OracleSetRoleStatement.java
similarity index 61%
copy from
shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Literals.g4
copy to
shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/dcl/OracleSetRoleStatement.java
index bba78cb..09f3605 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/Literals.g4
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/dcl/OracleSetRoleStatement.java
@@ -15,36 +15,15 @@
* limitations under the License.
*/
-lexer grammar Literals;
+package org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.dcl;
-import Alphabet, Symbol;
+import lombok.ToString;
+import
org.apache.shardingsphere.sql.parser.sql.common.statement.dcl.SetRoleStatement;
+import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.OracleStatement;
-IDENTIFIER_
- : [A-Za-z_$0-9]*?[A-Za-z_$]+?[A-Za-z_$0-9]*
- | DQ_ ~'"'+ DQ_
- ;
-
-STRING_
- : (DQ_ ( '\\'. | '""' | ~('"'| '\\') )* DQ_)
- | (SQ_ ('\\'. | '\'\'' | ~('\'' | '\\'))* SQ_)
- ;
-
-NUMBER_
- : INT_? DOT_? INT_ (E (PLUS_ | MINUS_)? INT_)?
- ;
-
-HEX_DIGIT_
- : '0x' HEX_+ | 'X' SQ_ HEX_+ SQ_
- ;
-
-BIT_NUM_
- : '0b' ('0' | '1')+ | B SQ_ ('0' | '1')+ SQ_
- ;
-
-fragment INT_
- : [0-9]+
- ;
-
-fragment HEX_
- : [0-9a-fA-F]
- ;
+/**
+ * Oracle set role statement.
+ */
+@ToString
+public final class OracleSetRoleStatement extends SetRoleStatement implements
OracleStatement {
+}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dcl/DCLStatementAssert.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dcl/DCLStatementAssert.java
index 2774445..6d6d1b0 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dcl/DCLStatementAssert.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dcl/DCLStatementAssert.java
@@ -28,10 +28,10 @@ import
org.apache.shardingsphere.sql.parser.sql.common.statement.dcl.DropRoleSta
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dcl.DropUserStatement;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dcl.GrantStatement;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dcl.RevokeStatement;
+import
org.apache.shardingsphere.sql.parser.sql.common.statement.dcl.SetRoleStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dcl.MySQLRenameUserStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dcl.MySQLSetDefaultRoleStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dcl.MySQLSetPasswordStatement;
-import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dcl.MySQLSetRoleStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.dcl.SQLServerAlterLoginStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.dcl.SQLServerCreateLoginStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.dcl.SQLServerDenyUserStatement;
@@ -111,8 +111,8 @@ public final class DCLStatementAssert {
AlterRoleStatementAssert.assertIs(assertContext,
(AlterRoleStatement) actual, (AlterRoleStatementTestCase) expected);
} else if (actual instanceof DropRoleStatement) {
DropRoleStatementAssert.assertIs(assertContext,
(DropRoleStatement) actual, (DropRoleStatementTestCase) expected);
- } else if (actual instanceof MySQLSetRoleStatement) {
- SetRoleStatementAssert.assertIs(assertContext,
(MySQLSetRoleStatement) actual, (SetRoleStatementTestCase) expected);
+ } else if (actual instanceof SetRoleStatement) {
+ SetRoleStatementAssert.assertIs(assertContext, (SetRoleStatement)
actual, (SetRoleStatementTestCase) expected);
} else if (actual instanceof MySQLSetDefaultRoleStatement) {
SetDefaultRoleStatementAssert.assertIs(assertContext,
(MySQLSetDefaultRoleStatement) actual, (SetDefaultRoleStatementTestCase)
expected);
} else if (actual instanceof MySQLSetPasswordStatement) {
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dcl/impl/SetRoleStatementAssert.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dcl/impl/SetRoleStatementAssert.java
index 9e0860f..4a6dc83 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dcl/impl/SetRoleStatementAssert.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dcl/impl/SetRoleStatementAssert.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dcl.MySQLSetRoleStatement;
+import
org.apache.shardingsphere.sql.parser.sql.common.statement.dcl.SetRoleStatement;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dcl.SetRoleStatementTestCase;
@@ -36,6 +36,6 @@ public final class SetRoleStatementAssert {
* @param actual actual set role statement
* @param expected expected set role statement test case
*/
- public static void assertIs(final SQLCaseAssertContext assertContext,
final MySQLSetRoleStatement actual, final SetRoleStatementTestCase expected) {
+ public static void assertIs(final SQLCaseAssertContext assertContext,
final SetRoleStatement actual, final SetRoleStatementTestCase expected) {
}
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/dcl/set-role.xml
b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/dcl/set-role.xml
index 7078f1e..efc16f4 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/dcl/set-role.xml
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/dcl/set-role.xml
@@ -19,7 +19,9 @@
<sql-parser-test-cases>
<set-role sql-case-id="set_role_default" />
<set-role sql-case-id="set_role" />
+ <set-role sql-case-id="set_role_identified_by_password" />
<set-role sql-case-id="set_roles" />
+ <set-role sql-case-id="set_roles_identified_by_passwords" />
<set-role sql-case-id="set_none_role" />
<set-role sql-case-id="set_all_role" />
<set-role sql-case-id="set_all_expect_role" />
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/dcl/set-role.xml
b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/dcl/set-role.xml
index 5539dc5..797b889 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/dcl/set-role.xml
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/dcl/set-role.xml
@@ -18,10 +18,12 @@
<sql-cases>
<sql-case id="set_role_default" value="SET ROLE DEFAULT" db-types="MySQL"
/>
- <sql-case id="set_role" value="SET ROLE role1" db-types="MySQL" />
- <sql-case id="set_roles" value="SET ROLE role1, role2" db-types="MySQL" />
- <sql-case id="set_none_role" value="SET ROLE NONE" db-types="MySQL" />
- <sql-case id="set_all_role" value="SET ROLE ALL" db-types="MySQL" />
- <sql-case id="set_all_expect_role" value="SET ROLE ALL EXCEPT role1"
db-types="MySQL" />
- <sql-case id="set_all_expect_roles" value="SET ROLE ALL EXCEPT role1,
role2" db-types="MySQL" />
+ <sql-case id="set_role" value="SET ROLE role1" db-types="MySQL,Oracle" />
+ <sql-case id="set_role_identified_by_password" value="SET ROLE role1
IDENTIFIED BY password1" db-types="Oracle" />
+ <sql-case id="set_roles" value="SET ROLE role1, role2"
db-types="MySQL,Oracle" />
+ <sql-case id="set_roles_identified_by_passwords" value="SET ROLE role1
IDENTIFIED BY password1, role2 IDENTIFIED BY password2" db-types="Oracle" />
+ <sql-case id="set_none_role" value="SET ROLE NONE" db-types="MySQL,Oracle"
/>
+ <sql-case id="set_all_role" value="SET ROLE ALL" db-types="MySQL,Oracle" />
+ <sql-case id="set_all_expect_role" value="SET ROLE ALL EXCEPT role1"
db-types="MySQL,Oracle" />
+ <sql-case id="set_all_expect_roles" value="SET ROLE ALL EXCEPT role1,
role2" db-types="MySQL,Oracle" />
</sql-cases>