polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java (31 lines): - line 179: // TODO: Support some more formal garbage-collection mechanism so that a garbage-collector - line 199: // TODO: Support some more formal garbage-collection mechanism similar to grant records case - line 319: // TODO: Reorder and/or expose bulk update of both grantRecordsVersions and grant records. In - line 322: // TODO: Figure out if it's actually necessary to separately validate whether the entities have - line 409: // TODO: Reorder and/or expose bulk update of both grantRecordsVersions and grant records. In - line 488: // TODO: Garbage-collection should include integrations, and anything else created before - line 490: // TODO: Perform best-effort cleanup. For now, none of the codebase apparently cleans - line 549: // TODO: Reorder and/or expose bulk update/create of new entities and grant records. In the - line 623: // TODO: Make idempotent by being able to continue where it left off for the context's realm. - line 655: // TODO: Clean up shared logic for catalogId/parentId - line 672: // TODO: Use post-validation to enforce consistent view against catalogPath. In the - line 695: // TODO: Clean up shared logic for catalogId/parentId - line 713: // TODO: Use post-validation to enforce consistent view against catalogPath. In the - line 811: // TODO: Garbage-collection should include principal secrets if the server crashes - line 891: // TODO: Rethink the atomicity of the relationship between principalSecrets and principal - line 913: // TODO: Use post-validation to enforce consistent view against catalogPath. In the - line 937: // TODO: Use post-validation to enforce consistent view against catalogPath. In the - line 968: // TODO: No longer make a copy once we have immutable PolarisBaseEntity everywhere. - line 978: // TODO: Revalidate parent-path *after* performing update to fulfill the semantic of returning - line 1118: // TODO: Use post-validation of source and destination parent paths and/or update the - line 1138: // TODO: Either document allowance of dropping entity concurrently with potentially-impacting - line 1165: // TODO: Come up with atomic solution to blocking dropping of container entities that - line 1244: // TODO: Add a way to create the task entities atomically with dropping the entity; - line 1380: // TODO: Consider whether it's necessary to look up both ends of the grant records atomically - line 1426: // TODO: Consider whether it's necessary to look up both ends of the grant records atomically - line 1549: // TODO: Currently the contract defined by BasePolarisMetaStoreManagerTest expects either - line 1586: // TODO: Consider whether this independent lookup is safe for the model already or whether - line 1658: // TODO: Consider whether it's necessary to look up grant records atomically with the entity - line 1695: // TODO: Consider whether it's necessary to look up grant records atomically with the entity - line 1734: // TODO: If the original backfill attempt crashes after persisting the root entity - line 1788: // TODO: Consider whether it's necessary to look up grant records atomically with the entity service/common/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogHandler.java (11 lines): - line 152: * TODO: Make the helper in org.apache.iceberg.rest.CatalogHandlers public instead of needing to - line 280: // TODO: This authz check doesn't accomplish true authz in terms of blocking the ability - line 288: // TODO: Just skip CatalogHandlers for this one maybe - line 580: // TODO: Refactor null-checking into the helper method once we create a more canonical - line 624: // TODO: Refactor to have a boolean-return version of the helpers so we can fallthrough - line 672: // TODO: Refactor null-checking into the helper method once we create a more canonical - line 682: // TODO: Find a way for the configuration or caller to better express whether to fail or omit - line 818: // TODO: Just skip CatalogHandlers for this one maybe - line 841: // TODO: The authz actually needs to detect hidden updateForStagedCreate UpdateTableRequests - line 938: // TODO: Retries and server-side cleanup on failure - line 1003: // TODO: Just skip CatalogHandlers for this one maybe service/common/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalog.java (10 lines): - line 533: // TODO: These should really be helpers in core Iceberg Namespace. - line 1343: // TODO: Once we have the "current" table properties pulled into the resolvedEntity - line 1365: // TODO: Maybe avoid writing metadata if there's definitely a transaction conflict - line 1445: // TODO: Consider using the entity from doRefresh() directly to do the conflict detection - line 1717: // TODO: Once we have the "current" table properties pulled into the resolvedEntity - line 1738: // TODO: Maybe avoid writing metadata if there's definitely a transaction conflict - line 2040: // TODO: Properly handle initialization - line 2188: // TODO: Validate catalogPath size is at least 1 for catalog entity? - line 2267: // TODO: Error? - line 2428: // TODO: These might fail due to concurrent update; we need to do a retry in those cases. service/common/src/main/java/org/apache/polaris/service/admin/PolarisAdminService.java (9 lines): - line 230: // TODO: If we do add more "self" privilege operations for PRINCIPAL targets this should - line 286: // TODO: Merge this method into authorizeGrantOnTopLevelEntityToPrincipalRoleOperationOrThrow - line 657: // TODO: Make this more targeted once we have connection configs that don't involve - line 709: // TODO: Proactive garbage-collection of any inline secrets that were written to the - line 725: // TODO: Handle return value in case of concurrent modification - line 763: // TODO: Expand the set of validations if there are other fields for other cloud providers - line 931: // TODO: Handle return value in case of concurrent modification - line 1095: // TODO: Handle return value in case of concurrent modification - line 1211: // TODO: Handle return value in case of concurrent modification polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/TransactionalMetaStoreManagerImpl.java (8 lines): - line 234: // TODO: Also, if an entity contains a storage integration, delete the storage integration - line 306: // TODO: Update this to be an atomic bulk-update of the grantee/securable, ideally along - line 393: // TODO: Update this to be an atomic bulk-update of the grantee/securable, ideally along - line 990: // TODO: Check correctness of returning entityFound vs entity here. It may have already - line 1094: // TODO: Check if this is a bug that might cause grantRecordVersions to go backwards. The - line 1105: // TODO: Give useful extraInformation - line 1957: // TODO: Refactor into immutable/Builder pattern. - line 1976: // TODO: Consider performing incremental leasing of individual tasks one at a time polaris-core/src/main/java/org/apache/polaris/core/persistence/BasePersistence.java (6 lines): - line 63: *

