test_class.declarator: connection
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Connection connection;
test_class.type: Connection
test_class.var_name: connection
test_class.declarator: preparedStatement
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private PreparedStatement preparedStatement;
test_class.type: PreparedStatement
test_class.var_name: preparedStatement
test_class.declarator: resultSet
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ResultSet resultSet;
test_class.type: ResultSet
test_class.var_name: resultSet
test_class.declarator: dataSources
test_class.modifier: private
test_class.original_string: private Collection<DataSource> dataSources;
test_class.type: Collection<DataSource>
test_class.var_name: dataSources
test_class.declarator: dataSourceChecker
test_class.modifier: private
test_class.original_string: private MySQLDataSourceChecker dataSourceChecker;
test_class.type: MySQLDataSourceChecker
test_class.var_name: dataSourceChecker
test_class.file: shardingsphere-scaling/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/MySQLDataSourceCheckerTest.java
test_class.identifier: MySQLDataSourceCheckerTest
test_case.body: @Test(expected = PrepareFailedException.class)
      public void assertCheckVariableWithWrongVariable() throws SQLException {
          when(resultSet.next()).thenReturn(true, true);
          when(resultSet.getString(2)).thenReturn("OFF", "ROW");
          dataSourceChecker.checkVariable(dataSources);
      }
test_case.class_method_signature: MySQLDataSourceCheckerTest.assertCheckVariableWithWrongVariable()
test_case.full_signature: @Test(expected = PrepareFailedException.class) public void assertCheckVariableWithWrongVariable()
test_case.identifier: assertCheckVariableWithWrongVariable
test_case.invocations: thenReturn when next thenReturn when getString checkVariable
test_case.modifiers: @Test(expected = PrepareFailedException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertCheckVariableWithWrongVariable()
focal_class.declarator: SHOW_GRANTS_SQL = "SHOW GRANTS"
focal_class.modifier: private static final
focal_class.original_string: private static final String SHOW_GRANTS_SQL = "SHOW GRANTS";
focal_class.type: String
focal_class.var_name: SHOW_GRANTS_SQL
focal_class.declarator: REQUIRED_PRIVILEGES = {{"ALL PRIVILEGES", "ON *.*"}, {"REPLICATION SLAVE", "REPLICATION CLIENT", "ON *.*"}}
focal_class.modifier: private static final
focal_class.original_string: private static final String[][] REQUIRED_PRIVILEGES = {{"ALL PRIVILEGES", "ON *.*"}, {"REPLICATION SLAVE", "REPLICATION CLIENT", "ON *.*"}};
focal_class.type: String[][]
focal_class.var_name: REQUIRED_PRIVILEGES
focal_class.declarator: SHOW_VARIABLES_SQL = "SHOW VARIABLES LIKE '%s'"
focal_class.modifier: private static final
focal_class.original_string: private static final String SHOW_VARIABLES_SQL = "SHOW VARIABLES LIKE '%s'";
focal_class.type: String
focal_class.var_name: SHOW_VARIABLES_SQL
focal_class.declarator: REQUIRED_VARIABLES = new HashMap<>(2)
focal_class.modifier: private static final
focal_class.original_string: private static final Map<String, String> REQUIRED_VARIABLES = new HashMap<>(2);
focal_class.type: Map<String, String>
focal_class.var_name: REQUIRED_VARIABLES
focal_class.file: shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/MySQLDataSourceChecker.java
focal_class.identifier: MySQLDataSourceChecker
focal_class.class_method_signature: MySQLDataSourceChecker.checkPrivilege(final Collection<? extends DataSource> dataSources)
focal_class.full_signature: @Override public void checkPrivilege(final Collection<? extends DataSource> dataSources)
focal_class.identifier: checkPrivilege
focal_class.modifiers: @Override public
focal_class.parameters: (final Collection<? extends DataSource> dataSources)
focal_class.return: void
focal_class.signature: void checkPrivilege(final Collection<? extends DataSource> dataSources)
focal_class.class_method_signature: MySQLDataSourceChecker.checkPrivilege(final DataSource dataSource)
focal_class.full_signature: private void checkPrivilege(final DataSource dataSource)
focal_class.identifier: checkPrivilege
focal_class.modifiers: private
focal_class.parameters: (final DataSource dataSource)
focal_class.return: void
focal_class.signature: void checkPrivilege(final DataSource dataSource)
focal_class.class_method_signature: MySQLDataSourceChecker.matchPrivileges(final String privilege)
focal_class.full_signature: private boolean matchPrivileges(final String privilege)
focal_class.identifier: matchPrivileges
focal_class.modifiers: private
focal_class.parameters: (final String privilege)
focal_class.return: boolean
focal_class.signature: boolean matchPrivileges(final String privilege)
focal_class.class_method_signature: MySQLDataSourceChecker.checkVariable(final Collection<? extends DataSource> dataSources)
focal_class.full_signature: @Override public void checkVariable(final Collection<? extends DataSource> dataSources)
focal_class.identifier: checkVariable
focal_class.modifiers: @Override public
focal_class.parameters: (final Collection<? extends DataSource> dataSources)
focal_class.return: void
focal_class.signature: void checkVariable(final Collection<? extends DataSource> dataSources)
focal_class.class_method_signature: MySQLDataSourceChecker.checkVariable(final DataSource dataSource)
focal_class.full_signature: private void checkVariable(final DataSource dataSource)
focal_class.identifier: checkVariable
focal_class.modifiers: private
focal_class.parameters: (final DataSource dataSource)
focal_class.return: void
focal_class.signature: void checkVariable(final DataSource dataSource)
focal_class.class_method_signature: MySQLDataSourceChecker.checkVariable(final Connection connection, final Entry<String, String> entry)
focal_class.full_signature: private void checkVariable(final Connection connection, final Entry<String, String> entry)
focal_class.identifier: checkVariable
focal_class.modifiers: private
focal_class.parameters: (final Connection connection, final Entry<String, String> entry)
focal_class.return: void
focal_class.signature: void checkVariable(final Connection connection, final Entry<String, String> entry)
focal_class.superclass: extends AbstractDataSourceChecker
focal_method.body: @Override
      public void checkVariable(final Collection<? extends DataSource> dataSources) {
          for (DataSource each : dataSources) {
              checkVariable(each);
          }
      }
focal_method.class_method_signature: MySQLDataSourceChecker.checkVariable(final Collection<? extends DataSource> dataSources)
focal_method.full_signature: @Override public void checkVariable(final Collection<? extends DataSource> dataSources)
focal_method.identifier: checkVariable
focal_method.invocations: checkVariable
focal_method.modifiers: @Override public
focal_method.parameters: (final Collection<? extends DataSource> dataSources)
focal_method.return: void
focal_method.signature: void checkVariable(final Collection<? extends DataSource> dataSources)