diff --git a/test/t/004_centers.pl b/test/t/004_centers.pl new file mode 100644 index 0000000..9c2b53a --- /dev/null +++ b/test/t/004_centers.pl @@ -0,0 +1,36 @@ +use strict; +use warnings; +use PostgresNode; +use TestLib; +use Test::More tests => 3; + +# Initialize node +my $node = get_new_node('node'); +$node->init; +$node->start; + +# Create table +$node->safe_psql("postgres", "CREATE EXTENSION vector;"); +$node->safe_psql("postgres", "CREATE TABLE tst (i int4, v vector(3));"); +$node->safe_psql("postgres", + "INSERT INTO tst SELECT i, '[1,2,3]' FROM generate_series(1, 10) i;" +); + +sub test_centers +{ + my ($lists, $min) = @_; + + my ($ret, $stdout, $stderr) = $node->psql("postgres", "CREATE INDEX ON tst USING ivfflat (v) WITH (lists = $lists);"); + is($ret, 0, $stderr); +} + +# Test no error for duplicate centers +test_centers(5); +test_centers(10); + +$node->safe_psql("postgres", + "INSERT INTO tst SELECT i, '[4,5,6]' FROM generate_series(1, 10) i;" +); + +# Test no error for duplicate centers +test_centers(10);