TODO: Either standardize the expected system of exceptions to throw for various concurrency - line 68: *

TODO: Change originalEntity to be just the set of members taht participate in conditions, - line 96: * entities are root-scoped entities (Catalogs/Principals/PrincipalRoles/Tasks). TODO: - line 101: *

TODO: Push down the multi-entity commit from PolarisMetaStoreManagerImpl to use this instead - line 104: *

TODO: Change originalEntity to be just the set of members taht participate in conditions, - line 386: *

TODO: Figure out if this is needed vs listEntities with limit. polaris-core/src/main/java/org/apache/polaris/core/persistence/resolver/PolarisResolutionManifest.java (6 lines): - line 97: // TODO: Make the rootContainer lookup no longer optional in the persistence store. - line 140: // TODO: This could be a race condition where a Principal is dropped after initial authn - line 208: // TODO: For passthrough facade semantics, consider whether this should be where we generate - line 307: // TODO: Throw appropriate Catalog NOT_FOUND exception before any call to - line 356: // TODO: For passthrough facade semantics, consider whether this should be where we generate - line 390: // TODO: Reconcile how we'll handle "TABLE_NOT_FOUND" or "VIEW_NOT_FOUND" semantics polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/AbstractTransactionalPersistence.java (3 lines): - line 174: // TODO: Better standardization of exception types, possibly make the ones that are - line 229: // TODO: This isn't quite correct right now, because originalEntity is only actually - line 594: // TODO: This isn't quite correct right now, because originalEntity is only actually polaris-core/src/main/java/org/apache/polaris/core/entity/PolarisEntity.java (3 lines): - line 42: *

