/
githubmirror
/
postgres
Обзор
Документация
Войти
/
githubmirror
/
postgres
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
contrib/amcheck/expected/check_gin.out
90 строк
3 KB
Tomas Vondra
amcheck: Test gin_index_check on a multicolumn index
17 июн 2025, 15:14
17 июн 2025, 15:14
c89d6b8
Код
Авторство
О чём код?
-- Test of index bulk load SELECT setseed(1); setseed --------- (1 row) CREATE TABLE "gin_check"("Column1" int[]); -- posting trees (frequently used entries) INSERT INTO gin_check select array_agg(round(random()*255) ) from generate_series(1, 100000) as i group by i % 10000; -- posting leaves (sparse entries) INSERT INTO gin_check select array_agg(255 + round(random()*100)) from generate_series(1, 100) as i group by i % 100; CREATE INDEX gin_check_idx on "gin_check" USING GIN("Column1"); SELECT gin_index_check('gin_check_idx'); gin_index_check ----------------- (1 row) -- cleanup DROP TABLE gin_check; -- Test index inserts SELECT setseed(1); setseed --------- (1 row) CREATE TABLE "gin_check"("Column1" int[]); CREATE INDEX gin_check_idx on "gin_check" USING GIN("Column1"); ALTER INDEX gin_check_idx SET (fastupdate = false); -- posting trees INSERT INTO gin_check select array_agg(round(random()*255) ) from generate_series(1, 100000) as i group by i % 10000; -- posting leaves INSERT INTO gin_check select array_agg(100 + round(random()*255)) from generate_series(1, 100) as i group by i % 100; SELECT gin_index_check('gin_check_idx'); gin_index_check ----------------- (1 row) -- cleanup DROP TABLE gin_check; -- Test GIN over text array SELECT setseed(1); setseed --------- (1 row) CREATE TABLE "gin_check_text_array"("Column1" text[]); -- posting trees INSERT INTO gin_check_text_array select array_agg(sha256(round(random()*300)::text::bytea)::text) from generate_series(1, 100000) as i group by i % 10000; -- posting leaves INSERT INTO gin_check_text_array select array_agg(sha256(round(random()*300 + 300)::text::bytea)::text) from generate_series(1, 10000) as i group by i % 100; CREATE INDEX gin_check_text_array_idx on "gin_check_text_array" USING GIN("Column1"); SELECT gin_index_check('gin_check_text_array_idx'); gin_index_check ----------------- (1 row) -- cleanup DROP TABLE gin_check_text_array; -- Test GIN over jsonb CREATE TABLE "gin_check_jsonb"("j" jsonb); INSERT INTO gin_check_jsonb values ('{"a":[["b",{"x":1}],["b",{"x":2}]],"c":3}'); INSERT INTO gin_check_jsonb values ('[[14,2,3]]'); INSERT INTO gin_check_jsonb values ('[1,[14,2,3]]'); CREATE INDEX "gin_check_jsonb_idx" on gin_check_jsonb USING GIN("j" jsonb_path_ops); SELECT gin_index_check('gin_check_jsonb_idx'); gin_index_check ----------------- (1 row) -- cleanup DROP TABLE gin_check_jsonb; -- Test GIN multicolumn index CREATE TABLE "gin_check_multicolumn"(a text[], b text[]); INSERT INTO gin_check_multicolumn (a,b) values ('{a,c,e}','{b,d,f}'); CREATE INDEX "gin_check_multicolumn_idx" on gin_check_multicolumn USING GIN(a,b); SELECT gin_index_check('gin_check_multicolumn_idx'); gin_index_check ----------------- (1 row) -- cleanup DROP TABLE gin_check_multicolumn;