diff --git a/test/expected/ivfflat_halfvec.out b/test/expected/ivfflat_halfvec.out index 4893ad1..c9fb7eb 100644 --- a/test/expected/ivfflat_halfvec.out +++ b/test/expected/ivfflat_halfvec.out @@ -93,3 +93,27 @@ CREATE TABLE t (val halfvec(4001)); CREATE INDEX ON t USING ivfflat (val halfvec_l2_ops); ERROR: column cannot have more than 4000 dimensions for ivfflat index DROP TABLE t; +-- memory +CREATE TABLE t (val halfvec(4000)); +CREATE INDEX ON t USING ivfflat (val halfvec_l2_ops) WITH (lists = 8192); +NOTICE: ivfflat index created with little data +DETAIL: This will cause low recall. +HINT: Drop the index until the table has more data. +DROP TABLE t; +SET maintenance_work_mem = '1MB'; +CREATE TABLE t (val halfvec(4000)); +CREATE INDEX ON t USING ivfflat (val halfvec_l2_ops); +NOTICE: ivfflat index created with little data +DETAIL: This will cause low recall. +HINT: Drop the index until the table has more data. +DROP TABLE t; +RESET maintenance_work_mem; +SET maintenance_work_mem = '6MB'; +CREATE TABLE t (val halfvec(4000)); +INSERT INTO t (val) VALUES (array_fill(0, ARRAY[4000])); +CREATE INDEX ON t USING ivfflat (val halfvec_l2_ops); +NOTICE: ivfflat index created with little data +DETAIL: This will cause low recall. +HINT: Drop the index until the table has more data. +DROP TABLE t; +RESET maintenance_work_mem; diff --git a/test/sql/ivfflat_halfvec.sql b/test/sql/ivfflat_halfvec.sql index a81b4ab..9c7297a 100644 --- a/test/sql/ivfflat_halfvec.sql +++ b/test/sql/ivfflat_halfvec.sql @@ -53,3 +53,22 @@ DROP TABLE t; CREATE TABLE t (val halfvec(4001)); CREATE INDEX ON t USING ivfflat (val halfvec_l2_ops); DROP TABLE t; + +-- memory + +CREATE TABLE t (val halfvec(4000)); +CREATE INDEX ON t USING ivfflat (val halfvec_l2_ops) WITH (lists = 8192); +DROP TABLE t; + +SET maintenance_work_mem = '1MB'; +CREATE TABLE t (val halfvec(4000)); +CREATE INDEX ON t USING ivfflat (val halfvec_l2_ops); +DROP TABLE t; +RESET maintenance_work_mem; + +SET maintenance_work_mem = '6MB'; +CREATE TABLE t (val halfvec(4000)); +INSERT INTO t (val) VALUES (array_fill(0, ARRAY[4000])); +CREATE INDEX ON t USING ivfflat (val halfvec_l2_ops); +DROP TABLE t; +RESET maintenance_work_mem;