parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java (9 lines): - line 312: // TODO deal with TemporalLiterals - line 318: // TODO deal with hexadecimalLiterals - line 324: // TODO deal with bitValueLiterals - line 449: // TODO optimize operatorToken - line 1328: // TODO :FIXME, sql case id: insert_with_str_to_date - line 1414: // TODO :FIXME, since there is no segment for insertValuesClause, InsertStatement is created by sub rule. - line 1492: // TODO :FIXME, since there is no segment for replaceValuesClause, ReplaceStatement is created by sub rule. - line 1730: // FIXME :The stop index of project is the stop index of projection, instead of alias. - line 1796: // FIXME :For DISTINCT() parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/DorisStatementVisitor.java (9 lines): - line 308: // TODO deal with TemporalLiterals - line 314: // TODO deal with hexadecimalLiterals - line 320: // TODO deal with bitValueLiterals - line 445: // TODO optimize operatorToken - line 1346: // TODO :FIXME, sql case id: insert_with_str_to_date - line 1432: // TODO :FIXME, since there is no segment for insertValuesClause, InsertStatement is created by sub rule. - line 1507: // TODO :FIXME, since there is no segment for replaceValuesClause, ReplaceStatement is created by sub rule. - line 1738: // FIXME :The stop index of project is the stop index of projection, instead of alias. - line 1804: // FIXME :For DISTINCT() parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDDLStatementVisitor.java (8 lines): - line 589: // TODO More alter definition parse - line 617: // TODO Support rename constraint - line 654: // TODO handle no columnDefinition and multiple columnDefinitions - line 682: // TODO visit pk and reference table - line 1515: // TODO handle SQL in dynamicString - line 1544: // TODO visit collection_method_call - line 1634: // TODO Handling dynamicSqlStmt if we can - line 1640: // TODO Visit intoClause parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/PLSQL.g4 (7 lines): - line 81: // TODO need add more statement type according to the doc - line 118: // TODO cursor_variable, out_parameter, scalar_variable - line 122: // TODO object.attribute, record_variable.field - line 130: // TODO PL/SQL grammar more than expr - line 374: // TODO into_clause of PL/SQL - line 401: // TODO collection_method_call - line 578: // TODO Support more pragma parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDMLStatementVisitor.java (7 lines): - line 306: // TODO :FIXME, since there is no segment for insertValuesClause, InsertStatement is created by sub rule. - line 432: // TODO Visit selectIntoClause, bulkCollectIntoClause - line 440: // TODO Visit hierarchicalQueryClause - line 444: // TODO Visit windowClause - line 448: // TODO Visit rowLimitingClause - line 789: // FIXME :The stop index of project is the stop index of projection, instead of alias. - line 881: // FIXME :For DISTINCT() parser/sql/dialect/presto/src/main/java/org/apache/shardingsphere/sql/parser/presto/visitor/statement/type/PrestoDMLStatementVisitor.java (5 lines): - line 763: // TODO :FIXME, sql case id: insert_with_str_to_date - line 812: // TODO :FIXME, since there is no segment for insertValuesClause, InsertStatement is created by sub rule. - line 1006: // TODO :Unsupported for withClause. - line 1064: // FIXME :The stop index of project is the stop index of projection, instead of alias. - line 1130: // FIXME :For DISTINCT() parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/type/HiveDMLStatementVisitor.java (5 lines): - line 767: // TODO :FIXME, sql case id: insert_with_str_to_date - line 853: // TODO :FIXME, since there is no segment for insertValuesClause, InsertStatement is created by sub rule. - line 1047: // TODO :Unsupported for withClause. - line 1105: // FIXME :The stop index of project is the stop index of projection, instead of alias. - line 1171: // FIXME :For DISTINCT() parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java (5 lines): - line 450: // TODO replace aggregation segment - line 705: // TODO :FIXME, since there is no segment for insertValuesClause, InsertStatement is created by sub rule. - line 706: // TODO :deal with insert select - line 938: // TODO :Unsupported for withClause. - line 1236: // TODO deal with functionTable and xmlTable parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java (5 lines): - line 451: // TODO replace aggregation segment - line 702: // TODO :FIXME, since there is no segment for insertValuesClause, InsertStatement is created by sub rule. - line 703: // TODO :deal with insert select - line 907: // TODO :Unsupported for withClause. - line 1202: // TODO deal with functionTable and xmlTable parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java (5 lines): - line 298: // TODO deal with hexadecimalLiterals - line 304: // TODO deal with bitValueLiterals - line 894: // TODO :FIXME, sql case id: insert_with_str_to_date - line 965: // TODO :Unsupported for union | except | intersect SQL. - line 1522: // FIXME :For DISTINCT() parser/sql/dialect/firebird/src/main/java/org/apache/shardingsphere/sql/parser/firebird/visitor/statement/type/FirebirdDMLStatementVisitor.java (4 lines): - line 227: // TODO :Unsupported for withClause. - line 235: // TODO :Unsupported for union SQL. - line 296: // FIXME :The stop index of project is the stop index of projection, instead of alias. - line 343: // FIXME :For DISTINCT() parser/sql/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DMLStatementVisitor.java (4 lines): - line 209: // TODO :Unsupported for withClause. - line 217: // TODO :Unsupported for union SQL. - line 278: // FIXME :The stop index of project is the stop index of projection, instead of alias. - line 325: // FIXME :For DISTINCT() parser/sql/dialect/presto/src/main/java/org/apache/shardingsphere/sql/parser/presto/visitor/statement/PrestoStatementVisitor.java (4 lines): - line 158: // TODO deal with TemporalLiterals - line 164: // TODO deal with hexadecimalLiterals - line 170: // TODO deal with bitValueLiterals - line 302: // TODO optimize operatorToken features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java (4 lines): - line 92: // TODO How to process changed encryptors and tables if check failed? It should check before rule change - line 176: // TODO check and remove unused INLINE encryptors - line 179: // TODO Process update table - line 180: // TODO Process CRUD encryptors parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/HiveStatementVisitor.java (4 lines): - line 147: // TODO deal with TemporalLiterals - line 153: // TODO deal with hexadecimalLiterals - line 159: // TODO deal with bitValueLiterals - line 279: // TODO optimize operatorToken parser/sql/dialect/clickhouse/src/main/java/org/apache/shardingsphere/sql/parser/clickhouse/visitor/statement/type/ClickHouseDMLStatementVisitor.java (4 lines): - line 185: // TODO :Unsupported for withClause. - line 193: // TODO :Unsupported for union SQL. - line 254: // FIXME :The stop index of project is the stop index of projection, instead of alias. - line 300: // FIXME :For DISTINCT() parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/OracleStatementVisitor.java (4 lines): - line 289: // TODO deal with hexadecimalLiterals - line 295: // TODO deal with bitValueLiterals - line 941: // TODO : throw exception if more than one defaultString exists in a xml name space clause - line 1202: // TODO :FIXME, sql case id: insert_with_str_to_date kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/importer/sink/type/PipelineDataSourceSink.java (3 lines): - line 95: // TODO It's better to use transaction, but delete operation may not take effect on PostgreSQL sometimes - line 215: // TODO There to be compatible with PostgreSQL before value is null except primary key and unsupported updating sharding value now. - line 222: // TODO if table without unique key the conditionColumns before values is null, so update will fail at PostgreSQL parser/sql/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/SQL92StatementVisitor.java (3 lines): - line 155: // TODO deal with hexadecimalLiterals - line 161: // TODO deal with bitValueLiterals - line 509: // TODO :FIXME, sql case id: insert_with_str_to_date kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/importer/CDCImporter.java (3 lines): - line 104: // TODO Combine small transactions into a large transaction, to improve transformation performance. - line 134: // TODO openGauss CSN should be incremented for every transaction. Currently, CSN might be duplicated in transactions. - line 135: // TODO Use channels watermark depth to improve performance. proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/authenticator/MySQLAuthenticatorType.java (3 lines): - line 34: // TODO impl OLD_PASSWORD Authenticator - line 41: // TODO impl WINDOWS_NATIVE Authenticator - line 44: // TODO impl SHA256 Authenticator features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/MaskRule.java (3 lines): - line 101: // TODO check and remove unused INLINE mask algorithms - line 104: // TODO Process update table - line 105: // TODO Process CRUD mask algorithms parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDALStatementVisitor.java (3 lines): - line 166: // TODO visit declare statement - line 173: // TODO visit create materialized view statement - line 176: // TODO visit refresh materialized view statement proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/sysvar/MySQLSystemVariable.java (3 lines): - line 78: // TODO Get or set session value. - line 147: // TODO Properly handling character set of session. - line 934: // TODO Retrieve proper system time zone. parser/sql/dialect/firebird/src/main/java/org/apache/shardingsphere/sql/parser/firebird/visitor/statement/FirebirdStatementVisitor.java (3 lines): - line 155: // TODO deal with hexadecimalLiterals - line 161: // TODO deal with bitValueLiterals - line 510: // TODO :FIXME, sql case id: insert_with_str_to_date kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java (3 lines): - line 51: // TODO without unique key, job has been interrupted, which may lead to data duplication - line 75: // TODO support partitions etc. If user use partition table, after sharding, the partition definition will not be needed. So we need to remove it after supported. - line 89: // TODO use ";" to split is not always correct if return value's comments contains ";" parser/sql/dialect/clickhouse/src/main/java/org/apache/shardingsphere/sql/parser/clickhouse/visitor/statement/ClickHouseStatementVisitor.java (3 lines): - line 124: // TODO deal with hexadecimalLiterals - line 130: // TODO deal with bitValueLiterals - line 480: // TODO :FIXME, sql case id: insert_with_str_to_date infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlRowStatisticsSwapper.java (2 lines): - line 59: // TODO use general type convertor - line 88: // TODO use general type convertor infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/driver/jdbc/JDBCExecutorCallback.java (2 lines): - line 62: // TODO It is better to judge whether need sane result before execute, can avoid exception thrown - line 81: // TODO use metadata to replace storageUnits to support multiple logic databases parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java (2 lines): - line 170: // TODO parse not null - line 293: // TODO visit pk and table ref infra/common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java (2 lines): - line 51: // TODO add final for schemaName - line 60: // TODO remove duplicated splitting? kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/registrycenter/elasticjob/CoordinatorRegistryCenterInitializer.java (2 lines): - line 44: // TODO Add registry center cache. Refer to RegistryCenterFactory.createCoordinatorRegistryCenter - line 51: // TODO Merge registry center code in ElasticJob and ShardingSphere mode; Use SPI to load impl parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java (2 lines): - line 950: // TODO Consider setting all three system variables: character_set_client, character_set_results, character_set_connection - line 986: // TODO Consider setting all three system variables: character_set_client, character_set_results, character_set_connection kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLDecorator.java (2 lines): - line 76: // TODO remove it after set search_path is supported. - line 151: // TODO remove it after set search_path is supported. jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java (2 lines): - line 233: // TODO consider get actual catalog by logic catalog rather than random physical datasource's catalog. - line 243: // TODO consider get actual schema by logic catalog rather than random physical datasource's schema. kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/MigrationJobAPI.java (2 lines): - line 204: // TODO Provide only the necessary tables. - line 305: // TODO use origin database name for now. It can be reduce metadata refresh scope after reloadDatabaseMetaData case-sensitive problem fixed. kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/engine/SQLFederationEngine.java (2 lines): - line 221: // TODO open useCache flag when ShardingSphereTable contains version - line 238: // TODO replace DEFAULT_METADATA_VERSION with actual version in ShardingSphereTable parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDALStatementVisitor.java (2 lines): - line 171: // TODO visit declare statement - line 180: // TODO visit refresh materialized view statement proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/session/RequiredSessionVariableRecorder.java (2 lines): - line 68: // TODO Refactor the following switch by SPI if we support more database in future - line 105: // TODO Refactor the following switch by SPI if we support more database in future parser/sql/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DDLStatementVisitor.java (2 lines): - line 107: // TODO parse not null - line 208: // TODO visit pk and table ref proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java (2 lines): - line 161: // TODO should be removed after metadata refresh supported for all database. - line 213: // TODO handle query header infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/segment/dml/from/type/SimpleTableSegmentBinder.java (2 lines): - line 124: // TODO getSchemaName according to search path - line 134: // TODO refactor table exists check with spi @duanzhengqiang parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDALStatementVisitor.java (2 lines): - line 944: // TODO Consider setting all three system variables: character_set_client, character_set_results, character_set_connection - line 983: // TODO Consider setting all three system variables: character_set_client, character_set_results, character_set_connection kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/handler/CDCBackendHandler.java (2 lines): - line 110: // TODO if different schema have same table names, table name may be overwritten, because the table name at sharding rule not contain schema. - line 121: // TODO Add globalCSNSupported to isolate it with decodeWithTx flag, they're different. And also update CDCJobPreparer needSorting flag. proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareExecutor.java (2 lines): - line 97: // TODO Multi statements should be identified by SQL Parser instead of checking if sql contains ";". - line 158: // TODO Calculate column definition flag for other projection types infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/tableless/TablelessRouteEngineFactory.java (2 lines): - line 72: // TODO remove this logic when proxy and jdbc support all dal statement @duanzhengqiang - line 76: // TODO Support more TCL statements by transaction module, then remove this. infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/metadata/data/loader/OracleMetaDataLoader.java (2 lines): - line 149: // TODO need to support caseSensitive when version < 12.2. - line 222: // TODO The table name needs to be in uppercase, otherwise the index cannot be found. kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/util/ShardingColumnsExtractor.java (2 lines): - line 58: // TODO check is it need to be ConcurrentHashMap? - line 59: // TODO check is it need to be ShardingSphereIdentifier with column names? kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/incremental/wal/WALEventConverter.java (2 lines): - line 111: // TODO completion columns - line 113: // TODO Unique key may be a column within unique index proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/config/ProxyConfigurationLoader.java (2 lines): - line 58: // TODO remove COMPATIBLE_GLOBAL_CONFIG_FILE in next major version - line 67: // TODO remove COMPATIBLE_DATABASE_CONFIG_FILE_PATTERN in next major version infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/enums/QuoteCharacter.java (2 lines): - line 116: // TODO Should use unwrap instead of this method after new rules defined in G4's property key and property key, which should include string but cannot permit blank on first and last of the value - line 117: // TODO @longtao parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java (2 lines): - line 450: // TODO parse not null - line 494: // TODO visit pk and table ref parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java (2 lines): - line 565: // TODO parse not null - line 609: // TODO visit pk and table ref kernel/global-clock/type/tso/provider/redis/src/main/java/org/apache/shardingsphere/globalclock/type/tso/provider/redis/RedisTSOProvider.java (2 lines): - line 83: // TODO use redis lock to instead of reg center's lock. lock here #35041 - line 92: // TODO use redis lock to instead of reg center's lock. unlock here #35041 infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/PaginationContext.java (2 lines): - line 117: // TODO handle offsetSegment instance of ExpressionRowNumberValueSegment - line 127: // TODO handle offsetSegment instance of ExpressionRowNumberValueSegment kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/pojo/ConsistencyCheckJobItemInfo.java (2 lines): - line 26: // TODO use final for fields - line 27: // TODO embed ConsistencyCheckJobItemProgress to reduce fields kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/CDCDataNodeUtils.java (1 line): - line 58: // TODO support virtual data source name proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/authenticator/PostgreSQLAuthenticatorType.java (1 line): - line 37: // TODO impl SCRAM_SHA256 Authenticator infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/raw/RawExecutor.java (1 line): - line 60: // TODO Load query header for first query infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/DropDatabaseRuleOperator.java (1 line): - line 60: // TODO refactor to new metadata refresh way infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/AlgorithmExecuteException.java (1 line): - line 26: // TODO It is runnable exception, consider about move out from AlgorithmDefinitionException jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/batch/preparedstatement/DriverExecuteBatchExecutor.java (1 line): - line 119: // TODO add raw SQL executor infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereStatisticsFactory.java (1 line): - line 76: // TODO can `protocolType instanceof SchemaSupportedDatabaseType ? "PostgreSQL" : protocolType.getType()` replace to trunk database type? kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/SQLFederationResultSetMetaData.java (1 line): - line 156: // TODO remove this logic when calcite supports BigInteger type features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/ShardingRuleConfigurationConverter.java (1 line): - line 32: // TODO Move to pipeline module parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dml/pagination/top/TopProjectionSegment.java (1 line): - line 42: // TODO return column label according to database result features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java (1 line): - line 147: // TODO config for cartesian set features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/WhereClauseShardingConditionEngine.java (1 line): - line 93: // TODO remove startIndex when federation has perfect support for subquery features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowDataSourceChangedProcessor.java (1 line): - line 47: // TODO refactor DistSQL to only persist config jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java (1 line): - line 304: // TODO To be supported: encrypt, mask, and so on infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ExplainStatementContext.java (1 line): - line 50: // TODO extract table from declare, execute, createMaterializedView, refreshMaterializedView kernel/schedule/core/src/main/java/org/apache/shardingsphere/schedule/core/job/statistics/collect/StatisticsCollectJobWorker.java (1 line): - line 79: // TODO Merge registry center code in ElasticJob and ShardingSphere mode; Use SPI to load impl infra/database/type/hive/src/main/java/org/apache/shardingsphere/infra/database/hive/metadata/data/loader/HiveMetaDataLoader.java (1 line): - line 67: // TODO Support set hive.metastore uris when register storage unit. features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/strategy/type/standard/StandardShardingStrategy.java (1 line): - line 77: // TODO add ShardingRouteAlgorithmException check when autoTables support config actualDataNodes in #33364 parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/ral/updatable/RefreshDatabaseMetaDataStatement.java (1 line): - line 34: // TODO Remove it. infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/spi/database/DatabaseRuleDropExecutor.java (1 line): - line 34: * TODO Remove temporary default implementation features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessor.java (1 line): - line 50: // TODO refactor DistSQL to only persist config kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/FunctionConverter.java (1 line): - line 57: // TODO optimize sql parse logic for select current_user. db-protocol/postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/PostgreSQLColumnType.java (1 line): - line 198: // TODO Temporary solution for https://github.com/apache/shardingsphere/issues/22522 infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/projection/extractor/dialect/OpenGaussProjectionIdentifierExtractor.java (1 line): - line 51: // TODO support subquery projection kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/util/SQLFederationValidatorUtils.java (1 line): - line 126: // TODO remove withRemoveSortInSubQuery when calcite can expand view which contains order by correctly features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingDataSourceChangedProcessor.java (1 line): - line 63: // TODO refactor DistSQL to only persist config parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dml/expr/TypeCastExpression.java (1 line): - line 39: // TODO Parse data type after https://github.com/apache/shardingsphere/issues/23466 fixed infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/InvalidAlgorithmConfigurationException.java (1 line): - line 25: // TODO consider about merge with AlgorithmInitializationException parser/sql/dialect/firebird/src/main/java/org/apache/shardingsphere/sql/parser/firebird/visitor/statement/type/FirebirdDDLStatementVisitor.java (1 line): - line 236: // TODO visit pk and table ref infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/transaction/DialectTransactionOption.java (1 line): - line 38: // TODO Investgate the reason of some databases cannot support meta data refreshed in transaction. The method should be removed finally after metadata refresh supported for all database. kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/exception/IngestException.java (1 line): - line 23: // TODO extends from PipelineSQLException infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/metadata/data/loader/PostgreSQLMetaDataLoader.java (1 line): - line 217: // TODO user defined collation which deterministic is false jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/transaction/DriverTransactionSQLStatementExecutor.java (1 line): - line 62: // TODO support more TCL statements parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java (1 line): - line 367: // TODO parse not null kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/InventoryRecordsCountCalculator.java (1 line): - line 58: // TODO Get estimate count from meta table, native DataSource is ok, but ShardingSphereDataSource has problem proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutor.java (1 line): - line 74: // TODO Multi statements should be identified by SQL Parser instead of checking if sql contains ";". proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareParameterMarkerExtractor.java (1 line): - line 49: * TODO Support more statements and syntax. features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowCreateTableMergedResult.java (1 line): - line 90: // TODO decorate encrypt column index when we support index rewrite infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/model/ExecutionGroupReportContext.java (1 line): - line 33: // TODO processID should same with connectionId parser/sql/dialect/sqlserver/src/main/antlr4/imports/sqlserver/BaseRule.g4 (1 line): - line 223: // TODO comb expr infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/result/impl/memory/MemoryMergedResult.java (1 line): - line 85: // TODO implement with calendar kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/SQLFederationResultSet.java (1 line): - line 480: // TODO implement with calendar parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDDLStatementVisitor.java (1 line): - line 367: // TODO parse not null proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/XATCLHandler.java (1 line): - line 47: // TODO Currently XA transaction started with `XA START` doesn't support for database with multiple datasource, a flag should be added for this both in init progress and add datasource from DistSQL. infra/util/src/main/java/org/apache/shardingsphere/infra/util/yaml/YamlConfiguration.java (1 line): - line 31: // TODO Only global.yaml and database.yaml handle empty YAML file currently. Other scenarios reading YAML files should also consider overriding this method to check for empty files. infra/common/src/main/java/org/apache/shardingsphere/infra/rule/builder/database/DatabaseRulesBuilder.java (1 line): - line 127: // TODO consider about order for new put items kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/enumerable/EnumerableScanExecutor.java (1 line): - line 128: // TODO pass grantee from proxy and jdbc adapter mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java (1 line): - line 283: * TODO wait 500ms, close cache before close client, or will throw exception Because of asynchronous processing, may cause client to close first and cache has not yet closed the end. Wait for new kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLNegotiateHandler.java (1 line): - line 102: // TODO not support sha256_password now infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/DialectDatabaseMetaData.java (1 line): - line 64: // TODO Reuse java.sql.DatabaseMetaData.nullsAreSortedHigh and java.sql.DatabaseMetaData.nullsAreSortedLow parser/sql/dialect/presto/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/PrestoStatement.g4 (1 line): - line 22: // TODO correct presto SQL parsing according to official documentation src/resources/spotbugs.xml (1 line): - line 88: proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/CDCChannelInboundHandler.java (1 line): - line 93: // TODO add CDC exception to wrapper this exception, and add the parameters requestId and whether to close connect features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/pojo/EncryptAlterTableToken.java (1 line): - line 48: // TODO refactor alter table token features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java (1 line): - line 141: // TODO check sharding rule configuration according to aggregated data sources parser/sql/dialect/doris/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/DorisStatement.g4 (1 line): - line 132: // TODO consider refactor following sytax to SEMI_? EOF parser/sql/dialect/mysql/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/MySQLStatement.g4 (1 line): - line 131: // TODO consider refactor following sytax to SEMI_? EOF jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractStatementAdapter.java (1 line): - line 108: // TODO Confirm MaxRows for multiple databases is need special handle. eg: 10 statements maybe MaxRows / 10 db-protocol/mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/query/binary/prepare/MySQLComStmtPrepareOKPacket.java (1 line): - line 46: // TODO Column Definition Block should be added in future when the meta data of the columns is cached. proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelLimitationInboundHandler.java (1 line): - line 44: // TODO This is not how actual databases does and should be refactored. infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/projection/extractor/dialect/PostgreSQLProjectionIdentifierExtractor.java (1 line): - line 51: // TODO support subquery projection kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/operator/physical/EnumerableModify.java (1 line): - line 49: // TODO generate modification statements based on dataset and related table information. infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/segment/dml/expression/ExpressionSegmentBinder.java (1 line): - line 112: // TODO support more ExpressionSegment bound infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/table/TablesContext.java (1 line): - line 80: // TODO support bind with all statement contains table segment @duanzhengqiang kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContextFactory.java (1 line): - line 50: // TODO consider to use sqlParserRule in global rule proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/lock/UnlockClusterExecutor.java (1 line): - line 46: // TODO unlock snapshot info if locked kernel/transaction/core/src/main/java/org/apache/shardingsphere/transaction/rule/TransactionRule.java (1 line): - line 133: // TODO Consider shutting down the transaction manager gracefully kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/H2OptimizerBuilder.java (1 line): - line 36: // TODO No suitable type of Lex kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/ProjectionsConverter.java (1 line): - line 83: // TODO process other projection kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/schema/SQLFederationSchema.java (1 line): - line 59: // TODO implement table statistic logic after using custom operators kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowUnloadedSingleTablesStatement.java (1 line): - line 35: // TODO support like later infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/DriverExecutionPrepareEngine.java (1 line): - line 106: // TODO use metadata to replace storageUnits to support multiple logic databases kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/prepare/CDCJobPreparer.java (1 line): - line 80: // TODO Use DAG to build it proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationEngine.java (1 line): - line 111: // TODO implement PostgreSQLServerInfo like MySQLServerInfo infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/segment/dml/projection/ProjectionsSegmentBinder.java (1 line): - line 119: // TODO support more ProjectionSegment bound features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AverageAggregationUnit.java (1 line): - line 56: // TODO use metadata to fetch float number precise for database field kernel/data-pipeline/scenario/cdc/client/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/client/util/ProtobufAnyValueConverter.java (1 line): - line 95: // TODO can't use JsonFormat, might change the original value without error prompt. there need to cover more types, kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/record/group/DataRecordGroupEngine.java (1 line): - line 147: // TODO Compatible with multiple unique indexes parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/value/literal/impl/NumberLiteralValue.java (1 line): - line 42: // TODO make sure with double and float db-protocol/postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/codec/PostgreSQLPacketCodecEngine.java (1 line): - line 119: // TODO consider what severity to use features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/checker/ddl/ShardingDropTableRouteContextChecker.java (1 line): - line 65: // TODO check actual tables not be used in multi rules, and remove this check logic infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/type/memory/AbstractMemoryQueryResult.java (1 line): - line 107: // TODO Support connection property character encoding parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/extractor/ExpressionExtractor.java (1 line): - line 125: // TODO support more expression type if necessary proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/generic/PostgreSQLUnsupportedCommandExecutor.java (1 line): - line 38: // TODO consider what severity and error code to use infra/expr/type/espresso/src/main/java/org/apache/shardingsphere/infra/expr/espresso/ReflectContext.java (1 line): - line 41: * TODO oracle/graal#4555 not yet closed. db-protocol/opengauss/src/main/java/org/apache/shardingsphere/db/protocol/opengauss/codec/OpenGaussPacketCodecEngine.java (1 line): - line 121: // TODO consider what severity to use kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/DataConsistencyCheckUtils.java (1 line): - line 90: * TODO To avoid precision inconsistency issues, the current comparison of Timestamp columns across heterogeneous databases ignores `milliseconds` precision. In the future, different mode/type/standalone/repository/provider/jdbc/src/main/java/org/apache/shardingsphere/mode/repository/standalone/jdbc/JDBCRepository.java (1 line): - line 68: // TODO remove it later. Add for reset standalone test e2e's env. Need to close DataSource to release H2's memory data proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManager.java (1 line): - line 109: // FIXME if timeout when lock required, TSO not assigned, but commit will continue, solution is use redis lock in impl to instead of reg center's lock. #35041 features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctAverageAggregationUnit.java (1 line): - line 64: // TODO use metadata to fetch float number precise for database field features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingConstraintTokenGenerator.java (1 line): - line 54: // TODO make sure can remove null check here? @duanzhengqiang features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptTableChangedProcessor.java (1 line): - line 51: // TODO refactor DistSQL to only persist config proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java (1 line): - line 120: // TODO Multi statements should be split by SQL Parser instead of simple regexp. kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java (1 line): - line 72: // TODO use ";" to split is not always correct if return value's comments contains ";" parser/sql/dialect/postgresql/src/main/antlr4/imports/postgresql/BaseRule.g4 (1 line): - line 26: // TODO Only digits allowed after $, not a number parser/sql/dialect/hive/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/HiveStatement.g4 (1 line): - line 22: // TODO correct hive SQL parsing according to official documentation proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/response/header/query/MySQLQueryHeaderBuilder.java (1 line): - line 77: // TODO to be confirmed, QueryHeaderBuilder should not has default value, just throw unsupported exception if database type missing infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/metadata/data/loader/OpenGaussMetaDataLoader.java (1 line): - line 178: // TODO user defined collation which deterministic is false infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterTableStatementBinder.java (1 line): - line 47: // TODO bind column and reference table if kernel need use them features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java (1 line): - line 167: // TODO check this logic when items contain multiple values @duanzhengqiang kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/position/type/pk/PrimaryKeyIngestPositionFactory.java (1 line): - line 77: // TODO support more types, e.g. byte[] (MySQL varbinary) parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dml/expr/ExpressionWithParamsSegment.java (1 line): - line 33: // TODO extends ExpressionSegment infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/projection/engine/ProjectionEngine.java (1 line): - line 137: // TODO replace avg to constant, avoid calculate useless avg kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/progress/ConsistencyCheckJobItemProgress.java (1 line): - line 35: // TODO Refactor structure, List infra/common/src/main/java/org/apache/shardingsphere/infra/rule/PartialRuleUpdateSupported.java (1 line): - line 42: // TODO remove return value when support alter mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/init/type/RegisterCenterMetaDataContextsInitFactory.java (1 line): - line 57: // TODO load global data sources from persist service infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/checker/DatabaseRuleConfigurationCheckEngine.java (1 line): - line 53: // TODO Remove after implementing the checker of BroadcastRuleConfiguration and SingleRuleConfiguration