amcheck: Add a test with GIN index on JSONB data
authorTomas Vondra
Sat, 29 Mar 2025 15:46:34 +0000 (16:46 +0100)
committerTomas Vondra
Sat, 29 Mar 2025 15:47:44 +0000 (16:47 +0100)
Extend the existing test of GIN checks to also include an index on JSONB
data, using the jsonb_path_ops opclass. This is a common enough usage of
GIN that it makes sense to have better test coverage for it.

Author: Mark Dilger 
Reviewed-By: Tomas Vondra
Reviewed-By: Kirill Reshke
Discussion: https://postgr.es/m/BC221A56-977C-418E-A1B8-9EFC881D80C5%40enterprisedb.com

contrib/amcheck/expected/check_gin.out
contrib/amcheck/sql/check_gin.sql

index bbcde80e627969e1ea778a46bc1c7c48e335c348..93147de0ef11b1f1dde4c1fe4df6077bcecd4cd9 100644 (file)
@@ -62,3 +62,17 @@ SELECT gin_index_check('gin_check_text_array_idx');
 
 -- 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;
index bbd9b9f8281d2b97a8369e0a50308f5116ae27cf..92ddbbc7a8915aaa4fbc8f054ee3a0ad53f761da 100644 (file)
@@ -38,3 +38,15 @@ SELECT gin_index_check('gin_check_text_array_idx');
 
 -- 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');
+
+-- cleanup
+DROP TABLE gin_check_jsonb;