jiangxt2 opened a new pull request, #13586: URL: https://github.com/apache/gravitino/pull/13586
### What changes were proposed in this pull request? Add `DATA_SKIPPING_TEXT` to the Python index model and preserve index `properties` through JSON serialization, deserialization, and DTO conversion. Add focused tests for index and table metadata round trips and Python `load_table`. ### Why are the changes needed? The server-side text-index reader proposed in #13419 will expose native text indexes as `DATA_SKIPPING_TEXT`. The Python client currently rejects that enum value during `load_table` and drops supported `tokenizer` and `ngram_size` properties. This follow-up allows the Python client to read and retain that metadata. This client-only change can merge independently and becomes effective when the server returns the new enum value. This draft overlaps #13432's index-property serialization change; the shared code will be reconciled before this PR is marked ready. Related to #11934. ### Does this PR introduce _any_ user-facing change? Yes. Python clients can decode text-index metadata and access supported tokenizer properties. Nonempty index properties are also retained when Python serializes indexes; empty properties remain omitted. Creating or altering ClickHouse text indexes through Gravitino remains unsupported, and the Python client still lacks enum values for other ClickHouse data-skipping index types. ### How was this patch tested? - `cd clients/client-python && python -m pytest -q tests/unittests/dto/rel/test_index_serdes.py tests/unittests/dto/rel/test_table_dto.py tests/unittests/dto/util/test_dto_converters.py tests/unittests/test_relational_catalog.py` — 88 tests passed on the functional code; the later amendment changed only a docstring. - Black and the project's default Ruff lint check passed for all seven changed Python files; `git diff --check` passed. - The pinned `ruff-format` pre-commit hook reflowed an unrelated existing test line into a form rejected by Black, so the full pre-commit run did not pass; the hook-only change was reverted. - The `load_table` test uses a mocked REST response; no live ClickHouse integration was run for this Python-only patch. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
