Skip to content

Commit 08d0340

Browse files
committed
Improved IVFFlat vacuum test [skip ci]
1 parent 7d2eb49 commit 08d0340

File tree

1 file changed

+6
-11
lines changed

1 file changed

+6
-11
lines changed

test/t/002_ivfflat_vacuum.pl

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,7 @@
66

77
my $dim = 3;
88

9-
my @r = ();
10-
for (1 .. $dim)
11-
{
12-
my $v = int(rand(1000)) + 1;
13-
push(@r, "i % $v");
14-
}
15-
my $array_sql = join(", ", @r);
9+
my $array_sql = join(",", ('random()') x $dim);
1610

1711
# Initialize node
1812
my $node = PostgreSQL::Test::Cluster->new('node');
@@ -23,19 +17,20 @@
2317
$node->safe_psql("postgres", "CREATE EXTENSION vector;");
2418
$node->safe_psql("postgres", "CREATE TABLE tst (i int4, v vector($dim));");
2519
$node->safe_psql("postgres",
26-
"INSERT INTO tst SELECT i % 10, ARRAY[$array_sql] FROM generate_series(1, 100000) i;"
20+
"INSERT INTO tst SELECT i, ARRAY[$array_sql] FROM generate_series(1, 100000) i;"
2721
);
2822
$node->safe_psql("postgres", "CREATE INDEX ON tst USING ivfflat (v vector_l2_ops);");
2923

3024
# Get size
3125
my $size = $node->safe_psql("postgres", "SELECT pg_total_relation_size('tst_v_idx');");
3226

27+
# Store values
28+
$node->safe_psql("postgres", "CREATE TABLE tmp AS SELECT * FROM tst;");
29+
3330
# Delete all, vacuum, and insert same data
3431
$node->safe_psql("postgres", "DELETE FROM tst;");
3532
$node->safe_psql("postgres", "VACUUM tst;");
36-
$node->safe_psql("postgres",
37-
"INSERT INTO tst SELECT i % 10, ARRAY[$array_sql] FROM generate_series(1, 100000) i;"
38-
);
33+
$node->safe_psql("postgres", "INSERT INTO tst SELECT * FROM tmp;");
3934

4035
# Check size
4136
my $new_size = $node->safe_psql("postgres", "SELECT pg_total_relation_size('tst_v_idx');");

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy