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]

Reply via email to