gitextract_61vp_fxc/ ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug-report.md │ ├── new_feture.md │ └── others.md ├── .gitignore ├── .travis.yml ├── .vscode/ │ ├── launch.json │ └── settings.json ├── Dockerfile ├── LICENSE ├── README.md ├── README_Chinese.md ├── catlet/ │ └── readme.txt ├── eclipse-java-google-style.xml ├── intellij-java-google-style.xml ├── pom.xml ├── src/ │ ├── main/ │ │ ├── assembly/ │ │ │ ├── assembly-linux.xml │ │ │ ├── assembly-mac.xml │ │ │ ├── assembly-solaris.xml │ │ │ ├── assembly-testtool.xml │ │ │ ├── assembly-unix.xml │ │ │ ├── assembly-win.xml │ │ │ ├── conf/ │ │ │ │ └── log4j2.xml │ │ │ └── testtool/ │ │ │ ├── test_globalseq_insert_perf.bat │ │ │ ├── test_globaltable_insert_perf.bat │ │ │ ├── test_globaltable_insert_perf.sh │ │ │ ├── test_stand_insert_perf.bat │ │ │ ├── test_stand_insert_perf.sh │ │ │ ├── test_stand_merge_sel_perf.bat │ │ │ ├── test_stand_merge_sel_perf.sh │ │ │ ├── test_stand_select_perf.bat │ │ │ ├── test_stand_select_perf.sh │ │ │ ├── test_stand_update_perf.bat │ │ │ └── test_stand_update_perf.sh │ │ ├── java/ │ │ │ └── io/ │ │ │ └── mycat/ │ │ │ ├── MycatServer.java │ │ │ ├── MycatShutdown.java │ │ │ ├── MycatStartup.java │ │ │ ├── backend/ │ │ │ │ ├── BackendConnection.java │ │ │ │ ├── ConMap.java │ │ │ │ ├── ConQueue.java │ │ │ │ ├── ConnectionMeta.java │ │ │ │ ├── datasource/ │ │ │ │ │ ├── PhysicalDBNode.java │ │ │ │ │ ├── PhysicalDBPool.java │ │ │ │ │ └── PhysicalDatasource.java │ │ │ │ ├── heartbeat/ │ │ │ │ │ ├── ConsistenCollectHandler.java │ │ │ │ │ ├── DBHeartbeat.java │ │ │ │ │ ├── MySQLConsistencyChecker.java │ │ │ │ │ ├── MySQLConsistencyCheckerHandler.java │ │ │ │ │ ├── MySQLConsistencyHelper.java │ │ │ │ │ ├── MySQLDetector.java │ │ │ │ │ ├── MySQLHeartbeat.java │ │ │ │ │ └── zkprocess/ │ │ │ │ │ ├── ManageHeartBeatChange.java │ │ │ │ │ ├── MycatLeaderLatch.java │ │ │ │ │ └── SwitchStatueToZK.java │ │ │ │ ├── jdbc/ │ │ │ │ │ ├── JDBCConnection.java │ │ │ │ │ ├── JDBCDatasource.java │ │ │ │ │ ├── JDBCHeartbeat.java │ │ │ │ │ ├── ShowVariables.java │ │ │ │ │ ├── mongodb/ │ │ │ │ │ │ ├── DriverPropertyInfoHelper.java │ │ │ │ │ │ ├── MongoClientPropertyHelper.java │ │ │ │ │ │ ├── MongoConnection.java │ │ │ │ │ │ ├── MongoData.java │ │ │ │ │ │ ├── MongoDriver.java │ │ │ │ │ │ ├── MongoEmbeddedObjectProcessor.java │ │ │ │ │ │ ├── MongoPreparedStatement.java │ │ │ │ │ │ ├── MongoResultSet.java │ │ │ │ │ │ ├── MongoResultSetMetaData.java │ │ │ │ │ │ ├── MongoSQLException.java │ │ │ │ │ │ ├── MongoSQLParser.java │ │ │ │ │ │ ├── MongoStatement.java │ │ │ │ │ │ └── StringUtils.java │ │ │ │ │ └── sequoiadb/ │ │ │ │ │ ├── DriverPropertyInfoHelper.java │ │ │ │ │ ├── SequoiaConnection.java │ │ │ │ │ ├── SequoiaData.java │ │ │ │ │ ├── SequoiaDriver.java │ │ │ │ │ ├── SequoiaPreparedStatement.java │ │ │ │ │ ├── SequoiaResultSet.java │ │ │ │ │ ├── SequoiaResultSetMetaData.java │ │ │ │ │ ├── SequoiaSQLException.java │ │ │ │ │ ├── SequoiaSQLParser.java │ │ │ │ │ ├── SequoiaStatement.java │ │ │ │ │ └── StringUtils.java │ │ │ │ ├── loadbalance/ │ │ │ │ │ ├── LeastActiveLoadBalance.java │ │ │ │ │ ├── LoadBalance.java │ │ │ │ │ ├── RandomLoadBalance.java │ │ │ │ │ └── WeightedRoundRobinLoadBalance.java │ │ │ │ ├── mysql/ │ │ │ │ │ ├── BindValue.java │ │ │ │ │ ├── BindValueUtil.java │ │ │ │ │ ├── BufferUtil.java │ │ │ │ │ ├── ByteUtil.java │ │ │ │ │ ├── CharsetUtil.java │ │ │ │ │ ├── DataType.java │ │ │ │ │ ├── LoadDataUtil.java │ │ │ │ │ ├── MySQLMessage.java │ │ │ │ │ ├── PacketUtil.java │ │ │ │ │ ├── PreparedStatement.java │ │ │ │ │ ├── SecurityUtil.java │ │ │ │ │ ├── StreamUtil.java │ │ │ │ │ ├── listener/ │ │ │ │ │ │ ├── DefaultSqlExecuteStageListener.java │ │ │ │ │ │ ├── SqlExecuteStage.java │ │ │ │ │ │ └── SqlExecuteStageListener.java │ │ │ │ │ ├── nio/ │ │ │ │ │ │ ├── MySQLConnection.java │ │ │ │ │ │ ├── MySQLConnectionAuthenticator.java │ │ │ │ │ │ ├── MySQLConnectionFactory.java │ │ │ │ │ │ ├── MySQLConnectionHandler.java │ │ │ │ │ │ ├── MySQLDataSource.java │ │ │ │ │ │ └── handler/ │ │ │ │ │ │ ├── CommitNodeHandler.java │ │ │ │ │ │ ├── ConnectionHeartBeatHandler.java │ │ │ │ │ │ ├── DelegateResponseHandler.java │ │ │ │ │ │ ├── FetchStoreNodeOfChildTableHandler.java │ │ │ │ │ │ ├── GetConnectionHandler.java │ │ │ │ │ │ ├── JDBCFetchStoreNodeOfChildTableHandler.java │ │ │ │ │ │ ├── KillConnectionHandler.java │ │ │ │ │ │ ├── LoadDataResponseHandler.java │ │ │ │ │ │ ├── LockTablesHandler.java │ │ │ │ │ │ ├── MiddlerQueryResultHandler.java │ │ │ │ │ │ ├── MiddlerResultHandler.java │ │ │ │ │ │ ├── MultiNodeCoordinator.java │ │ │ │ │ │ ├── MultiNodeHandler.java │ │ │ │ │ │ ├── MultiNodeQueryHandler.java │ │ │ │ │ │ ├── NewConnectionRespHandler.java │ │ │ │ │ │ ├── PrepareRequestHandler.java │ │ │ │ │ │ ├── ResponseHandler.java │ │ │ │ │ │ ├── RollbackNodeHandler.java │ │ │ │ │ │ ├── RollbackReleaseHandler.java │ │ │ │ │ │ ├── SecondHandler.java │ │ │ │ │ │ ├── SecondQueryHandler.java │ │ │ │ │ │ ├── SimpleLogHandler.java │ │ │ │ │ │ ├── SingleNodeHandler.java │ │ │ │ │ │ ├── Terminatable.java │ │ │ │ │ │ └── UnLockTablesHandler.java │ │ │ │ │ └── xa/ │ │ │ │ │ ├── CoordinatorLogEntry.java │ │ │ │ │ ├── Deserializer.java │ │ │ │ │ ├── LogFileLock.java │ │ │ │ │ ├── ParticipantLogEntry.java │ │ │ │ │ ├── Serializer.java │ │ │ │ │ ├── TxState.java │ │ │ │ │ ├── VersionedFile.java │ │ │ │ │ ├── XACommitCallback.java │ │ │ │ │ ├── XARollbackCallback.java │ │ │ │ │ └── recovery/ │ │ │ │ │ ├── DeserialisationException.java │ │ │ │ │ ├── LogException.java │ │ │ │ │ ├── LogReadException.java │ │ │ │ │ ├── LogWriteException.java │ │ │ │ │ ├── Repository.java │ │ │ │ │ └── impl/ │ │ │ │ │ ├── FileSystemRepository.java │ │ │ │ │ └── InMemoryRepository.java │ │ │ │ └── postgresql/ │ │ │ │ ├── PostgreSQLBackendConnection.java │ │ │ │ ├── PostgreSQLBackendConnectionFactory.java │ │ │ │ ├── PostgreSQLBackendConnectionHandler.java │ │ │ │ ├── PostgreSQLDataSource.java │ │ │ │ ├── heartbeat/ │ │ │ │ │ ├── PostgreSQLDetector.java │ │ │ │ │ └── PostgreSQLHeartbeat.java │ │ │ │ ├── package-info.java │ │ │ │ ├── packet/ │ │ │ │ │ ├── AuthenticationPacket.java │ │ │ │ │ ├── BackendKeyData.java │ │ │ │ │ ├── Bind.java │ │ │ │ │ ├── BindComplete.java │ │ │ │ │ ├── CancelRequest.java │ │ │ │ │ ├── CommandComplete.java │ │ │ │ │ ├── CopyInResponse.java │ │ │ │ │ ├── CopyOutResponse.java │ │ │ │ │ ├── DataRow.java │ │ │ │ │ ├── EmptyQueryResponse.java │ │ │ │ │ ├── ErrorResponse.java │ │ │ │ │ ├── NoticeResponse.java │ │ │ │ │ ├── NotificationResponse.java │ │ │ │ │ ├── ParameterDescription.java │ │ │ │ │ ├── ParameterStatus.java │ │ │ │ │ ├── Parse.java │ │ │ │ │ ├── ParseComplete.java │ │ │ │ │ ├── PasswordMessage.java │ │ │ │ │ ├── PostgreSQLPacket.java │ │ │ │ │ ├── Query.java │ │ │ │ │ ├── ReadyForQuery.java │ │ │ │ │ ├── RowDescription.java │ │ │ │ │ ├── SSLRequest.java │ │ │ │ │ ├── StartupMessage.java │ │ │ │ │ └── Terminate.java │ │ │ │ └── utils/ │ │ │ │ ├── MD5Digest.java │ │ │ │ ├── PIOUtils.java │ │ │ │ ├── PacketUtils.java │ │ │ │ ├── PgPacketApaterUtils.java │ │ │ │ └── PgSqlApaterUtils.java │ │ │ ├── buffer/ │ │ │ │ ├── BufferArray.java │ │ │ │ ├── BufferPool.java │ │ │ │ ├── ByteBufferArena.java │ │ │ │ ├── ByteBufferChunk.java │ │ │ │ ├── ByteBufferChunkList.java │ │ │ │ ├── ByteBufferPage.java │ │ │ │ ├── DirectByteBufferPool.java │ │ │ │ ├── MyCatMemoryAllocator.java │ │ │ │ └── NettyBufferPool.java │ │ │ ├── cache/ │ │ │ │ ├── CachePool.java │ │ │ │ ├── CachePoolFactory.java │ │ │ │ ├── CacheService.java │ │ │ │ ├── CacheStatic.java │ │ │ │ ├── DefaultLayedCachePool.java │ │ │ │ ├── LayerCachePool.java │ │ │ │ ├── MysqlDataSetCache.java │ │ │ │ ├── MysqlDataSetService.java │ │ │ │ ├── impl/ │ │ │ │ │ ├── EnchachePooFactory.java │ │ │ │ │ ├── EnchachePool.java │ │ │ │ │ ├── LevelDBCachePooFactory.java │ │ │ │ │ ├── LevelDBPool.java │ │ │ │ │ ├── MapDBCachePooFactory.java │ │ │ │ │ └── MapDBCachePool.java │ │ │ │ └── index/ │ │ │ │ └── Shard.java │ │ │ ├── catlets/ │ │ │ │ ├── Catlet.java │ │ │ │ ├── JoinParser.java │ │ │ │ ├── ShareJoin.java │ │ │ │ └── TableFilter.java │ │ │ ├── config/ │ │ │ │ ├── Alarms.java │ │ │ │ ├── Capabilities.java │ │ │ │ ├── ConfigInitializer.java │ │ │ │ ├── ErrorCode.java │ │ │ │ ├── Fields.java │ │ │ │ ├── Isolations.java │ │ │ │ ├── MycatCluster.java │ │ │ │ ├── MycatConfig.java │ │ │ │ ├── MycatNode.java │ │ │ │ ├── MycatPrivileges.java │ │ │ │ ├── Versions.java │ │ │ │ ├── Versions.template │ │ │ │ ├── classloader/ │ │ │ │ │ ├── DynaClassLoader.java │ │ │ │ │ └── JarLoader.java │ │ │ │ ├── loader/ │ │ │ │ │ ├── ConfigLoader.java │ │ │ │ │ ├── SchemaLoader.java │ │ │ │ │ ├── console/ │ │ │ │ │ │ └── ZookeeperPath.java │ │ │ │ │ ├── xml/ │ │ │ │ │ │ ├── XMLConfigLoader.java │ │ │ │ │ │ ├── XMLRuleLoader.java │ │ │ │ │ │ ├── XMLSchemaLoader.java │ │ │ │ │ │ └── XMLServerLoader.java │ │ │ │ │ └── zkprocess/ │ │ │ │ │ ├── comm/ │ │ │ │ │ │ ├── NotiflyService.java │ │ │ │ │ │ ├── ZkConfig.java │ │ │ │ │ │ ├── ZkParamCfg.java │ │ │ │ │ │ └── ZookeeperProcessListen.java │ │ │ │ │ ├── console/ │ │ │ │ │ │ ├── ParseParamEnum.java │ │ │ │ │ │ └── ZkNofiflyCfg.java │ │ │ │ │ ├── entity/ │ │ │ │ │ │ ├── Named.java │ │ │ │ │ │ ├── Propertied.java │ │ │ │ │ │ ├── Property.java │ │ │ │ │ │ ├── Rules.java │ │ │ │ │ │ ├── Schemas.java │ │ │ │ │ │ ├── Server.java │ │ │ │ │ │ ├── cache/ │ │ │ │ │ │ │ ├── CacheInfo.java │ │ │ │ │ │ │ └── Ehcache.java │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ ├── rule/ │ │ │ │ │ │ │ ├── function/ │ │ │ │ │ │ │ │ └── Function.java │ │ │ │ │ │ │ └── tablerule/ │ │ │ │ │ │ │ ├── Rule.java │ │ │ │ │ │ │ └── TableRule.java │ │ │ │ │ │ ├── schema/ │ │ │ │ │ │ │ ├── datahost/ │ │ │ │ │ │ │ │ ├── DataHost.java │ │ │ │ │ │ │ │ ├── ReadHost.java │ │ │ │ │ │ │ │ └── WriteHost.java │ │ │ │ │ │ │ ├── datanode/ │ │ │ │ │ │ │ │ └── DataNode.java │ │ │ │ │ │ │ └── schema/ │ │ │ │ │ │ │ ├── ChildTable.java │ │ │ │ │ │ │ ├── Schema.java │ │ │ │ │ │ │ └── Table.java │ │ │ │ │ │ └── server/ │ │ │ │ │ │ ├── System.java │ │ │ │ │ │ └── user/ │ │ │ │ │ │ └── User.java │ │ │ │ │ ├── parse/ │ │ │ │ │ │ ├── JsonProcessBase.java │ │ │ │ │ │ ├── ParseJsonServiceInf.java │ │ │ │ │ │ ├── ParseXmlServiceInf.java │ │ │ │ │ │ ├── XmlProcessBase.java │ │ │ │ │ │ └── entryparse/ │ │ │ │ │ │ ├── cache/ │ │ │ │ │ │ │ ├── json/ │ │ │ │ │ │ │ │ └── EhcacheJsonParse.java │ │ │ │ │ │ │ └── xml/ │ │ │ │ │ │ │ └── EhcacheParseXmlImpl.java │ │ │ │ │ │ ├── rule/ │ │ │ │ │ │ │ ├── json/ │ │ │ │ │ │ │ │ ├── FunctionJsonParse.java │ │ │ │ │ │ │ │ └── TableRuleJsonParse.java │ │ │ │ │ │ │ └── xml/ │ │ │ │ │ │ │ └── RuleParseXmlImpl.java │ │ │ │ │ │ ├── schema/ │ │ │ │ │ │ │ ├── json/ │ │ │ │ │ │ │ │ ├── DataHostJsonParse.java │ │ │ │ │ │ │ │ ├── DataNodeJsonParse.java │ │ │ │ │ │ │ │ └── SchemaJsonParse.java │ │ │ │ │ │ │ └── xml/ │ │ │ │ │ │ │ └── SchemasParseXmlImpl.java │ │ │ │ │ │ └── server/ │ │ │ │ │ │ ├── json/ │ │ │ │ │ │ │ ├── SystemJsonParse.java │ │ │ │ │ │ │ └── UserJsonParse.java │ │ │ │ │ │ └── xml/ │ │ │ │ │ │ └── ServerParseXmlImpl.java │ │ │ │ │ ├── xmltozk/ │ │ │ │ │ │ ├── BindataToZK.java │ │ │ │ │ │ ├── XmltoZkMain.java │ │ │ │ │ │ └── listen/ │ │ │ │ │ │ ├── EcachesxmlTozkLoader.java │ │ │ │ │ │ ├── OthermsgTozkLoader.java │ │ │ │ │ │ ├── RulesxmlTozkLoader.java │ │ │ │ │ │ ├── SchemasxmlTozkLoader.java │ │ │ │ │ │ ├── SequenceTozkLoader.java │ │ │ │ │ │ └── ServerxmlTozkLoader.java │ │ │ │ │ ├── zktoxml/ │ │ │ │ │ │ ├── ZktoXmlMain.java │ │ │ │ │ │ ├── command/ │ │ │ │ │ │ │ └── CommandPathListener.java │ │ │ │ │ │ └── listen/ │ │ │ │ │ │ ├── BinDataPathChildrenCacheListener.java │ │ │ │ │ │ ├── EcacheszkToxmlLoader.java │ │ │ │ │ │ ├── RuleDataPathChildrenCacheListener.java │ │ │ │ │ │ ├── RuleFunctionCacheListener.java │ │ │ │ │ │ ├── RuleszkToxmlLoader.java │ │ │ │ │ │ ├── SchemaszkToxmlLoader.java │ │ │ │ │ │ ├── SequenceTopropertiesLoader.java │ │ │ │ │ │ └── ServerzkToxmlLoader.java │ │ │ │ │ └── zookeeper/ │ │ │ │ │ ├── ClusterInfo.java │ │ │ │ │ ├── DataInf.java │ │ │ │ │ ├── DiretoryInf.java │ │ │ │ │ └── process/ │ │ │ │ │ ├── ZkDataImpl.java │ │ │ │ │ ├── ZkDirectoryImpl.java │ │ │ │ │ └── ZkMultLoader.java │ │ │ │ ├── model/ │ │ │ │ │ ├── ClusterConfig.java │ │ │ │ │ ├── DBHostConfig.java │ │ │ │ │ ├── DataHostConfig.java │ │ │ │ │ ├── DataNodeConfig.java │ │ │ │ │ ├── FirewallConfig.java │ │ │ │ │ ├── MycatNodeConfig.java │ │ │ │ │ ├── SchemaConfig.java │ │ │ │ │ ├── SystemConfig.java │ │ │ │ │ ├── TableConfig.java │ │ │ │ │ ├── TableConfigMap.java │ │ │ │ │ ├── TableRuleConfig.java │ │ │ │ │ ├── UserConfig.java │ │ │ │ │ ├── UserPrivilegesConfig.java │ │ │ │ │ └── rule/ │ │ │ │ │ ├── RuleAlgorithm.java │ │ │ │ │ ├── RuleConfig.java │ │ │ │ │ └── TableRuleConfig.java │ │ │ │ ├── table/ │ │ │ │ │ └── structure/ │ │ │ │ │ ├── MySQLTableStructureDetector.java │ │ │ │ │ └── TableStructureProcessor.java │ │ │ │ └── util/ │ │ │ │ ├── BeanConfig.java │ │ │ │ ├── ConfigException.java │ │ │ │ ├── ConfigUtil.java │ │ │ │ ├── DnPropertyUtil.java │ │ │ │ ├── FieldDictionary.java │ │ │ │ ├── Initializable.java │ │ │ │ ├── JVMInfo.java │ │ │ │ ├── ObjectAccessException.java │ │ │ │ ├── OrderRetainingMap.java │ │ │ │ ├── ParameterMapping.java │ │ │ │ ├── ReflectionProvider.java │ │ │ │ └── Visitor.java │ │ │ ├── manager/ │ │ │ │ ├── ManagerConnection.java │ │ │ │ ├── ManagerConnectionFactory.java │ │ │ │ ├── ManagerQueryHandler.java │ │ │ │ ├── handler/ │ │ │ │ │ ├── ClearHandler.java │ │ │ │ │ ├── ConfFileHandler.java │ │ │ │ │ ├── ReloadHandler.java │ │ │ │ │ ├── RollbackHandler.java │ │ │ │ │ ├── SelectHandler.java │ │ │ │ │ ├── ShowHandler.java │ │ │ │ │ ├── ShowServerLog.java │ │ │ │ │ ├── StopHandler.java │ │ │ │ │ ├── SwitchHandler.java │ │ │ │ │ └── ZKHandler.java │ │ │ │ └── response/ │ │ │ │ ├── CheckGlobalTable.java │ │ │ │ ├── ClearSlow.java │ │ │ │ ├── KillConnection.java │ │ │ │ ├── Offline.java │ │ │ │ ├── Online.java │ │ │ │ ├── ReloadConfig.java │ │ │ │ ├── ReloadQueryCf.java │ │ │ │ ├── ReloadSqlSlowTime.java │ │ │ │ ├── ReloadSqlStat.java │ │ │ │ ├── ReloadUser.java │ │ │ │ ├── ReloadUserStat.java │ │ │ │ ├── ReloadZktoXml.java │ │ │ │ ├── RollbackConfig.java │ │ │ │ ├── RollbackUser.java │ │ │ │ ├── SelectSessionAutoIncrement.java │ │ │ │ ├── SelectSessionTxReadOnly.java │ │ │ │ ├── SelectVersionComment.java │ │ │ │ ├── ShowBackend.java │ │ │ │ ├── ShowBackendOld.java │ │ │ │ ├── ShowCollation.java │ │ │ │ ├── ShowCommand.java │ │ │ │ ├── ShowConnection.java │ │ │ │ ├── ShowConnectionSQL.java │ │ │ │ ├── ShowDataNode.java │ │ │ │ ├── ShowDataSource.java │ │ │ │ ├── ShowDatabase.java │ │ │ │ ├── ShowDatasourceCluster.java │ │ │ │ ├── ShowDatasourceSyn.java │ │ │ │ ├── ShowDatasourceSynDetail.java │ │ │ │ ├── ShowDirectMemory.java │ │ │ │ ├── ShowHeartbeat.java │ │ │ │ ├── ShowHeartbeatDetail.java │ │ │ │ ├── ShowHelp.java │ │ │ │ ├── ShowParser.java │ │ │ │ ├── ShowProcessor.java │ │ │ │ ├── ShowRouter.java │ │ │ │ ├── ShowSQL.java │ │ │ │ ├── ShowSQLCondition.java │ │ │ │ ├── ShowSQLDetail.java │ │ │ │ ├── ShowSQLExecute.java │ │ │ │ ├── ShowSQLHigh.java │ │ │ │ ├── ShowSQLLarge.java │ │ │ │ ├── ShowSQLSlow.java │ │ │ │ ├── ShowSQLSumTable.java │ │ │ │ ├── ShowSQLSumUser.java │ │ │ │ ├── ShowServer.java │ │ │ │ ├── ShowSession.java │ │ │ │ ├── ShowSqlResultSet.java │ │ │ │ ├── ShowSysLog.java │ │ │ │ ├── ShowSysParam.java │ │ │ │ ├── ShowThreadPool.java │ │ │ │ ├── ShowTime.java │ │ │ │ ├── ShowVariables.java │ │ │ │ ├── ShowVersion.java │ │ │ │ ├── ShowWhiteHost.java │ │ │ │ ├── StopHeartbeat.java │ │ │ │ └── SwitchDataSource.java │ │ │ ├── memory/ │ │ │ │ ├── MyCatMemory.java │ │ │ │ ├── environment/ │ │ │ │ │ ├── EnvironmentInformation.java │ │ │ │ │ ├── Hardware.java │ │ │ │ │ ├── HardwareDescription.java │ │ │ │ │ └── OperatingSystem.java │ │ │ │ └── unsafe/ │ │ │ │ ├── KVIterator.java │ │ │ │ ├── Platform.java │ │ │ │ ├── array/ │ │ │ │ │ ├── ByteArrayMethods.java │ │ │ │ │ ├── CharArray.java │ │ │ │ │ └── LongArray.java │ │ │ │ ├── bitset/ │ │ │ │ │ └── BitSetMethods.java │ │ │ │ ├── hash/ │ │ │ │ │ └── Murmur3_x86_32.java │ │ │ │ ├── map/ │ │ │ │ │ ├── BytesToBytesMap.java │ │ │ │ │ ├── HashMapGrowthStrategy.java │ │ │ │ │ └── UnsafeFixedWidthAggregationMap.java │ │ │ │ ├── memory/ │ │ │ │ │ ├── HeapMemoryAllocator.java │ │ │ │ │ ├── MemoryAllocator.java │ │ │ │ │ ├── MemoryBlock.java │ │ │ │ │ ├── MemoryLocation.java │ │ │ │ │ ├── UnsafeMemoryAllocator.java │ │ │ │ │ └── mm/ │ │ │ │ │ ├── DataNodeMemoryManager.java │ │ │ │ │ ├── MemoryConsumer.java │ │ │ │ │ ├── MemoryManager.java │ │ │ │ │ ├── MemoryMode.java │ │ │ │ │ ├── MemoryPool.java │ │ │ │ │ ├── ResultMergeMemoryManager.java │ │ │ │ │ └── ResultSetMemoryPool.java │ │ │ │ ├── ringbuffer/ │ │ │ │ │ ├── RingBuffer.java │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── Cursored.java │ │ │ │ │ │ ├── DataProvider.java │ │ │ │ │ │ ├── Sequenced.java │ │ │ │ │ │ ├── barrier/ │ │ │ │ │ │ │ └── SequenceBarrier.java │ │ │ │ │ │ ├── event/ │ │ │ │ │ │ │ ├── EventFactory.java │ │ │ │ │ │ │ ├── EventSequencer.java │ │ │ │ │ │ │ ├── EventSink.java │ │ │ │ │ │ │ ├── EventTranslator.java │ │ │ │ │ │ │ ├── EventTranslatorOneArg.java │ │ │ │ │ │ │ ├── EventTranslatorThreeArg.java │ │ │ │ │ │ │ ├── EventTranslatorTwoArg.java │ │ │ │ │ │ │ └── EventTranslatorVararg.java │ │ │ │ │ │ ├── sequence/ │ │ │ │ │ │ │ ├── Sequence.java │ │ │ │ │ │ │ └── SequenceGroups.java │ │ │ │ │ │ └── waitStrategy/ │ │ │ │ │ │ ├── WaitStrategy.java │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ ├── BlockingWaitStrategy.java │ │ │ │ │ │ ├── BusySpinWaitStrategy.java │ │ │ │ │ │ └── SleepingWaitStrategy.java │ │ │ │ │ ├── exception/ │ │ │ │ │ │ ├── AlertException.java │ │ │ │ │ │ ├── InsufficientCapacityException.java │ │ │ │ │ │ └── TimeoutException.java │ │ │ │ │ ├── producer/ │ │ │ │ │ │ ├── AbstractSequencer.java │ │ │ │ │ │ ├── MultiProducerSequencer.java │ │ │ │ │ │ ├── Sequencer.java │ │ │ │ │ │ └── SingleProducerSequencer.java │ │ │ │ │ └── utils/ │ │ │ │ │ └── Util.java │ │ │ │ ├── row/ │ │ │ │ │ ├── BufferHolder.java │ │ │ │ │ ├── StructType.java │ │ │ │ │ ├── UnsafeRow.java │ │ │ │ │ └── UnsafeRowWriter.java │ │ │ │ ├── storage/ │ │ │ │ │ ├── ConnectionId.java │ │ │ │ │ ├── DataNodeDiskManager.java │ │ │ │ │ ├── DataNodeFileManager.java │ │ │ │ │ ├── DeserializationStream.java │ │ │ │ │ ├── DiskRowWriter.java │ │ │ │ │ ├── DummySerializerInstance.java │ │ │ │ │ ├── SerializationStream.java │ │ │ │ │ ├── SerializerInstance.java │ │ │ │ │ ├── SerializerManager.java │ │ │ │ │ ├── TempDataNodeId.java │ │ │ │ │ └── TimeTrackingOutputStream.java │ │ │ │ ├── types/ │ │ │ │ │ ├── ByteArray.java │ │ │ │ │ ├── CalendarInterval.java │ │ │ │ │ └── UTF8String.java │ │ │ │ └── utils/ │ │ │ │ ├── ByteUnit.java │ │ │ │ ├── BytesTools.java │ │ │ │ ├── JavaUtils.java │ │ │ │ ├── MycatPropertyConf.java │ │ │ │ └── sort/ │ │ │ │ ├── AbstractScalaRowIterator.java │ │ │ │ ├── PrefixComparator.java │ │ │ │ ├── PrefixComparators.java │ │ │ │ ├── RadixSort.java │ │ │ │ ├── RecordComparator.java │ │ │ │ ├── RecordPointerAndKeyPrefix.java │ │ │ │ ├── RowPrefixComputer.java │ │ │ │ ├── SortDataFormat.java │ │ │ │ ├── SortPrefixUtils.java │ │ │ │ ├── Sorter.java │ │ │ │ ├── TestSorter.java │ │ │ │ ├── TimSort.java │ │ │ │ ├── UnsafeExternalRowSorter.java │ │ │ │ ├── UnsafeExternalSorter.java │ │ │ │ ├── UnsafeInMemorySorter.java │ │ │ │ ├── UnsafeKVExternalSorter.java │ │ │ │ ├── UnsafeKeyValueSorter.java │ │ │ │ ├── UnsafeRowsMerger.java │ │ │ │ ├── UnsafeSortDataFormat.java │ │ │ │ ├── UnsafeSorterIterator.java │ │ │ │ ├── UnsafeSorterSpillMerger.java │ │ │ │ ├── UnsafeSorterSpillReader.java │ │ │ │ └── UnsafeSorterSpillWriter.java │ │ │ ├── migrate/ │ │ │ │ ├── BinlogIdleCheck.java │ │ │ │ ├── BinlogStream.java │ │ │ │ ├── BinlogStreamHoder.java │ │ │ │ ├── MigrateDumpRunner.java │ │ │ │ ├── MigrateMainRunner.java │ │ │ │ ├── MigrateTask.java │ │ │ │ ├── MigrateTaskWatch.java │ │ │ │ ├── MigrateUtils.java │ │ │ │ ├── SqlExecuteListener.java │ │ │ │ ├── SwitchCleanListener.java │ │ │ │ ├── SwitchCommitListener.java │ │ │ │ ├── SwitchPrepareCheckRunner.java │ │ │ │ ├── SwitchPrepareListener.java │ │ │ │ ├── TaskNode.java │ │ │ │ └── TaskStatus.java │ │ │ ├── net/ │ │ │ │ ├── AIOAcceptor.java │ │ │ │ ├── AIOConnector.java │ │ │ │ ├── AIOSocketWR.java │ │ │ │ ├── AbstractConnection.java │ │ │ │ ├── BIOConnection.java │ │ │ │ ├── BackendAIOConnection.java │ │ │ │ ├── ClosableConnection.java │ │ │ │ ├── ConnectionException.java │ │ │ │ ├── FrontendConnection.java │ │ │ │ ├── NIOAcceptor.java │ │ │ │ ├── NIOConnection.java │ │ │ │ ├── NIOConnector.java │ │ │ │ ├── NIOHandler.java │ │ │ │ ├── NIOProcessor.java │ │ │ │ ├── NIOReactor.java │ │ │ │ ├── NIOReactorPool.java │ │ │ │ ├── NIOSocketWR.java │ │ │ │ ├── SocketAcceptor.java │ │ │ │ ├── SocketConnector.java │ │ │ │ ├── SocketWR.java │ │ │ │ ├── WriteEventCheckRunner.java │ │ │ │ ├── factory/ │ │ │ │ │ ├── BackendConnectionFactory.java │ │ │ │ │ └── FrontendConnectionFactory.java │ │ │ │ ├── handler/ │ │ │ │ │ ├── BackendAsyncHandler.java │ │ │ │ │ ├── FrontendAuthenticator.java │ │ │ │ │ ├── FrontendCommandHandler.java │ │ │ │ │ ├── FrontendPrepareHandler.java │ │ │ │ │ ├── FrontendPrivileges.java │ │ │ │ │ ├── FrontendQueryHandler.java │ │ │ │ │ └── LoadDataInfileHandler.java │ │ │ │ ├── mysql/ │ │ │ │ │ ├── AuthPacket.java │ │ │ │ │ ├── AuthSwitchPacket.java │ │ │ │ │ ├── BinaryPacket.java │ │ │ │ │ ├── BinaryRowDataPacket.java │ │ │ │ │ ├── CommandPacket.java │ │ │ │ │ ├── EOFPacket.java │ │ │ │ │ ├── EmptyPacket.java │ │ │ │ │ ├── ErrorPacket.java │ │ │ │ │ ├── ExecutePacket.java │ │ │ │ │ ├── FieldPacket.java │ │ │ │ │ ├── HandshakePacket.java │ │ │ │ │ ├── HandshakeV10Packet.java │ │ │ │ │ ├── HeartbeatPacket.java │ │ │ │ │ ├── LongDataPacket.java │ │ │ │ │ ├── MySQLPacket.java │ │ │ │ │ ├── OkPacket.java │ │ │ │ │ ├── PingPacket.java │ │ │ │ │ ├── PreparedOkPacket.java │ │ │ │ │ ├── QuitPacket.java │ │ │ │ │ ├── Reply323Packet.java │ │ │ │ │ ├── RequestFilePacket.java │ │ │ │ │ ├── ResetPacket.java │ │ │ │ │ ├── ResultSetHeaderPacket.java │ │ │ │ │ ├── RowDataPacket.java │ │ │ │ │ └── StatusFlags.java │ │ │ │ └── postgres/ │ │ │ │ ├── AuthenticationCleartextPassword.java │ │ │ │ ├── AuthenticationGSS.java │ │ │ │ ├── AuthenticationGSSContinue.java │ │ │ │ ├── AuthenticationKerberosV5.java │ │ │ │ ├── AuthenticationMD5Password.java │ │ │ │ ├── AuthenticationOk.java │ │ │ │ ├── AuthenticationSCMCredential.java │ │ │ │ ├── AuthenticationSSPI.java │ │ │ │ ├── BackendKeyData.java │ │ │ │ ├── Bind.java │ │ │ │ ├── BindComplete.java │ │ │ │ ├── CancelRequest.java │ │ │ │ ├── Close.java │ │ │ │ ├── CloseComplete.java │ │ │ │ ├── CommandComplete.java │ │ │ │ ├── CopyBothResponse.java │ │ │ │ ├── CopyData.java │ │ │ │ ├── CopyDone.java │ │ │ │ ├── CopyFail.java │ │ │ │ ├── CopyInResponse.java │ │ │ │ ├── CopyOutResponse.java │ │ │ │ ├── DataRow.java │ │ │ │ ├── Describe.java │ │ │ │ ├── EmptyQueryResponse.java │ │ │ │ ├── ErrorResponse.java │ │ │ │ ├── Execute.java │ │ │ │ ├── Flush.java │ │ │ │ ├── FunctionCall.java │ │ │ │ ├── FunctionCallResponse.java │ │ │ │ ├── NoData.java │ │ │ │ ├── NoticeResponse.java │ │ │ │ ├── NotificationResponse.java │ │ │ │ ├── ParameterDescription.java │ │ │ │ ├── ParameterStatus.java │ │ │ │ ├── Parse.java │ │ │ │ ├── ParseComplete.java │ │ │ │ ├── PasswordMessage.java │ │ │ │ ├── PortalSuspended.java │ │ │ │ ├── PostgresPacket.java │ │ │ │ ├── Query.java │ │ │ │ ├── ReadyForQuery.java │ │ │ │ ├── RowDescription.java │ │ │ │ ├── SSLRequest.java │ │ │ │ ├── StartupMessage.java │ │ │ │ ├── Sync.java │ │ │ │ └── Terminate.java │ │ │ ├── route/ │ │ │ │ ├── MyCATSequnceProcessor.java │ │ │ │ ├── Procedure.java │ │ │ │ ├── ProcedureParameter.java │ │ │ │ ├── RouteCheckRule.java │ │ │ │ ├── RouteResultset.java │ │ │ │ ├── RouteResultsetNode.java │ │ │ │ ├── RouteService.java │ │ │ │ ├── RouteStrategy.java │ │ │ │ ├── SQLMerge.java │ │ │ │ ├── SessionSQLPair.java │ │ │ │ ├── factory/ │ │ │ │ │ └── RouteStrategyFactory.java │ │ │ │ ├── function/ │ │ │ │ │ ├── AbstractPartitionAlgorithm.java │ │ │ │ │ ├── AutoPartitionByLong.java │ │ │ │ │ ├── LatestMonthPartion.java │ │ │ │ │ ├── NumberParseUtil.java │ │ │ │ │ ├── PartitionByCRC32PreSlot.java │ │ │ │ │ ├── PartitionByDate.java │ │ │ │ │ ├── PartitionByFileMap.java │ │ │ │ │ ├── PartitionByHashMod.java │ │ │ │ │ ├── PartitionByHotDate.java │ │ │ │ │ ├── PartitionByJumpConsistentHash.java │ │ │ │ │ ├── PartitionByLong.java │ │ │ │ │ ├── PartitionByMod.java │ │ │ │ │ ├── PartitionByMonth.java │ │ │ │ │ ├── PartitionByMonthAndHistory.java │ │ │ │ │ ├── PartitionByMurmurHash.java │ │ │ │ │ ├── PartitionByPattern.java │ │ │ │ │ ├── PartitionByPrefixPattern.java │ │ │ │ │ ├── PartitionByRangeDateHash.java │ │ │ │ │ ├── PartitionByRangeMod.java │ │ │ │ │ ├── PartitionByString.java │ │ │ │ │ ├── PartitionDirectBySubString.java │ │ │ │ │ ├── PureJavaCrc32.java │ │ │ │ │ ├── ReloadFunction.java │ │ │ │ │ ├── SlotFunction.java │ │ │ │ │ └── TableRuleAware.java │ │ │ │ ├── handler/ │ │ │ │ │ ├── HintCatletHandler.java │ │ │ │ │ ├── HintDataNodeHandler.java │ │ │ │ │ ├── HintHandler.java │ │ │ │ │ ├── HintHandlerFactory.java │ │ │ │ │ ├── HintMasterDBHandler.java │ │ │ │ │ ├── HintSQLHandler.java │ │ │ │ │ └── HintSchemaHandler.java │ │ │ │ ├── impl/ │ │ │ │ │ ├── AbstractRouteStrategy.java │ │ │ │ │ ├── DruidMycatRouteStrategy.java │ │ │ │ │ └── middlerResultStrategy/ │ │ │ │ │ ├── BinaryOpResultHandler.java │ │ │ │ │ ├── InSubQueryResultHandler.java │ │ │ │ │ ├── RouteMiddlerReaultHandler.java │ │ │ │ │ ├── SQLAllResultHandler.java │ │ │ │ │ ├── SQLExistsResultHandler.java │ │ │ │ │ └── SQLQueryResultHandler.java │ │ │ │ ├── parser/ │ │ │ │ │ ├── ManagerParse.java │ │ │ │ │ ├── ManagerParseClear.java │ │ │ │ │ ├── ManagerParseHeartbeat.java │ │ │ │ │ ├── ManagerParseKill.java │ │ │ │ │ ├── ManagerParseReload.java │ │ │ │ │ ├── ManagerParseRollback.java │ │ │ │ │ ├── ManagerParseSelect.java │ │ │ │ │ ├── ManagerParseShow.java │ │ │ │ │ ├── ManagerParseStop.java │ │ │ │ │ ├── ManagerParseSwitch.java │ │ │ │ │ ├── druid/ │ │ │ │ │ │ ├── DruidParser.java │ │ │ │ │ │ ├── DruidParserFactory.java │ │ │ │ │ │ ├── DruidSequenceHandler.java │ │ │ │ │ │ ├── DruidShardingParseInfo.java │ │ │ │ │ │ ├── LoadDataOutputVisitor.java │ │ │ │ │ │ ├── LoadDataStatement.java │ │ │ │ │ │ ├── MycatExprParser.java │ │ │ │ │ │ ├── MycatLexer.java │ │ │ │ │ │ ├── MycatSchemaStatVisitor.java │ │ │ │ │ │ ├── MycatSelectParser.java │ │ │ │ │ │ ├── MycatStatementParser.java │ │ │ │ │ │ ├── MycatSubQueryVisitor.java │ │ │ │ │ │ ├── RouteCalculateUnit.java │ │ │ │ │ │ ├── SchemaStatVisitorFactory.java │ │ │ │ │ │ ├── SqlMethodInvocationHandler.java │ │ │ │ │ │ ├── SqlMethodInvocationHandlerFactory.java │ │ │ │ │ │ ├── WhereUnit.java │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ ├── DefaultDruidParser.java │ │ │ │ │ │ ├── DruidAlterTableParser.java │ │ │ │ │ │ ├── DruidCreateTableParser.java │ │ │ │ │ │ ├── DruidDeleteParser.java │ │ │ │ │ │ ├── DruidInsertParser.java │ │ │ │ │ │ ├── DruidLockTableParser.java │ │ │ │ │ │ ├── DruidSelectDb2Parser.java │ │ │ │ │ │ ├── DruidSelectOracleParser.java │ │ │ │ │ │ ├── DruidSelectParser.java │ │ │ │ │ │ ├── DruidSelectPostgresqlParser.java │ │ │ │ │ │ ├── DruidSelectSqlServerParser.java │ │ │ │ │ │ ├── DruidUpdateParser.java │ │ │ │ │ │ ├── MysqlMethodInvocationHandler.java │ │ │ │ │ │ ├── OracleMethodInvocationHandler.java │ │ │ │ │ │ └── PgsqlMethodInvocationHandler.java │ │ │ │ │ ├── primitive/ │ │ │ │ │ │ ├── FunctionParser.java │ │ │ │ │ │ └── Model/ │ │ │ │ │ │ ├── Commons.java │ │ │ │ │ │ ├── Field.java │ │ │ │ │ │ ├── Function.java │ │ │ │ │ │ └── Identifier.java │ │ │ │ │ └── util/ │ │ │ │ │ ├── ArrayUtil.java │ │ │ │ │ ├── CharTypes.java │ │ │ │ │ ├── PageSQLUtil.java │ │ │ │ │ ├── Pair.java │ │ │ │ │ ├── PairUtil.java │ │ │ │ │ ├── ParseString.java │ │ │ │ │ ├── ParseUtil.java │ │ │ │ │ ├── SQLParserUtils.java │ │ │ │ │ └── WildcardUtil.java │ │ │ │ ├── sequence/ │ │ │ │ │ ├── BatchInsertSequence.java │ │ │ │ │ └── handler/ │ │ │ │ │ ├── DistributedSequenceHandler.java │ │ │ │ │ ├── HttpIncrSequenceHandler.java │ │ │ │ │ ├── IncrSequenceBDBHandler.java │ │ │ │ │ ├── IncrSequenceHandler.java │ │ │ │ │ ├── IncrSequenceMySQLHandler.java │ │ │ │ │ ├── IncrSequencePropHandler.java │ │ │ │ │ ├── IncrSequenceTimeHandler.java │ │ │ │ │ ├── IncrSequenceZKHandler.java │ │ │ │ │ ├── SequenceHandler.java │ │ │ │ │ ├── SequenceVal.java │ │ │ │ │ ├── SnowflakeIdSequenceHandler.java │ │ │ │ │ └── ThirftClientSequenceHandler.java │ │ │ │ └── util/ │ │ │ │ ├── CacheUtil.java │ │ │ │ ├── PartitionUtil.java │ │ │ │ ├── PropertiesUtil.java │ │ │ │ └── RouterUtil.java │ │ │ ├── server/ │ │ │ │ ├── NonBlockingSession.java │ │ │ │ ├── ServerConnection.java │ │ │ │ ├── ServerConnectionFactory.java │ │ │ │ ├── ServerQueryHandler.java │ │ │ │ ├── Session.java │ │ │ │ ├── handler/ │ │ │ │ │ ├── BeginHandler.java │ │ │ │ │ ├── CommandHandler.java │ │ │ │ │ ├── Explain2Handler.java │ │ │ │ │ ├── ExplainHandler.java │ │ │ │ │ ├── KillHandler.java │ │ │ │ │ ├── MigrateHandler.java │ │ │ │ │ ├── MysqlInformationSchemaHandler.java │ │ │ │ │ ├── MysqlProcHandler.java │ │ │ │ │ ├── SavepointHandler.java │ │ │ │ │ ├── SelectHandler.java │ │ │ │ │ ├── ServerLoadDataInfileHandler.java │ │ │ │ │ ├── ServerPrepareHandler.java │ │ │ │ │ ├── SetHandler.java │ │ │ │ │ ├── ShowCache.java │ │ │ │ │ ├── ShowHandler.java │ │ │ │ │ ├── StartHandler.java │ │ │ │ │ └── UseHandler.java │ │ │ │ ├── interceptor/ │ │ │ │ │ ├── SQLInterceptor.java │ │ │ │ │ └── impl/ │ │ │ │ │ ├── DefaultSqlInterceptor.java │ │ │ │ │ ├── GlobalTableUtil.java │ │ │ │ │ ├── StatSqlInterceptor.java │ │ │ │ │ └── StatisticsSqlInterceptor.java │ │ │ │ ├── parser/ │ │ │ │ │ ├── ServerParse.java │ │ │ │ │ ├── ServerParseSelect.java │ │ │ │ │ ├── ServerParseSet.java │ │ │ │ │ ├── ServerParseShow.java │ │ │ │ │ └── ServerParseStart.java │ │ │ │ ├── response/ │ │ │ │ │ ├── CharacterSet.java │ │ │ │ │ ├── ClientHeartbeatResponse.java │ │ │ │ │ ├── Heartbeat.java │ │ │ │ │ ├── InformationSchemaProfiling.java │ │ │ │ │ ├── InformationSchemaProfilingSqlyog.java │ │ │ │ │ ├── Ping.java │ │ │ │ │ ├── PreparedStmtResponse.java │ │ │ │ │ ├── SelectConnnectID.java │ │ │ │ │ ├── SelectDatabase.java │ │ │ │ │ ├── SelectIdentity.java │ │ │ │ │ ├── SelectLastInsertId.java │ │ │ │ │ ├── SelectTxReadOnly.java │ │ │ │ │ ├── SelectUser.java │ │ │ │ │ ├── SelectVariables.java │ │ │ │ │ ├── SelectVersion.java │ │ │ │ │ ├── SelectVersionComment.java │ │ │ │ │ ├── SessionIncrement.java │ │ │ │ │ ├── SessionIsolation.java │ │ │ │ │ ├── ShowCobarCluster.java │ │ │ │ │ ├── ShowCobarStatus.java │ │ │ │ │ ├── ShowDatabases.java │ │ │ │ │ ├── ShowFullTables.java │ │ │ │ │ ├── ShowMyCATCluster.java │ │ │ │ │ ├── ShowMyCatStatus.java │ │ │ │ │ └── ShowTables.java │ │ │ │ ├── sqlcmd/ │ │ │ │ │ ├── CommitCommand.java │ │ │ │ │ ├── SQLCmdConstant.java │ │ │ │ │ └── SQLCtrlCommand.java │ │ │ │ └── util/ │ │ │ │ └── SchemaUtil.java │ │ │ ├── sqlengine/ │ │ │ │ ├── AllJobFinishedListener.java │ │ │ │ ├── BatchSQLJob.java │ │ │ │ ├── EngineCtx.java │ │ │ │ ├── MultiRowSQLQueryResultHandler.java │ │ │ │ ├── OneRawSQLQueryResultHandler.java │ │ │ │ ├── SQLJob.java │ │ │ │ ├── SQLJobHandler.java │ │ │ │ ├── SQLQueryResult.java │ │ │ │ ├── SQLQueryResultListener.java │ │ │ │ └── mpp/ │ │ │ │ ├── AbstractDataNodeMerge.java │ │ │ │ ├── ColMeta.java │ │ │ │ ├── ColumnRoutePair.java │ │ │ │ ├── DataMergeService.java │ │ │ │ ├── DataNodeMergeManager.java │ │ │ │ ├── HavingCols.java │ │ │ │ ├── LoadData.java │ │ │ │ ├── MergeCol.java │ │ │ │ ├── OrderCol.java │ │ │ │ ├── PackWraper.java │ │ │ │ ├── RangRowDataPacketSorter.java │ │ │ │ ├── RangeValue.java │ │ │ │ ├── RowDataPacketGrouper.java │ │ │ │ ├── RowDataPacketSorter.java │ │ │ │ ├── UnsafeRowGrouper.java │ │ │ │ └── model/ │ │ │ │ ├── NodeRowDataPacket.java │ │ │ │ └── RangRowDataPacket.java │ │ │ ├── statistic/ │ │ │ │ ├── CommandCount.java │ │ │ │ ├── DataSourceSyncRecorder.java │ │ │ │ ├── HeartbeatRecorder.java │ │ │ │ ├── SQLRecord.java │ │ │ │ ├── SQLRecorder.java │ │ │ │ └── stat/ │ │ │ │ ├── Histogram.java │ │ │ │ ├── HostStatAnalyzer.java │ │ │ │ ├── QueryConditionAnalyzer.java │ │ │ │ ├── QueryResult.java │ │ │ │ ├── QueryResultDispatcher.java │ │ │ │ ├── QueryResultListener.java │ │ │ │ ├── SqlFrequency.java │ │ │ │ ├── SqlResultSet.java │ │ │ │ ├── SqlResultSizeRecorder.java │ │ │ │ ├── TableStat.java │ │ │ │ ├── TableStatAnalyzer.java │ │ │ │ ├── UserSqlHighStat.java │ │ │ │ ├── UserSqlLargeStat.java │ │ │ │ ├── UserSqlLastStat.java │ │ │ │ ├── UserSqlRWStat.java │ │ │ │ ├── UserStat.java │ │ │ │ └── UserStatAnalyzer.java │ │ │ └── util/ │ │ │ ├── ByteBufferUtil.java │ │ │ ├── ByteUtil.java │ │ │ ├── CircularArrayList.java │ │ │ ├── CollectionUtil.java │ │ │ ├── CompareUtil.java │ │ │ ├── CompressUtil.java │ │ │ ├── DateUtil.java │ │ │ ├── DecryptUtil.java │ │ │ ├── ExecutorUtil.java │ │ │ ├── FastByteOperations.java │ │ │ ├── FormatUtil.java │ │ │ ├── HexFormatUtil.java │ │ │ ├── IntegerUtil.java │ │ │ ├── LogUtil.java │ │ │ ├── LongUtil.java │ │ │ ├── MysqlDefs.java │ │ │ ├── NameableExecutor.java │ │ │ ├── NameableThreadFactory.java │ │ │ ├── ObjectUtil.java │ │ │ ├── ProcessUtil.java │ │ │ ├── RandomUtil.java │ │ │ ├── ResultSetUtil.java │ │ │ ├── SelectorUtil.java │ │ │ ├── SetIgnoreUtil.java │ │ │ ├── SmallSet.java │ │ │ ├── SplitUtil.java │ │ │ ├── StreamGobble.java │ │ │ ├── StringUtil.java │ │ │ ├── TimeUtil.java │ │ │ ├── ZKUtils.java │ │ │ ├── cmd/ │ │ │ │ └── CmdArgs.java │ │ │ ├── dataMigrator/ │ │ │ │ ├── ConfigComparer.java │ │ │ │ ├── DataClearRunner.java │ │ │ │ ├── DataIO.java │ │ │ │ ├── DataIOFactory.java │ │ │ │ ├── DataMigrateRunner.java │ │ │ │ ├── DataMigrator.java │ │ │ │ ├── DataMigratorArgs.java │ │ │ │ ├── DataMigratorUtil.java │ │ │ │ ├── DataNode.java │ │ │ │ ├── DataNodeClearGroup.java │ │ │ │ ├── DataNodeMigrateInfo.java │ │ │ │ ├── MigratorConditonFilesMaker.java │ │ │ │ ├── TableMigrateInfo.java │ │ │ │ └── dataIOImpl/ │ │ │ │ └── MysqlDataIO.java │ │ │ ├── exception/ │ │ │ │ ├── DataMigratorException.java │ │ │ │ ├── ErrorPacketException.java │ │ │ │ ├── HeartbeatException.java │ │ │ │ ├── MurmurHashException.java │ │ │ │ ├── RehashException.java │ │ │ │ ├── UnknownCharsetException.java │ │ │ │ ├── UnknownDataNodeException.java │ │ │ │ ├── UnknownPacketException.java │ │ │ │ └── UnknownTxIsolationException.java │ │ │ └── rehasher/ │ │ │ ├── HashType.java │ │ │ ├── RehashCmdArgs.java │ │ │ └── RehashLauncher.java │ │ └── resources/ │ │ ├── auto-sharding-long.txt │ │ ├── auto-sharding-rang-mod.txt │ │ ├── autopartition-long.txt │ │ ├── cacheservice.properties │ │ ├── dbseq - utf8mb4.sql │ │ ├── dbseq.sql │ │ ├── ehcache.xml │ │ ├── index_to_charset.properties │ │ ├── log4j2.xml │ │ ├── migrateTables.properties │ │ ├── myid.properties │ │ ├── partition-hash-int.txt │ │ ├── partition-range-mod.txt │ │ ├── rule.dtd │ │ ├── rule.xml │ │ ├── schema.dtd │ │ ├── schema.xml │ │ ├── sequence_conf.properties │ │ ├── sequence_db_conf.properties │ │ ├── sequence_distributed_conf.properties │ │ ├── sequence_http_conf.properties │ │ ├── sequence_time_conf.properties │ │ ├── server.dtd │ │ ├── server.xml │ │ ├── sharding-by-enum.txt │ │ ├── zkconf/ │ │ │ ├── auto-sharding-long.txt │ │ │ ├── auto-sharding-rang-mod.txt │ │ │ ├── autopartition-long.txt │ │ │ ├── cacheservice.properties │ │ │ ├── ehcache.xml │ │ │ ├── index_to_charset.properties │ │ │ ├── partition-hash-int.txt │ │ │ ├── partition-range-mod.txt │ │ │ ├── rule.xml │ │ │ ├── schema.xml │ │ │ ├── sequence_conf.properties │ │ │ ├── sequence_db_conf.properties │ │ │ ├── sequence_distributed_conf-mycat_fz_01.properties │ │ │ ├── sequence_distributed_conf.properties │ │ │ ├── sequence_time_conf-mycat_fz_01.properties │ │ │ ├── sequence_time_conf.properties │ │ │ ├── server-mycat_fz_01.xml │ │ │ ├── server.xml │ │ │ └── sharding-by-enum.txt │ │ └── zkdownload/ │ │ └── auto-sharding-long.txt │ └── test/ │ ├── java/ │ │ ├── demo/ │ │ │ ├── catlets/ │ │ │ │ └── MyHellowJoin.java │ │ │ └── test/ │ │ │ ├── ByteArrayToHexArray.java │ │ │ └── TestClass1.java │ │ └── io/ │ │ └── mycat/ │ │ ├── BufferPerformanceMain.java │ │ ├── ConfigInitializerTest.java │ │ ├── EchoBioServer.java │ │ ├── ExecutorTestMain.java │ │ ├── SimpleCachePool.java │ │ ├── VolatileTest.java │ │ ├── backend/ │ │ │ └── jdbc/ │ │ │ └── mongodb/ │ │ │ ├── MongoClientPropertyHelperTest.java │ │ │ └── MongoEmbeddedObjectProcessorTest.java │ │ ├── buffer/ │ │ │ ├── TestByteBufferArena.java │ │ │ ├── TestDirectByteBufferPool.java │ │ │ └── TestMycatMemoryAlloctor.java │ │ ├── cache/ │ │ │ ├── DefaultLayedCachePoolTest.java │ │ │ ├── EnCachePoolTest.java │ │ │ └── TestCachePoolPerformance.java │ │ ├── classload/ │ │ │ └── TestDynClassLoad.java │ │ ├── config/ │ │ │ └── ConfigTest.java │ │ ├── heartbeat/ │ │ │ ├── HeartbeatConfigForTest.java │ │ │ ├── HeartbeatContext.java │ │ │ └── HeartbeatStartup.java │ │ ├── memory/ │ │ │ └── unsafe/ │ │ │ ├── PlatformUtilSuite.java │ │ │ ├── array/ │ │ │ │ └── LongArraySuite.java │ │ │ ├── hash/ │ │ │ │ └── Murmur3_x86_32Suite.java │ │ │ ├── map/ │ │ │ │ ├── AbstractBytesToBytesMapSuite.java │ │ │ │ ├── BytesToBytesMapOffHeapSuite.java │ │ │ │ ├── BytesToBytesMapOnHeapSuite.java │ │ │ │ ├── MapSorterByValueTest.java │ │ │ │ └── UnsafeFixedWidthAggregationMapSuite.java │ │ │ ├── memory/ │ │ │ │ ├── MemoryManagerSuite.java │ │ │ │ ├── MycatMemoryTest.java │ │ │ │ ├── TaskMemoryManagerSuite.java │ │ │ │ ├── TestMemoryConsumer.java │ │ │ │ └── TestMemoryManager.java │ │ │ ├── row/ │ │ │ │ ├── UnsafeRowListTest.java │ │ │ │ └── UnsafeRowSuite.java │ │ │ ├── sort/ │ │ │ │ ├── HashPartitioner.java │ │ │ │ ├── TestTimSort.java │ │ │ │ ├── UnsafeExternalRowSorterTest.java │ │ │ │ ├── UnsafeExternalSorterRadixSortSuite.java │ │ │ │ ├── UnsafeExternalSorterSuite.java │ │ │ │ ├── UnsafeInMemorySorterRadixSortSuite.java │ │ │ │ └── UnsafeInMemorySorterSuite.java │ │ │ ├── storage/ │ │ │ │ ├── BlockManagerTest.java │ │ │ │ └── SerializerManagerTest.java │ │ │ └── types/ │ │ │ ├── CalendarIntervalSuite.java │ │ │ └── UTF8StringSuite.java │ │ ├── migrate/ │ │ │ └── MigrateUtilsTest.java │ │ ├── model/ │ │ │ ├── M1.java │ │ │ ├── M1Main.java │ │ │ ├── M2.java │ │ │ ├── M2Main.java │ │ │ └── TransferObject.java │ │ ├── mpp/ │ │ │ └── TestSorter.java │ │ ├── mysql/ │ │ │ ├── MySQLMessageTest.java │ │ │ └── ResultSetPacketParse.java │ │ ├── parser/ │ │ │ ├── ManagerParserTest.java │ │ │ ├── ManagerParserTestPerf.java │ │ │ ├── Performance.java │ │ │ ├── ServerParseTest.java │ │ │ ├── ServerParserTest.java │ │ │ ├── ServerParserTestPerf.java │ │ │ ├── TestEscapeProcess.java │ │ │ ├── druid/ │ │ │ │ ├── DruidSelectParserTest.java │ │ │ │ ├── DruidSequenceHandlerTest.java │ │ │ │ ├── DruidUpdateParserTest.java │ │ │ │ └── MycatSchemaStatVisitorTest.java │ │ │ ├── primitive/ │ │ │ │ └── TestFunctionParser.java │ │ │ └── util/ │ │ │ └── PairUtilTest.java │ │ ├── performance/ │ │ │ ├── AbstractMultiTreadBatchTester.java │ │ │ ├── GoodsInsertJob.java │ │ │ ├── RandomDataValueUtil.java │ │ │ ├── SimpleConPool.java │ │ │ ├── TestGlobalTableInsertPerf.java │ │ │ ├── TestInsertGlobalSeqPerf.java │ │ │ ├── TestInsertPerf.java │ │ │ ├── TestMaxConnection.java │ │ │ ├── TestMergeSelectPerf.java │ │ │ ├── TestMergeSorter.java │ │ │ ├── TestRandomDataUtil.java │ │ │ ├── TestSelectPerf.java │ │ │ ├── TestUpdatePerf.java │ │ │ ├── TravelRecordGlobalSeqInsertJob.java │ │ │ ├── TravelRecordInsertJob.java │ │ │ ├── TravelRecordMergeJob.java │ │ │ ├── TravelRecordSelectJob.java │ │ │ ├── TravelRecordUpdateJob.java │ │ │ ├── UserTableInsertJob.java │ │ │ └── UserTableSelectJob.java │ │ ├── postgres/ │ │ │ └── PostgresTest.java │ │ ├── queue/ │ │ │ ├── FixedQueue.java │ │ │ ├── Queue.java │ │ │ ├── QueuePerfMain.java │ │ │ └── QueueSimpleMain.java │ │ ├── route/ │ │ │ ├── .gitignore │ │ │ ├── DDLRouteTest.java │ │ │ ├── DQLRouteTest.java │ │ │ ├── DeleteSqlParseTest.java │ │ │ ├── DruidDb2SqlParserTest.java │ │ │ ├── DruidMysqlCreateTableTest.java │ │ │ ├── DruidMysqlHavingTest.java │ │ │ ├── DruidMysqlRouteStrategyTest.java │ │ │ ├── DruidMysqlSqlParserTest.java │ │ │ ├── DruidMysqlSqlSubqueriesParserTest.java │ │ │ ├── DruidOracleSqlParserTest.java │ │ │ ├── DruidPostgresqlSqlParserTest.java │ │ │ ├── DruidSqlServerSqlParserTest.java │ │ │ ├── HintDBTypeTest.java │ │ │ ├── HintTest.java │ │ │ ├── TestSelectBetweenSqlParser.java │ │ │ ├── function/ │ │ │ │ ├── AutoPartitionByLongTest.java │ │ │ │ ├── PartitionByCRC32PreSlotTest.java │ │ │ │ ├── PartitionByDateTest.java │ │ │ │ ├── PartitionByHashModTest.java │ │ │ │ ├── PartitionByHotDateTest.java │ │ │ │ ├── PartitionByJumpConsistentHashTest.java │ │ │ │ ├── PartitionByMonthTest.java │ │ │ │ ├── PartitionByPatternTest.java │ │ │ │ ├── PartitionByPrefixPatternTest.java │ │ │ │ ├── PartitionByRangeDateHashTest.java │ │ │ │ ├── PartitionByRangeModTest.java │ │ │ │ ├── PartitionByStringTest.java │ │ │ │ ├── RuleFunctionSuitTableTest.java │ │ │ │ ├── TestLatestMonthPartion.java │ │ │ │ └── TestNumberParseUtil.java │ │ │ ├── parser/ │ │ │ │ └── druid/ │ │ │ │ └── impl/ │ │ │ │ └── DefaultDruidParserTest.java │ │ │ ├── perf/ │ │ │ │ ├── NoShardingSpace.java │ │ │ │ ├── ShardingDefaultSpace.java │ │ │ │ └── ShardingMultiTableSpace.java │ │ │ └── util/ │ │ │ ├── PartitionForSingle.java │ │ │ ├── PartitionUtilTest.java │ │ │ └── RouterUtilTest.java │ │ ├── sequence/ │ │ │ ├── DistributedSequenceHandlerTest.java │ │ │ ├── IncrSequenceZKHandlerTest.java │ │ │ ├── SequenceHandlerTest.java │ │ │ └── SequenceTest.java │ │ ├── server/ │ │ │ ├── handler/ │ │ │ │ └── ServerHandlerTest.java │ │ │ └── interceptor/ │ │ │ └── impl/ │ │ │ └── GlobalTableUtilTest.java │ │ ├── sqlexecute/ │ │ │ ├── BaseSQLExeTest.java │ │ │ ├── MultiThreadSelectTest.java │ │ │ ├── MultiThreadSequnceTest.java │ │ │ ├── MycatMulitJdbcVersionTest.java │ │ │ ├── RollbackTest.java │ │ │ ├── ServerPrepareTest.java │ │ │ ├── StandBatchInsertTest.java │ │ │ ├── TestJdbc.java │ │ │ └── TestPrepareSql.java │ │ ├── statistic/ │ │ │ ├── SQLStatisticsMain.java │ │ │ └── TestConcurrentSafety.java │ │ └── util/ │ │ ├── ArrayPerformanceMain.java │ │ ├── BitTest.java │ │ ├── ConcurrentHashMapMain.java │ │ ├── HashMapMain.java │ │ ├── HexFormatUtilMain.java │ │ ├── HexFormatUtilTest.java │ │ ├── LockPerfMain.java │ │ ├── MapPerfMain.java │ │ ├── SchemaUtilTest.java │ │ ├── SmallSetTest.java │ │ ├── SplitUtilTest.java │ │ ├── StringHashPerfMain.java │ │ ├── StringUtilTest.java │ │ └── SyncPerfMain.java │ └── resources/ │ ├── autopartition-long-dupl.txt │ ├── autopartition-long.txt │ ├── autopartition-long2.txt │ ├── config/ │ │ ├── rule.xml │ │ └── schema.xml │ ├── ehcache.xml │ ├── log4j2.xml │ ├── partition-pattern.txt │ ├── partition-range-mod.txt │ ├── partition_prefix_pattern.txt │ ├── route/ │ │ ├── rule.xml │ │ └── schema.xml │ ├── rule.xml │ ├── schema.xml │ ├── sequence_conf.properties │ ├── server.xml │ ├── sharding.txt │ └── zk-create-test.yaml ├── test-output/ │ ├── Default suite/ │ │ ├── Default test.html │ │ └── Default test.xml │ ├── emailable-report.html │ ├── index.html │ ├── old/ │ │ ├── Default suite/ │ │ │ ├── Default test.properties │ │ │ ├── classes.html │ │ │ ├── groups.html │ │ │ ├── index.html │ │ │ ├── main.html │ │ │ ├── methods-alphabetical.html │ │ │ ├── methods-not-run.html │ │ │ ├── methods.html │ │ │ ├── reporter-output.html │ │ │ ├── testng.xml.html │ │ │ └── toc.html │ │ └── index.html │ ├── testng-reports.css │ ├── testng-reports.js │ ├── testng-results.xml │ └── testng.css ├── tmlogs/ │ └── tmlog-1.log ├── version.txt └── version.txt.template