TODO: Combine this fully into PolarisBaseEntity, refactor all callsites to use strict - line 324: // TODO: Validate required fields - line 359: // TODO: Maybe block this one whenever builder is created from previously-existing entity polaris-core/src/main/java/org/apache/polaris/core/secrets/UserSecretReference.java (2 lines): - line 73: // TODO: Add better/standardized parsing and validation of URN syntax - line 91: // TODO: Add better/standardized parsing and validation of URN syntax service/common/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogAdapter.java (2 lines): - line 159: // FIXME: This is a hack to set the current context for downstream calls. - line 692: // TODO: Push this down into PolarisCatalogHandlerWrapper for authorizing "any" catalog plugins/spark/v3.5/spark/build.gradle.kts (2 lines): - line 38: // TODO: extract a polaris-rest module as a thin layer for - line 115: // TODO: replace the check using gradlew checkstyle plugin client/python/polaris/catalog/models/struct_field.py (2 lines): - line 67: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - line 117: # TODO: Rewrite to not use raise_errors client/python/polaris/catalog/models/not_expression.py (2 lines): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - line 111: # TODO: Rewrite to not use raise_errors polaris-core/src/main/java/org/apache/polaris/core/persistence/BaseMetaStoreManager.java (2 lines): - line 153: // TODO: Make immutable; make sure no caller depends on the input entity actually - line 219: // TODO: Make immutable; make sure no caller depends on the input entity actually client/python/polaris/catalog/models/list_type.py (2 lines): - line 73: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - line 122: # TODO: Rewrite to not use raise_errors polaris-core/src/main/java/org/apache/polaris/core/persistence/resolver/Resolver.java (2 lines): - line 538: // TODO: Provide configurable option to enforce bulk validation of *all* entities in a - line 668: // TODO: Consider how this interacts with CATALOG_ROLE in the isPassthroughFacade case. client/python/polaris/catalog/models/struct_type.py (2 lines): - line 71: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - line 122: # TODO: Rewrite to not use raise_errors polaris-core/src/main/java/org/apache/polaris/core/auth/PolarisAuthorizerImpl.java (2 lines): - line 544: // TODO: Fill out the map, maybe in the PolarisPrivilege enum definition itself. - line 634: // TODO: Collect missing privileges to report all at the end and/or return to code extension/persistence/eclipselink/src/main/java/org/apache/polaris/extension/persistence/impl/eclipselink/PolarisEclipseLinkStore.java (2 lines): - line 230: // TODO Support paging - line 423: // TODO: combine existence check and write into one statement client/python/polaris/catalog/models/and_or_expression.py (2 lines): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - line 116: # TODO: Rewrite to not use raise_errors polaris-core/src/main/java/org/apache/polaris/core/secrets/UnsafeInMemorySecretsManager.java (2 lines): - line 37: // TODO: Remove this and wire into QuarkusProducers; just a placeholder for now to get the - line 115: // TODO: Precondition checks and/or wire in PolarisDiagnostics client/python/polaris/catalog/models/map_type.py (2 lines): - line 75: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - line 129: # TODO: Rewrite to not use raise_errors client/python/polaris/catalog/models/position_delete_file.py (1 line): - line 73: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead quarkus/service/src/main/java/org/apache/polaris/service/quarkus/metrics/QuarkusValueExpressionResolver.java (1 line): - line 32: // TODO maybe replace with CEL of some expression engine and make this more generic client/python/polaris/management/models/grant_resources.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/snapshot.py (1 line): - line 70: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/view_version.py (1 line): - line 70: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/api_client.py (1 line): - line 82: 'long': int, # TODO remove as only py3 is supported? client/python/polaris/management/models/principal_with_credentials.py (1 line): - line 66: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/remove_snapshot_ref_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/table_grant.py (1 line): - line 67: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/table_metadata.py (1 line): - line 93: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/external_catalog.py (1 line): - line 66: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/set_default_sort_order_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/value_map.py (1 line): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/assert_create.py (1 line): - line 71: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead service/common/src/main/java/org/apache/polaris/service/auth/DefaultActiveRolesProvider.java (1 line): - line 86: // FIXME how to distinguish allRoles from no roles at all? client/python/polaris/catalog/models/create_table_request.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/set_partition_statistics_update.py (1 line): - line 73: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/commit_table_response.py (1 line): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/o_auth_token_response.py (1 line): - line 76: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/catalog_grant.py (1 line): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/create_catalog_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/model_schema.py (1 line): - line 74: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/set_current_view_version_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead extension/persistence/relational-jdbc/src/main/java/org/apache/polaris/extension/persistence/relational/jdbc/JdbcMetaStoreManagerFactory.java (1 line): - line 60: * using a JDBC backed by SQL metastore. TODO: refactor - TODO: make code generation use {@link org.apache.iceberg.catalog.Namespace} directly client/python/polaris/catalog/models/assert_current_schema_id.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java (1 line): - line 74: // TODO: If we want to support the semantic of opening a transaction in which multiple client/python/polaris/catalog/models/commit_report.py (1 line): - line 69: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/TreeMapMetaStore.java (1 line): - line 67: *

