Skip to content

Commit dc604e4

Browse files
committed
Added fast paths for higher-level libraries [skip ci]
1 parent 81b118c commit dc604e4

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

pgvector/halfvec.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ def _to_db(cls, value: object) -> str | None:
7676
if value is None:
7777
return value
7878

79+
# fast path for high-level libraries
80+
if isinstance(value, list):
81+
return f'[{",".join([str(float(v)) for v in value])}]'
82+
7983
if not isinstance(value, cls):
8084
value = cls(value) # type: ignore
8185

pgvector/vector.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ def _to_db(cls, value: object) -> str | None:
7676
if value is None:
7777
return value
7878

79+
# fast path for high-level libraries
80+
if isinstance(value, list):
81+
return f'[{",".join([str(float(v)) for v in value])}]'
82+
7983
if not isinstance(value, cls):
8084
value = cls(value) # type: ignore
8185

0 commit comments

Comments
 (0)