test_class.declarator: databaseCommunicationEngine
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private DatabaseCommunicationEngine databaseCommunicationEngine;
test_class.type: DatabaseCommunicationEngine
test_class.var_name: databaseCommunicationEngine
test_class.file: shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutorTest.java
test_class.identifier: MySQLComStmtExecuteExecutorTest
test_case.body: @Test
      public void assertIsQueryResponse() throws NoSuchFieldException, SQLException {
          BackendConnection backendConnection = mock(BackendConnection.class);
          when(backendConnection.getSchemaName()).thenReturn("schema");
          MySQLComStmtExecuteExecutor mysqlComStmtExecuteExecutor = new MySQLComStmtExecuteExecutor(mock(MySQLComStmtExecutePacket.class), backendConnection);
          FieldSetter.setField(mysqlComStmtExecuteExecutor, MySQLComStmtExecuteExecutor.class.getDeclaredField("databaseCommunicationEngine"), databaseCommunicationEngine);
          when(databaseCommunicationEngine.execute()).thenReturn(new QueryResponse(Collections.singletonList(mock(QueryHeader.class))));
          mysqlComStmtExecuteExecutor.execute();
          assertThat(mysqlComStmtExecuteExecutor.getResponseType(), is(ResponseType.QUERY));
      }
test_case.class_method_signature: MySQLComStmtExecuteExecutorTest.assertIsQueryResponse()
test_case.full_signature: @Test public void assertIsQueryResponse()
test_case.identifier: assertIsQueryResponse
test_case.invocations: mock thenReturn when getSchemaName mock setField getDeclaredField thenReturn when execute singletonList mock execute assertThat getResponseType is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertIsQueryResponse()
focal_class.declarator: databaseCommunicationEngine
focal_class.modifier: private final
focal_class.original_string: private final DatabaseCommunicationEngine databaseCommunicationEngine;
focal_class.type: DatabaseCommunicationEngine
focal_class.var_name: databaseCommunicationEngine
focal_class.declarator: responseType
focal_class.modifier: @Getter
      private volatile
focal_class.original_string: @Getter
      private volatile ResponseType responseType;
focal_class.type: ResponseType
focal_class.var_name: responseType
focal_class.declarator: currentSequenceId
focal_class.modifier: private
focal_class.original_string: private int currentSequenceId;
focal_class.type: int
focal_class.var_name: currentSequenceId
focal_class.file: shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutor.java
focal_class.identifier: MySQLComStmtExecuteExecutor
focal_class.interfaces: implements QueryCommandExecutor
focal_class.class_method_signature: MySQLComStmtExecuteExecutor.MySQLComStmtExecuteExecutor(final MySQLComStmtExecutePacket packet, final BackendConnection backendConnection)
focal_class.full_signature: public  MySQLComStmtExecuteExecutor(final MySQLComStmtExecutePacket packet, final BackendConnection backendConnection)
focal_class.identifier: MySQLComStmtExecuteExecutor
focal_class.modifiers: public
focal_class.parameters: (final MySQLComStmtExecutePacket packet, final BackendConnection backendConnection)
focal_class.signature:  MySQLComStmtExecuteExecutor(final MySQLComStmtExecutePacket packet, final BackendConnection backendConnection)
focal_class.class_method_signature: MySQLComStmtExecuteExecutor.execute()
focal_class.full_signature: @Override public Collection<DatabasePacket<?>> execute()
focal_class.identifier: execute
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Collection<DatabasePacket<?>>
focal_class.signature: Collection<DatabasePacket<?>> execute()
focal_class.class_method_signature: MySQLComStmtExecuteExecutor.processQuery(final QueryResponse queryResponse)
focal_class.full_signature: private Collection<DatabasePacket<?>> processQuery(final QueryResponse queryResponse)
focal_class.identifier: processQuery
focal_class.modifiers: private
focal_class.parameters: (final QueryResponse queryResponse)
focal_class.return: Collection<DatabasePacket<?>>
focal_class.signature: Collection<DatabasePacket<?>> processQuery(final QueryResponse queryResponse)
focal_class.class_method_signature: MySQLComStmtExecuteExecutor.processUpdate(final UpdateResponse updateResponse)
focal_class.full_signature: private Collection<DatabasePacket<?>> processUpdate(final UpdateResponse updateResponse)
focal_class.identifier: processUpdate
focal_class.modifiers: private
focal_class.parameters: (final UpdateResponse updateResponse)
focal_class.return: Collection<DatabasePacket<?>>
focal_class.signature: Collection<DatabasePacket<?>> processUpdate(final UpdateResponse updateResponse)
focal_class.class_method_signature: MySQLComStmtExecuteExecutor.next()
focal_class.full_signature: @Override public boolean next()
focal_class.identifier: next
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean next()
focal_class.class_method_signature: MySQLComStmtExecuteExecutor.getQueryData()
focal_class.full_signature: @Override public MySQLPacket getQueryData()
focal_class.identifier: getQueryData
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: MySQLPacket
focal_class.signature: MySQLPacket getQueryData()
focal_class.class_method_signature: MySQLComStmtExecuteExecutor.getMySQLColumnTypes(final QueryData queryData)
focal_class.full_signature: private List<MySQLColumnType> getMySQLColumnTypes(final QueryData queryData)
focal_class.identifier: getMySQLColumnTypes
focal_class.modifiers: private
focal_class.parameters: (final QueryData queryData)
focal_class.return: List<MySQLColumnType>
focal_class.signature: List<MySQLColumnType> getMySQLColumnTypes(final QueryData queryData)
focal_method.body: @Override
      public Collection<DatabasePacket<?>> execute() throws SQLException {
          if (ProxyContext.getInstance().getSchemaContexts().isCircuitBreak()) {
              throw new CircuitBreakException();
          }
          BackendResponse backendResponse = databaseCommunicationEngine.execute();
          return backendResponse instanceof QueryResponse ? processQuery((QueryResponse) backendResponse) : processUpdate((UpdateResponse) backendResponse);
      }
focal_method.class_method_signature: MySQLComStmtExecuteExecutor.execute()
focal_method.full_signature: @Override public Collection<DatabasePacket<?>> execute()
focal_method.identifier: execute
focal_method.invocations: isCircuitBreak getSchemaContexts getInstance execute processQuery processUpdate
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: Collection<DatabasePacket<?>>
focal_method.signature: Collection<DatabasePacket<?>> execute()