mirror of
https://github.com/pgvector/pgvector.git
synced 2026-07-15 00:56:54 +08:00
Raise error for varbit
This commit is contained in:
@@ -163,9 +163,9 @@ HnswGetType(Relation index)
|
|||||||
Oid typid = TupleDescAttr(index->rd_att, 0)->atttypid;
|
Oid typid = TupleDescAttr(index->rd_att, 0)->atttypid;
|
||||||
HeapTuple tuple;
|
HeapTuple tuple;
|
||||||
Form_pg_type type;
|
Form_pg_type type;
|
||||||
int result;
|
HnswType result;
|
||||||
|
|
||||||
if (typid == BITOID || typid == VARBITOID)
|
if (typid == BITOID)
|
||||||
return HNSW_TYPE_BIT;
|
return HNSW_TYPE_BIT;
|
||||||
|
|
||||||
tuple = SearchSysCache1(TYPEOID, ObjectIdGetDatum(typid));
|
tuple = SearchSysCache1(TYPEOID, ObjectIdGetDatum(typid));
|
||||||
@@ -180,7 +180,10 @@ HnswGetType(Relation index)
|
|||||||
else if (strcmp(NameStr(type->typname), "sparsevec") == 0)
|
else if (strcmp(NameStr(type->typname), "sparsevec") == 0)
|
||||||
result = HNSW_TYPE_SPARSEVEC;
|
result = HNSW_TYPE_SPARSEVEC;
|
||||||
else
|
else
|
||||||
elog(ERROR, "Unsupported type");
|
{
|
||||||
|
ReleaseSysCache(tuple);
|
||||||
|
elog(ERROR, "type not supported for hnsw index");
|
||||||
|
}
|
||||||
|
|
||||||
ReleaseSysCache(tuple);
|
ReleaseSysCache(tuple);
|
||||||
|
|
||||||
|
|||||||
@@ -19,3 +19,9 @@ SELECT COUNT(*) FROM (SELECT * FROM t ORDER BY val <~> (SELECT NULL::bit)) t2;
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
|
-- TODO move
|
||||||
|
CREATE TABLE t (val varbit(3));
|
||||||
|
CREATE INDEX ON t USING hnsw (val bit_hamming_ops);
|
||||||
|
ERROR: type not supported for hnsw index
|
||||||
|
CREATE INDEX ON t USING hnsw ((val::bit(3)) bit_hamming_ops);
|
||||||
|
DROP TABLE t;
|
||||||
|
|||||||
@@ -10,3 +10,9 @@ SELECT * FROM t ORDER BY val <~> B'111';
|
|||||||
SELECT COUNT(*) FROM (SELECT * FROM t ORDER BY val <~> (SELECT NULL::bit)) t2;
|
SELECT COUNT(*) FROM (SELECT * FROM t ORDER BY val <~> (SELECT NULL::bit)) t2;
|
||||||
|
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
|
|
||||||
|
-- TODO move
|
||||||
|
CREATE TABLE t (val varbit(3));
|
||||||
|
CREATE INDEX ON t USING hnsw (val bit_hamming_ops);
|
||||||
|
CREATE INDEX ON t USING hnsw ((val::bit(3)) bit_hamming_ops);
|
||||||
|
DROP TABLE t;
|
||||||
|
|||||||
Reference in New Issue
Block a user