TODO: return a copy of each object to avoid mutating the records client/python/polaris/management/models/revoke_grant_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead service/common/src/main/java/org/apache/polaris/service/auth/TokenRequestValidator.java (1 line): - line 53: // TODO: Figure out how to get the authorization header from `securityContext` client/python/polaris/catalog/models/remove_statistics_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead service/common/src/main/java/org/apache/polaris/service/task/TableCleanupTaskHandler.java (1 line): - line 115: // TODO: handle partition statistics files service/common/src/main/java/org/apache/polaris/service/context/DefaultCallContextResolver.java (1 line): - line 63: // TODO: Once we have non-transactional-database persistence stores, this should be client/python/polaris/catalog/models/equality_delete_file.py (1 line): - line 74: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/update_catalog_request.py (1 line): - line 66: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/create_principal_role_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead plugins/spark/v3.5/spark/src/main/java/org/apache/polaris/spark/utils/PolarisCatalogUtils.java (1 line): - line 92: * reflection. TODO: Deprecate this function once the iceberg client is updated to 1.9.0 to use client/python/polaris/catalog/models/set_location_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/assign_uuid_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead service/common/src/main/java/org/apache/polaris/service/catalog/generic/GenericTableCatalogAdapter.java (1 line): - line 69: // FIXME: This is a hack to set the current context for downstream calls. client/python/polaris/management/models/namespace_grant.py (1 line): - line 66: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead extension/persistence/relational-jdbc/src/main/resources/h2/schema-v1.sql (1 line): - line 44: -- TODO: create indexes based on all query pattern. client/python/polaris/catalog/models/remove_snapshots_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/add_schema_update.py (1 line): - line 74: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/set_snapshot_ref_update.py (1 line): - line 84: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/grant_resource.py (1 line): - line 95: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/sql_view_representation.py (1 line): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/assert_last_assigned_partition_id.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/set_current_schema_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/get_namespace_response.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/table_identifier.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/update_catalog_role_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/grant_principal_role_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/error_model.py (1 line): - line 67: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/table_update_notification.py (1 line): - line 68: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/add_sort_order_update.py (1 line): - line 73: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead polaris-core/src/main/java/org/apache/polaris/core/persistence/ResolvedPolarisEntity.java (1 line): - line 97: // TODO: Precondition checks that grantee or securable ids in grant records match entity as client/python/polaris/management/models/create_principal_request.py (1 line): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/data_file.py (1 line): - line 81: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/update_principal_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/polaris_catalog.py (1 line): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead extension/persistence/relational-jdbc/src/main/java/org/apache/polaris/extension/persistence/relational/jdbc/JdbcBasePersistenceImpl.java (1 line): - line 121: // TODO: Check correctness of returning entityFound vs entity here. It may have extension/persistence/relational-jdbc/src/main/java/org/apache/polaris/extension/persistence/relational/jdbc/QueryGenerator.java (1 line): - line 207: // TODO: check if we want to make schema name configurable. client/python/polaris/catalog/models/count_map.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead service/common/src/main/java/org/apache/polaris/service/catalog/policy/PolicyCatalogAdapter.java (1 line): - line 74: // FIXME: This is a hack to set the current context for downstream calls. client/python/polaris/catalog/models/assert_last_assigned_field_id.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/view_requirement.py (1 line): - line 85: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/commit_transaction_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/register_table_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead service/common/src/main/java/org/apache/polaris/service/config/DefaultConfigurationStore.java (1 line): - line 37: // FIXME the whole PolarisConfigurationStore + PolarisConfiguration needs to be refactored client/python/polaris/catalog/models/metadata_log_inner.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/assert_view_uuid.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/update_namespace_properties_response.py (1 line): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/update_namespace_properties_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/catalog_config.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead polaris-core/src/main/java/org/apache/polaris/core/entity/CatalogEntity.java (1 line): - line 255: // TODO: Reconsider whether this should actually just be a check up-front or if we client/python/polaris/catalog/models/assert_default_sort_order_id.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead polaris-core/src/main/java/org/apache/polaris/core/persistence/PolarisResolvedPathWrapper.java (1 line): - line 32: // TODO: Distinguish between whether parentPath had a null in the chain or whether only client/python/polaris/catalog/models/type.py (1 line): - line 186: # TODO: Rewrite to not use raise_errors service/common/src/main/java/org/apache/polaris/service/config/FeaturesConfiguration.java (1 line): - line 29: // FIXME replace with dynamic sources and/or feature flags client/python/polaris/management/models/add_grant_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/upgrade_format_version_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead extension/persistence/eclipselink/src/main/java/org/apache/polaris/extension/persistence/impl/eclipselink/PolarisSequenceUtil.java (1 line): - line 65: * before any other methods. TODO: after a sufficient this can eventually be removed or altered client/python/polaris/catalog/models/blob_metadata.py (1 line): - line 67: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/commit_view_request.py (1 line): - line 68: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead quarkus/service/src/main/java/org/apache/polaris/service/quarkus/metrics/RealmIdTagContributor.java (1 line): - line 38: // FIXME request scope does not work here, so we have to resolve the realm context manually service/common/src/main/java/org/apache/polaris/service/catalog/common/CatalogHandler.java (1 line): - line 341: // TODO: Possibly modify the exception thrown depending on whether the caller has privileges client/python/polaris/catalog/models/assert_ref_snapshot_id.py (1 line): - line 73: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/remove_properties_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/remove_partition_statistics_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead service/common/src/main/java/org/apache/polaris/service/context/PolarisCallContextCatalogFactory.java (1 line): - line 118: // TODO: The initialize properties might need to take more from CallContext and the client/python/polaris/catalog/api_client.py (1 line): - line 82: 'long': int, # TODO remove as only py3 is supported? client/python/polaris/catalog/models/snapshot_summary.py (1 line): - line 71: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/set_expression.py (1 line): - line 66: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/principals.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/principal.py (1 line): - line 68: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/scan_report.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead polaris-core/src/main/java/org/apache/polaris/core/storage/StorageLocation.java (1 line): - line 32: // TODO implement StorageLocation for all supported file systems and add isValidLocation client/python/polaris/catalog/models/view_history_entry.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/add_view_version_update.py (1 line): - line 73: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/snapshot_log_inner.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/add_partition_spec_update.py (1 line): - line 73: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/principal_role.py (1 line): - line 67: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/catalog_roles.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/catalog.py (1 line): - line 101: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/azure_storage_config_info.py (1 line): - line 66: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/create_namespace_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/unary_expression.py (1 line): - line 66: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/storage_config_info.py (1 line): - line 96: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/sort_order.py (1 line): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/timer_result.py (1 line): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/set_properties_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/gcp_storage_config_info.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/catalogs.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/notification_request.py (1 line): - line 66: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/assert_table_uuid.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/o_auth_error.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead quarkus/service/src/main/java/org/apache/polaris/service/quarkus/config/QuarkusBehaviorChangesConfiguration.java (1 line): - line 32: // FIXME: this should extend FeatureConfiguration, but that causes conflicts with client/python/polaris/catalog/models/transform_term.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/content_file.py (1 line): - line 98: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/partition_field.py (1 line): - line 66: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/create_view_request.py (1 line): - line 69: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/create_catalog_role_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/catalog_properties.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/assert_default_spec_id.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/view_metadata.py (1 line): - line 74: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/sort_field.py (1 line): - line 68: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/set_statistics_update.py (1 line): - line 74: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/counter_result.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead plugins/spark/v3.5/spark/src/main/java/org/apache/polaris/spark/PolarisRESTCatalog.java (1 line): - line 91: // TODO: switch to use authManager once iceberg dependency is updated to 1.9.0 quarkus/admin/src/main/java/org/apache/polaris/admintool/BootstrapCommand.java (1 line): - line 80: List realms; // TODO Iterable client/python/polaris/catalog/models/snapshot_reference.py (1 line): - line 74: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/catalog_role.py (1 line): - line 67: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead extension/persistence/relational-jdbc/src/main/resources/postgres/schema-v1.sql (1 line): - line 43: -- TODO: create indexes based on all query pattern. service/common/src/main/java/org/apache/polaris/service/task/TaskExecutorImpl.java (1 line): - line 98: // FIXME replace with context propagation? client/python/polaris/management/models/principal_with_credentials_credentials.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/table_requirement.py (1 line): - line 92: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/aws_storage_config_info.py (1 line): - line 71: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/iceberg_error_response.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/load_view_result.py (1 line): - line 66: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/view_grant.py (1 line): - line 67: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead service/common/src/main/java/org/apache/polaris/service/admin/PolarisServiceImpl.java (1 line): - line 105: // FIXME: This is a hack to set the current context for downstream calls. client/python/polaris/management/models/update_principal_role_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead extension/persistence/eclipselink/src/main/java/org/apache/polaris/extension/persistence/impl/eclipselink/PolarisEclipseLinkMetaStoreSessionImpl.java (1 line): - line 83: // TODO this has to be refactored, see https://github.com/apache/polaris/issues/463 and client/python/polaris/catalog/models/partition_spec.py (1 line): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/add_snapshot_update.py (1 line): - line 73: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/commit_table_request.py (1 line): - line 68: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/file_storage_config_info.py (1 line): - line 63: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/base_update.py (1 line): - line 105: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/literal_expression.py (1 line): - line 66: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/management/models/grant_catalog_role_request.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/set_default_spec_update.py (1 line): - line 72: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead client/python/polaris/catalog/models/expression.py (1 line): - line 197: # TODO: Rewrite to not use raise_errors polaris-core/src/main/java/org/apache/polaris/core/entity/table/GenericTableEntity.java (1 line): - line 72: // TODO in the future, we may validate the format and require certain properties client/python/polaris/catalog/models/partition_statistics_file.py (1 line): - line 65: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead polaris-core/src/main/java/org/apache/polaris/core/storage/aws/AwsCredentialsStorageIntegration.java (1 line): - line 115: // TODO - add KMS key access client/python/polaris/management/models/principal_roles.py (1 line): - line 64: # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead