# TODO: Some tests are disabled due to unimplemented types: sparse vector and f16 vector statement ok CREATE TABLE t (val0 vector(3)); statement ok INSERT INTO t (val0) VALUES ('[0.1, 0.1, 0.1]'), ('[0.2, 0.2, 0.2]'), ('[0.3, 0.3, 0.3]'), ('[0.4, 0.4, 0.4]'); statement ok CREATE INDEX ON t USING vchordrq (val0 vector_l2_ops); # original style query I SELECT val0 FROM t WHERE val0 <-> '[0.24, 0.24, 0.24]' < 0.12 ORDER BY val0 <-> '[0.24, 0.24, 0.24]'; ---- [0.2,0.2,0.2] [0.3,0.3,0.3] # sphere style query I SELECT val0 FROM t WHERE val0 <<->> sphere('[0.24, 0.24, 0.24]'::vector, 0.12) ORDER BY val0 <-> '[0.24, 0.24, 0.24]'; ---- [0.2,0.2,0.2] [0.3,0.3,0.3] # sphere style: multiple vector keys and no order-by key # query I # SELECT val0 FROM t WHERE val0 <<->> sphere('[0.24, 0.24, 0.24]'::vector, 0.012) # AND val1 <<#>> sphere('[0.24, -0.24, 0.24]'::halfvec, 0.05) # ORDER BY val0 <-> '[0.24, 0.24, 0.24]'; # ---- # [0.2,0.2,0.2] # sphere style: vectors in key and order-by key are different # query I # SELECT val0 FROM t WHERE val0 <<->> sphere('[0.24, 0.24, 0.24]'::vector, 0.012) # ORDER BY val1 <#> '[1, 1, -1]'; # ---- # [0.3,0.3,0.3] # [0.2,0.2,0.2] statement ok DROP TABLE t;