pyobvector 0.2.9__py3-none-any.whl → 0.2.11__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,8 +26,8 @@ from ..json_table import (
26
26
  logger = logging.getLogger(__name__)
27
27
  logger.setLevel(logging.DEBUG)
28
28
 
29
- JSON_TABLE_META_TABLE_NAME = "_meta_json_t"
30
- JSON_TABLE_DATA_TABLE_NAME = "_data_json_t"
29
+ JSON_TABLE_META_TABLE_NAME = "meta_json_t"
30
+ JSON_TABLE_DATA_TABLE_NAME = "data_json_t"
31
31
 
32
32
  class ObVecJsonTableClient(ObVecClient):
33
33
  """OceanBase Vector Store Client with JSON Table."""
@@ -846,6 +846,7 @@ class ObVecJsonTableClient(ObVecClient):
846
846
  new_select_exprs.append(data_id_col_expr)
847
847
  need_replace_select_exprs = True
848
848
 
849
+ alias_names = set()
849
850
  for select_expr in ast.args['expressions']:
850
851
  if isinstance(select_expr, exp.Star):
851
852
  need_replace_select_exprs = True
@@ -857,6 +858,8 @@ class ObVecJsonTableClient(ObVecClient):
857
858
  col_expr.args['this'] = identifier
858
859
  new_select_exprs.append(col_expr)
859
860
  else:
861
+ if isinstance(select_expr, exp.Alias):
862
+ alias_names.add(select_expr.args['alias'].args['this'])
860
863
  new_select_exprs.append(select_expr)
861
864
  if need_replace_select_exprs:
862
865
  ast.args['expressions'] = new_select_exprs
@@ -865,6 +868,9 @@ class ObVecJsonTableClient(ObVecClient):
865
868
  json_table_str = f"json_table({JSON_TABLE_DATA_TABLE_NAME}.jdata, '$' COLUMNS ({', '.join(json_table_meta_str)})) {tmp_table_name}"
866
869
 
867
870
  for col in ast.find_all(exp.Column):
871
+ col_name = col.args["this"].args["this"]
872
+ if col_name in alias_names:
873
+ continue
868
874
  if 'table' in col.args.keys():
869
875
  if col.args['table'].args['this'] != JSON_TABLE_DATA_TABLE_NAME:
870
876
  col.args['table'].args['this'] = tmp_table_name
@@ -894,6 +900,6 @@ class ObVecJsonTableClient(ObVecClient):
894
900
  where_clause.args['this'] = parse_one(extra_filter_str)
895
901
  ast.args['where'] = where_clause
896
902
 
897
- select_sql = str(ast)
903
+ select_sql = ast.sql(dialect="mysql", identify=True)
898
904
  logger.debug(f"===================== do select: {select_sql}")
899
905
  return self.perform_raw_text_sql(select_sql)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyobvector
3
- Version: 0.2.9
3
+ Version: 0.2.11
4
4
  Summary: A python SDK for OceanBase Vector Store, based on SQLAlchemy, compatible with Milvus API.
5
5
  Author: shanhaikang.shk
6
6
  Author-email: shanhaikang.shk@oceanbase.com
@@ -36,7 +36,7 @@ poetry install
36
36
  - install with pip:
37
37
 
38
38
  ```shell
39
- pip install pyobvector==0.2.9
39
+ pip install pyobvector==0.2.11
40
40
  ```
41
41
 
42
42
  ## Build Doc
@@ -7,7 +7,7 @@ pyobvector/client/fts_index_param.py,sha256=hMCjA3Aecnt0uQQT6UQGTIIqdPk1M4gX4-zR
7
7
  pyobvector/client/index_param.py,sha256=3gXi66Ey1PO9x5_61CrH7DmPb496kviBQI5NT7nfbGc,6309
8
8
  pyobvector/client/milvus_like_client.py,sha256=CpPo6mkGE8iNFpKGBFof3h7E1VTzy1DAPGlFM9F_s8g,26373
9
9
  pyobvector/client/ob_vec_client.py,sha256=Yt2nG0w4268hg7DE0tqkGaytGsY-jqojX8hGTQjmsKg,29390
10
- pyobvector/client/ob_vec_json_table_client.py,sha256=V0tljbkbfZI-chnfGTZAarJvOb84KkP6wnyEqLmk2RY,38726
10
+ pyobvector/client/ob_vec_json_table_client.py,sha256=zUNP7PXVuUwohzM9rjtWks8sGVJVJ3GvyRKtoFDnhgI,39032
11
11
  pyobvector/client/partitions.py,sha256=Bxwr5yVNlXwZc7SXBC03NeqL9giy4Fe6S2qZdHD8xGw,15621
12
12
  pyobvector/client/schema_type.py,sha256=ICCSriOhk-P7Q1PhK0D0XQMTd3ZDFenCrJMXp6hRQdw,1579
13
13
  pyobvector/json_table/__init__.py,sha256=X5MmK3f10oyJleUUFZJFeunMEfzmf6P1f_7094b-FZc,554
@@ -29,7 +29,7 @@ pyobvector/schema/vector_index.py,sha256=aNtrEBUclc4s6QuqCZpu3Hj3OdjyhbWgtLiJzo6
29
29
  pyobvector/util/__init__.py,sha256=D9EgRDlcMSDhY3uI__vnCl45Or75dOXMWSval5P5fqs,251
30
30
  pyobvector/util/ob_version.py,sha256=ZIySam8q_MCiwctAiAHPB4GdAzGQiXEo1wVkc9IOTDU,1539
31
31
  pyobvector/util/vector.py,sha256=xyM-NuOyd78K7P3kinqyWvLIzEbf9c-4TKn_QVF7qgw,2265
32
- pyobvector-0.2.9.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
33
- pyobvector-0.2.9.dist-info/METADATA,sha256=5uhcbXDdN1anCq7Hl1aTF4aDtDBmY10UAfZXltZS3s8,6657
34
- pyobvector-0.2.9.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
35
- pyobvector-0.2.9.dist-info/RECORD,,
32
+ pyobvector-0.2.11.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
33
+ pyobvector-0.2.11.dist-info/METADATA,sha256=_wtAgSEx2uHG_ScDgZxKFKcfWs4QFihXOOLmRChHgIM,6659
34
+ pyobvector-0.2.11.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
35
+ pyobvector-0.2.11.dist-info/RECORD,,