I admit - it sounds unlikely. However a simple scenario (attached) gives
rise to:
WARNING: AbortTransaction while in COMMIT state
PANIC: cannot abort transaction 880983, it was already committed
Essentially we are doing:
BEGIN;
DROP TABLE IF EXISTS tab0;
CREATE TEMP TABLE tab0 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab0 SELECT generate_series(1,1000),'xxxxxxxxxx';
SELECT median(id) FROM tab0;
DROP TABLE IF EXISTS tab1;
CREATE TEMP TABLE tab1 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab1 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab2;
...
DROP TABLE IF EXISTS tab99;
CREATE TEMP TABLE tab99 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab99 SELECT generate_series(1,1000),'xxxxxxxxxx';
SELECT median(id) FROM tab99;
COMMIT;
We crash at commit.
Changing median to something else (e.g avg or even a non PLR median
function) makes the error vanish, so its either PLR or the specific PLR
median function causing the grief.
Regards
Mark
create or replace function r_median(_float8) returns float as '
median(arg1)
' language 'plr';
CREATE AGGREGATE median (
sfunc = plr_array_accum,
basetype = float8,
stype = _float8,
finalfunc = r_median
);
BEGIN;
DROP TABLE IF EXISTS tab0;
CREATE TEMP TABLE tab0 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab0 SELECT generate_series(1,1000),'xxxxxxxxxx';
SELECT median(id) FROM tab0;
DROP TABLE IF EXISTS tab1;
CREATE TEMP TABLE tab1 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab1 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab2;
CREATE TEMP TABLE tab2 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab2 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab3;
CREATE TEMP TABLE tab3 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab3 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab4;
CREATE TEMP TABLE tab4 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab4 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab5;
CREATE TEMP TABLE tab5 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab5 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab6;
CREATE TEMP TABLE tab6 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab6 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab7;
CREATE TEMP TABLE tab7 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab7 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab8;
CREATE TEMP TABLE tab8 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab8 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab9;
CREATE TEMP TABLE tab9 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab9 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab10;
CREATE TEMP TABLE tab10 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab10 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab11;
CREATE TEMP TABLE tab11 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab11 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab12;
CREATE TEMP TABLE tab12 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab12 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab13;
CREATE TEMP TABLE tab13 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab13 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab14;
CREATE TEMP TABLE tab14 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab14 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab15;
CREATE TEMP TABLE tab15 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab15 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab16;
CREATE TEMP TABLE tab16 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab16 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab17;
CREATE TEMP TABLE tab17 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab17 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab18;
CREATE TEMP TABLE tab18 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab18 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab19;
CREATE TEMP TABLE tab19 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab19 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab20;
CREATE TEMP TABLE tab20 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab20 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab21;
CREATE TEMP TABLE tab21 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab21 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab22;
CREATE TEMP TABLE tab22 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab22 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab23;
CREATE TEMP TABLE tab23 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab23 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab24;
CREATE TEMP TABLE tab24 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab24 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab25;
CREATE TEMP TABLE tab25 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab25 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab26;
CREATE TEMP TABLE tab26 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab26 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab27;
CREATE TEMP TABLE tab27 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab27 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab28;
CREATE TEMP TABLE tab28 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab28 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab29;
CREATE TEMP TABLE tab29 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab29 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab30;
CREATE TEMP TABLE tab30 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab30 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab31;
CREATE TEMP TABLE tab31 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab31 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab32;
CREATE TEMP TABLE tab32 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab32 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab33;
CREATE TEMP TABLE tab33 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab33 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab34;
CREATE TEMP TABLE tab34 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab34 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab35;
CREATE TEMP TABLE tab35 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab35 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab36;
CREATE TEMP TABLE tab36 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab36 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab37;
CREATE TEMP TABLE tab37 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab37 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab38;
CREATE TEMP TABLE tab38 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab38 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab39;
CREATE TEMP TABLE tab39 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab39 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab40;
CREATE TEMP TABLE tab40 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab40 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab41;
CREATE TEMP TABLE tab41 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab41 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab42;
CREATE TEMP TABLE tab42 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab42 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab43;
CREATE TEMP TABLE tab43 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab43 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab44;
CREATE TEMP TABLE tab44 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab44 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab45;
CREATE TEMP TABLE tab45 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab45 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab46;
CREATE TEMP TABLE tab46 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab46 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab47;
CREATE TEMP TABLE tab47 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab47 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab48;
CREATE TEMP TABLE tab48 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab48 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab49;
CREATE TEMP TABLE tab49 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab49 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab50;
CREATE TEMP TABLE tab50 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab50 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab51;
CREATE TEMP TABLE tab51 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab51 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab52;
CREATE TEMP TABLE tab52 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab52 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab53;
CREATE TEMP TABLE tab53 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab53 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab54;
CREATE TEMP TABLE tab54 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab54 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab55;
CREATE TEMP TABLE tab55 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab55 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab56;
CREATE TEMP TABLE tab56 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab56 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab57;
CREATE TEMP TABLE tab57 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab57 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab58;
CREATE TEMP TABLE tab58 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab58 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab59;
CREATE TEMP TABLE tab59 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab59 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab60;
CREATE TEMP TABLE tab60 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab60 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab61;
CREATE TEMP TABLE tab61 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab61 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab62;
CREATE TEMP TABLE tab62 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab62 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab63;
CREATE TEMP TABLE tab63 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab63 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab64;
CREATE TEMP TABLE tab64 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab64 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab65;
CREATE TEMP TABLE tab65 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab65 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab66;
CREATE TEMP TABLE tab66 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab66 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab67;
CREATE TEMP TABLE tab67 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab67 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab68;
CREATE TEMP TABLE tab68 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab68 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab69;
CREATE TEMP TABLE tab69 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab69 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab70;
CREATE TEMP TABLE tab70 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab70 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab71;
CREATE TEMP TABLE tab71 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab71 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab72;
CREATE TEMP TABLE tab72 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab72 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab73;
CREATE TEMP TABLE tab73 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab73 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab74;
CREATE TEMP TABLE tab74 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab74 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab75;
CREATE TEMP TABLE tab75 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab75 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab76;
CREATE TEMP TABLE tab76 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab76 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab77;
CREATE TEMP TABLE tab77 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab77 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab78;
CREATE TEMP TABLE tab78 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab78 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab79;
CREATE TEMP TABLE tab79 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab79 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab80;
CREATE TEMP TABLE tab80 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab80 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab81;
CREATE TEMP TABLE tab81 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab81 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab82;
CREATE TEMP TABLE tab82 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab82 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab83;
CREATE TEMP TABLE tab83 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab83 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab84;
CREATE TEMP TABLE tab84 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab84 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab85;
CREATE TEMP TABLE tab85 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab85 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab86;
CREATE TEMP TABLE tab86 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab86 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab87;
CREATE TEMP TABLE tab87 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab87 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab88;
CREATE TEMP TABLE tab88 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab88 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab89;
CREATE TEMP TABLE tab89 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab89 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab90;
CREATE TEMP TABLE tab90 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab90 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab91;
CREATE TEMP TABLE tab91 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab91 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab92;
CREATE TEMP TABLE tab92 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab92 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab93;
CREATE TEMP TABLE tab93 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab93 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab94;
CREATE TEMP TABLE tab94 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab94 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab95;
CREATE TEMP TABLE tab95 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab95 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab96;
CREATE TEMP TABLE tab96 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab96 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab97;
CREATE TEMP TABLE tab97 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab97 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab98;
CREATE TEMP TABLE tab98 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab98 SELECT generate_series(1,1000),'xxxxxxxxxx';
DROP TABLE IF EXISTS tab99;
CREATE TEMP TABLE tab99 ( id INTEGER PRIMARY KEY, val TEXT);
INSERT INTO tab99 SELECT generate_series(1,1000),'xxxxxxxxxx';
SELECT median(id) FROM tab99;
COMMIT;
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs