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