21 lines
536 B
Python
21 lines
536 B
Python
from psycopg2.extensions import adapt, new_type, register_adapter, register_type
|
|
from ..utils import HalfVector
|
|
|
|
|
|
class HalfvecAdapter:
|
|
def __init__(self, value):
|
|
self._value = value
|
|
|
|
def getquoted(self):
|
|
return adapt(HalfVector._to_db(self._value)).getquoted()
|
|
|
|
|
|
def cast_halfvec(value, cur):
|
|
return HalfVector._from_db(value)
|
|
|
|
|
|
def register_halfvec_info(oid, scope):
|
|
halfvec = new_type((oid,), 'HALFVEC', cast_halfvec)
|
|
register_type(halfvec, scope)
|
|
register_adapter(HalfVector, HalfvecAdapter)
|