@@ -2032,26 +2032,51 @@ SELECT pgv_free();
20322032
20332033(1 row)
20342034
2035- -- Variables should be insertable after pgv_remove
2035+ -- Variables should be insertable after pgv_remove (variable)
20362036BEGIN;
20372037SELECT pgv_insert('test', 'x', ROW (1::int, 2::int), TRUE);
20382038 pgv_insert
20392039------------
20402040
20412041(1 row)
20422042
2043+ SELECT pgv_select('test', 'x');
2044+ pgv_select
2045+ ------------
2046+ (1,2)
2047+ (1 row)
2048+
20432049SELECT pgv_remove('test', 'x');
20442050 pgv_remove
20452051------------
20462052
20472053(1 row)
20482054
2049- SELECT pgv_insert('test', 'x', ROW (3 ::int,4 ::int), TRUE);
2055+ SELECT pgv_insert('test', 'x', ROW (1 ::int,3 ::int), TRUE);
20502056 pgv_insert
20512057------------
20522058
20532059(1 row)
20542060
2061+ SELECT pgv_select('test', 'x');
2062+ pgv_select
2063+ ------------
2064+ (1,3)
2065+ (1 row)
2066+
2067+ SELECT pgv_insert('test', 'x', ROW (2::int, 4::int), TRUE);
2068+ pgv_insert
2069+ ------------
2070+
2071+ (1 row)
2072+
2073+ SELECT pgv_select('test', 'x');
2074+ pgv_select
2075+ ------------
2076+ (1,3)
2077+ (2,4)
2078+ (2 rows)
2079+
20552080ROLLBACK;
20562081SELECT * FROM pgv_list() order by package, name;
20572082 package | name | is_transactional
@@ -2065,78 +2090,277 @@ SELECT pgv_insert('test', 'x', ROW (1::int, 2::int), TRUE);
20652090
20662091(1 row)
20672092
2093+ SELECT pgv_select('test', 'x');
2094+ pgv_select
2095+ ------------
2096+ (1,2)
2097+ (1 row)
2098+
20682099SELECT pgv_remove('test', 'x');
20692100 pgv_remove
20702101------------
20712102
20722103(1 row)
20732104
2074- SELECT pgv_insert('test', 'x', ROW (3 ::int,4 ::int), TRUE);
2105+ SELECT pgv_insert('test', 'x', ROW (1 ::int,3 ::int), TRUE);
20752106 pgv_insert
20762107------------
20772108
20782109(1 row)
20792110
2111+ SELECT pgv_select('test', 'x');
2112+ pgv_select
2113+ ------------
2114+ (1,3)
2115+ (1 row)
2116+
2117+ SELECT pgv_insert('test', 'x', ROW (2::int, 4::int), TRUE);
2118+ pgv_insert
2119+ ------------
2120+
2121+ (1 row)
2122+
2123+ SELECT pgv_select('test', 'x');
2124+ pgv_select
2125+ ------------
2126+ (1,3)
2127+ (2,4)
2128+ (2 rows)
2129+
20802130COMMIT;
20812131SELECT * FROM pgv_list() order by package, name;
20822132 package | name | is_transactional
20832133---------+------+------------------
20842134 test | x | t
20852135(1 row)
20862136
2087- -- Variables should be insertable after pgv_free
2137+ SELECT pgv_select('test', 'x');
2138+ pgv_select
2139+ ------------
2140+ (1,3)
2141+ (2,4)
2142+ (2 rows)
2143+
2144+ -- Variables should be insertable after pgv_remove (package)
2145+ BEGIN;
2146+ SELECT pgv_insert('test', 'y', ROW (1::int, 2::int), TRUE);
2147+ pgv_insert
2148+ ------------
2149+
2150+ (1 row)
2151+
2152+ SELECT pgv_select('test', 'y');
2153+ pgv_select
2154+ ------------
2155+ (1,2)
2156+ (1 row)
2157+
2158+ SELECT pgv_remove('test');
2159+ pgv_remove
2160+ ------------
2161+
2162+ (1 row)
2163+
2164+ SELECT pgv_insert('test', 'y', ROW (1::int, 3::int), TRUE);
2165+ pgv_insert
2166+ ------------
2167+
2168+ (1 row)
2169+
2170+ SELECT pgv_select('test', 'y');
2171+ pgv_select
2172+ ------------
2173+ (1,3)
2174+ (1 row)
2175+
2176+ SELECT pgv_insert('test', 'y', ROW (2::int, 4::int), TRUE);
2177+ pgv_insert
2178+ ------------
2179+
2180+ (1 row)
2181+
2182+ SELECT pgv_select('test', 'y');
2183+ pgv_select
2184+ ------------
2185+ (1,3)
2186+ (2,4)
2187+ (2 rows)
2188+
2189+ ROLLBACK;
2190+ SELECT * FROM pgv_list() order by package, name;
2191+ package | name | is_transactional
2192+ ---------+------+------------------
2193+ test | x | t
2194+ (1 row)
2195+
20882196BEGIN;
20892197SELECT pgv_insert('test', 'y', ROW (1::int, 2::int), TRUE);
20902198 pgv_insert
20912199------------
20922200
20932201(1 row)
20942202
2203+ SELECT pgv_select('test', 'y');
2204+ pgv_select
2205+ ------------
2206+ (1,2)
2207+ (1 row)
2208+
2209+ SELECT pgv_remove('test');
2210+ pgv_remove
2211+ ------------
2212+
2213+ (1 row)
2214+
2215+ SELECT pgv_insert('test', 'y', ROW (1::int, 3::int), TRUE);
2216+ pgv_insert
2217+ ------------
2218+
2219+ (1 row)
2220+
2221+ SELECT pgv_select('test', 'y');
2222+ pgv_select
2223+ ------------
2224+ (1,3)
2225+ (1 row)
2226+
2227+ SELECT pgv_insert('test', 'y', ROW (2::int, 4::int), TRUE);
2228+ pgv_insert
2229+ ------------
2230+
2231+ (1 row)
2232+
2233+ SELECT pgv_select('test', 'y');
2234+ pgv_select
2235+ ------------
2236+ (1,3)
2237+ (2,4)
2238+ (2 rows)
2239+
2240+ COMMIT;
2241+ SELECT * FROM pgv_list() order by package, name;
2242+ package | name | is_transactional
2243+ ---------+------+------------------
2244+ test | y | t
2245+ (1 row)
2246+
2247+ SELECT pgv_select('test', 'y');
2248+ pgv_select
2249+ ------------
2250+ (1,3)
2251+ (2,4)
2252+ (2 rows)
2253+
2254+ -- Variables should be insertable after pgv_free
2255+ BEGIN;
2256+ SELECT pgv_insert('test', 'z', ROW (1::int, 2::int), TRUE);
2257+ pgv_insert
2258+ ------------
2259+
2260+ (1 row)
2261+
2262+ SELECT pgv_select('test', 'z');
2263+ pgv_select
2264+ ------------
2265+ (1,2)
2266+ (1 row)
2267+
20952268SELECT pgv_free();
20962269 pgv_free
20972270----------
20982271
20992272(1 row)
21002273
2101- SELECT pgv_insert('test', 'y ', ROW (3 ::int,4 ::int), TRUE);
2274+ SELECT pgv_insert('test', 'z ', ROW (1 ::int,3 ::int), TRUE);
21022275 pgv_insert
21032276------------
21042277
21052278(1 row)
21062279
2280+ SELECT pgv_select('test', 'z');
2281+ pgv_select
2282+ ------------
2283+ (1,3)
2284+ (1 row)
2285+
2286+ SELECT pgv_insert('test', 'z', ROW (2::int, 4::int), TRUE);
2287+ pgv_insert
2288+ ------------
2289+
2290+ (1 row)
2291+
2292+ SELECT pgv_select('test', 'z');
2293+ pgv_select
2294+ ------------
2295+ (1,3)
2296+ (2,4)
2297+ (2 rows)
2298+
21072299ROLLBACK;
21082300SELECT * FROM pgv_list() order by package, name;
21092301 package | name | is_transactional
21102302---------+------+------------------
2111- test |x | t
2303+ test |y | t
21122304(1 row)
21132305
21142306BEGIN;
2115- SELECT pgv_insert('test', 'y ', ROW (1::int, 2::int), TRUE);
2307+ SELECT pgv_insert('test', 'z ', ROW (1::int, 2::int), TRUE);
21162308 pgv_insert
21172309------------
21182310
21192311(1 row)
21202312
2313+ SELECT pgv_select('test', 'z');
2314+ pgv_select
2315+ ------------
2316+ (1,2)
2317+ (1 row)
2318+
21212319SELECT pgv_free();
21222320 pgv_free
21232321----------
21242322
21252323(1 row)
21262324
2127- SELECT pgv_insert('test', 'y', ROW (3::int, 4::int), TRUE);
2325+ SELECT pgv_insert('test', 'z', ROW (1::int, 3::int), TRUE);
2326+ pgv_insert
2327+ ------------
2328+
2329+ (1 row)
2330+
2331+ SELECT pgv_select('test', 'z');
2332+ pgv_select
2333+ ------------
2334+ (1,3)
2335+ (1 row)
2336+
2337+ SELECT pgv_insert('test', 'z', ROW (2::int, 4::int), TRUE);
21282338 pgv_insert
21292339------------
21302340
21312341(1 row)
21322342
2343+ SELECT pgv_select('test', 'z');
2344+ pgv_select
2345+ ------------
2346+ (1,3)
2347+ (2,4)
2348+ (2 rows)
2349+
21332350COMMIT;
21342351SELECT * FROM pgv_list() order by package, name;
21352352 package | name | is_transactional
21362353---------+------+------------------
2137- test |y | t
2354+ test |z | t
21382355(1 row)
21392356
2357+ SELECT pgv_select('test', 'z');
2358+ pgv_select
2359+ ------------
2360+ (1,3)
2361+ (2,4)
2362+ (2 rows)
2363+
21402364SELECT pgv_free();
21412365 pgv_free
21422366----------