Thread: Re: [HACKERS] obj_description problems?

Re: [HACKERS] obj_description problems?

From
Christopher Kings-Lynne
Date:
*sigh* - it's really not my day today.  Attached is patch that actually
compiles and fixes the problem.  We will need to bump CATVERSION, and
maybe should test all the other qualified functions?

Chris


Index: src/include/catalog/pg_proc.h
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/include/catalog/pg_proc.h,v
retrieving revision 1.313
diff -c -r1.313 pg_proc.h
*** src/include/catalog/pg_proc.h    17 Aug 2003 19:58:06 -0000    1.313
--- src/include/catalog/pg_proc.h    21 Oct 2003 05:47:52 -0000
***************
*** 1477,1483 ****
  DESCR("convert abstime to timestamp with time zone");
  DATA(insert OID = 1174 (  timestamptz       PGNSP PGUID 12 f f t f s 1 1184 "1082"  date_timestamptz - _null_ ));
  DESCR("convert date to timestamp with time zone");
! DATA(insert OID = 1176 (  timestamptz       PGNSP PGUID 14 f f t f s 2 1184 "1082 1083"    "select timestamptz($1 +
$2)"- _null_ )); 
  DESCR("convert date and time to timestamp with time zone");
  DATA(insert OID = 1177 (  interval           PGNSP PGUID 12 f f t f i 1 1186 "703"    reltime_interval - _null_ ));
  DESCR("convert reltime to interval");
--- 1477,1483 ----
  DESCR("convert abstime to timestamp with time zone");
  DATA(insert OID = 1174 (  timestamptz       PGNSP PGUID 12 f f t f s 1 1184 "1082"  date_timestamptz - _null_ ));
  DESCR("convert date to timestamp with time zone");
! DATA(insert OID = 1176 (  timestamptz       PGNSP PGUID 14 f f t f s 2 1184 "1082 1083"    "select
pg_catalog.timestamptz($1+ $2)" - _null_ )); 
  DESCR("convert date and time to timestamp with time zone");
  DATA(insert OID = 1177 (  interval           PGNSP PGUID 12 f f t f i 1 1186 "703"    reltime_interval - _null_ ));
  DESCR("convert reltime to interval");
***************
*** 1520,1528 ****
  DATA(insert OID = 1200 (  interval            PGNSP PGUID 12 f f t f i 2 1186 "1186 23"    interval_scale - _null_
));
  DESCR("adjust interval precision");

! DATA(insert OID = 1215 (  obj_description    PGNSP PGUID 14 f f t f s 2    25 "26 19"    "select description from
pg_descriptionwhere objoid = $1 and classoid = (select oid from pg_class where relname = $2 and relnamespace = PGNSP)
andobjsubid = 0" - _null_ )); 
  DESCR("get description for object id and catalog name");
! DATA(insert OID = 1216 (  col_description    PGNSP PGUID 14 f f t f s 2    25 "26 23"    "select description from
pg_descriptionwhere objoid = $1 and classoid = \'pg_catalog.pg_class\'::regclass and objsubid = $2" - _null_ )); 
  DESCR("get description for table column");

  DATA(insert OID = 1217 (  date_trunc       PGNSP PGUID 12 f f t f i 2 1184 "25 1184"    timestamptz_trunc - _null_
));
--- 1520,1528 ----
  DATA(insert OID = 1200 (  interval            PGNSP PGUID 12 f f t f i 2 1186 "1186 23"    interval_scale - _null_
));
  DESCR("adjust interval precision");

! DATA(insert OID = 1215 (  obj_description    PGNSP PGUID 14 f f t f s 2    25 "26 19"    "select description from
pg_catalog.pg_descriptionwhere objoid = $1 and classoid = (select oid from pg_catalog.pg_class where relname = $2 and
relnamespace= PGNSP) and objsubid = 0" - _null_ )); 
  DESCR("get description for object id and catalog name");
! DATA(insert OID = 1216 (  col_description    PGNSP PGUID 14 f f t f s 2    25 "26 23"    "select description from
pg_catalog.pg_descriptionwhere objoid = $1 and classoid = \'pg_catalog.pg_class\'::regclass and objsubid = $2" - _null_
));
  DESCR("get description for table column");

  DATA(insert OID = 1217 (  date_trunc       PGNSP PGUID 12 f f t f i 2 1184 "25 1184"    timestamptz_trunc - _null_
));
***************
*** 1683,1689 ****
   * This form of obj_description is now deprecated, since it will fail if
   * OIDs are not unique across system catalogs.    Use the other forms instead.
   */
! DATA(insert OID = 1348 (  obj_description     PGNSP PGUID 14 f f t f s 1 25 "26"  "select description from
pg_descriptionwhere objoid = $1 and objsubid = 0" - _null_ )); 
  DESCR("get description for object id (deprecated)");
  DATA(insert OID = 1349 (  oidvectortypes     PGNSP PGUID 12 f f t f s 1 25 "30"  oidvectortypes - _null_ ));
  DESCR("print type names of oidvector field");
--- 1683,1689 ----
   * This form of obj_description is now deprecated, since it will fail if
   * OIDs are not unique across system catalogs.    Use the other forms instead.
   */
! DATA(insert OID = 1348 (  obj_description     PGNSP PGUID 14 f f t f s 1 25 "26"  "select description from
pg_catalog.pg_descriptionwhere objoid = $1 and objsubid = 0" - _null_ )); 
  DESCR("get description for object id (deprecated)");
  DATA(insert OID = 1349 (  oidvectortypes     PGNSP PGUID 12 f f t f s 1 25 "30"  oidvectortypes - _null_ ));
  DESCR("print type names of oidvector field");
***************
*** 1740,1754 ****
  DATA(insert OID = 1381 (  char_length       PGNSP PGUID 12 f f t f i 1 23 "25"  textlen - _null_ ));
  DESCR("character length");

! DATA(insert OID = 1382 (  date_part    PGNSP PGUID 14 f f t f s 2  701 "25 702"  "select date_part($1,
timestamptz($2))"- _null_ )); 
  DESCR("extract field from abstime");
! DATA(insert OID = 1383 (  date_part    PGNSP PGUID 14 f f t f s 2  701 "25 703"  "select date_part($1, cast($2 as
interval))"- _null_ )); 
  DESCR("extract field from reltime");
! DATA(insert OID = 1384 (  date_part    PGNSP PGUID 14 f f t f i 2  701 "25 1082"    "select date_part($1, cast($2 as
timestampwithout time zone))" - _null_ )); 
  DESCR("extract field from date");
  DATA(insert OID = 1385 (  date_part    PGNSP PGUID 12 f f t f i 2  701 "25 1083"  time_part - _null_ ));
  DESCR("extract field from time");
! DATA(insert OID = 1386 (  age           PGNSP PGUID 14 f f t f s 1 1186 "1184"  "select age(cast(current_date as
timestampwith time zone), $1)" - _null_ )); 
  DESCR("date difference from today preserving months and years");

  DATA(insert OID = 1388 (  timetz       PGNSP PGUID 12 f f t f s 1 1266 "1184"  timestamptz_timetz - _null_ ));
--- 1740,1754 ----
  DATA(insert OID = 1381 (  char_length       PGNSP PGUID 12 f f t f i 1 23 "25"  textlen - _null_ ));
  DESCR("character length");

! DATA(insert OID = 1382 (  date_part    PGNSP PGUID 14 f f t f s 2  701 "25 702"  "select pg_catalog.date_part($1,
pg_catalog.timestamptz($2))"- _null_ )); 
  DESCR("extract field from abstime");
! DATA(insert OID = 1383 (  date_part    PGNSP PGUID 14 f f t f s 2  701 "25 703"  "select pg_catalog.date_part($1,
cast($2as pg_catalog.interval))" - _null_ )); 
  DESCR("extract field from reltime");
! DATA(insert OID = 1384 (  date_part    PGNSP PGUID 14 f f t f i 2  701 "25 1082"    "select pg_catalog.date_part($1,
cast($2as timestamp without time zone))" - _null_ )); 
  DESCR("extract field from date");
  DATA(insert OID = 1385 (  date_part    PGNSP PGUID 12 f f t f i 2  701 "25 1083"  time_part - _null_ ));
  DESCR("extract field from time");
! DATA(insert OID = 1386 (  age           PGNSP PGUID 14 f f t f s 1 1186 "1184"  "select
pg_catalog.age(cast(current_dateas timestamp with time zone), $1)" - _null_ )); 
  DESCR("date difference from today preserving months and years");

  DATA(insert OID = 1388 (  timetz       PGNSP PGUID 12 f f t f s 1 1266 "1184"  timestamptz_timetz - _null_ ));
***************
*** 1789,1797 ****
  DATA(insert OID = 1403 (  current_schemas    PGNSP PGUID 12 f f t f s 1    1003 "16"    current_schemas - _null_ ));
  DESCR("current schema search list");

! DATA(insert OID = 1404 (  overlay            PGNSP PGUID 14 f f t f i 4 25 "25 25 23 23"  "select substring($1, 1,
($3- 1)) || $2 || substring($1, ($3 + $4))" - _null_ )); 
  DESCR("substitute portion of string");
! DATA(insert OID = 1405 (  overlay            PGNSP PGUID 14 f f t f i 3 25 "25 25 23"  "select substring($1, 1, ($3 -
1))|| $2 || substring($1, ($3 + char_length($2)))" - _null_ )); 
  DESCR("substitute portion of string");

  DATA(insert OID = 1406 (  isvertical        PGNSP PGUID 12 f f t f i 2    16 "600 600"  point_vert - _null_ ));
--- 1789,1797 ----
  DATA(insert OID = 1403 (  current_schemas    PGNSP PGUID 12 f f t f s 1    1003 "16"    current_schemas - _null_ ));
  DESCR("current schema search list");

! DATA(insert OID = 1404 (  overlay            PGNSP PGUID 14 f f t f i 4 25 "25 25 23 23"  "select
pg_catalog.substring($1,1, ($3 - 1)) || $2 || pg_catalog.substring($1, ($3 + $4))" - _null_ )); 
  DESCR("substitute portion of string");
! DATA(insert OID = 1405 (  overlay            PGNSP PGUID 14 f f t f i 3 25 "25 25 23"  "select
pg_catalog.substring($1,1, ($3 - 1)) || $2 || pg_catalog.substring($1, ($3 + char_length($2)))" - _null_ )); 
  DESCR("substitute portion of string");

  DATA(insert OID = 1406 (  isvertical        PGNSP PGUID 12 f f t f i 2    16 "600 600"  point_vert - _null_ ));
***************
*** 1835,1841 ****
  DESCR("multiply box by point (scale)");
  DATA(insert OID = 1425 (  box_div            PGNSP PGUID 12 f f t f i 2 603 "603 600"    box_div - _null_ ));
  DESCR("divide box by point (scale)");
! DATA(insert OID = 1426 (  path_contain_pt    PGNSP PGUID 14 f f t f i 2    16 "602 600"  "select on_ppath($2, $1)" -
_null_)); 
  DESCR("path contains point?");
  DATA(insert OID = 1428 (  poly_contain_pt    PGNSP PGUID 12 f f t f i 2    16 "604 600"  poly_contain_pt - _null_ ));
  DESCR("polygon contains point?");
--- 1835,1841 ----
  DESCR("multiply box by point (scale)");
  DATA(insert OID = 1425 (  box_div            PGNSP PGUID 12 f f t f i 2 603 "603 600"    box_div - _null_ ));
  DESCR("divide box by point (scale)");
! DATA(insert OID = 1426 (  path_contain_pt    PGNSP PGUID 14 f f t f i 2    16 "602 600"  "select
pg_catalog.on_ppath($2,$1)" - _null_ )); 
  DESCR("path contains point?");
  DATA(insert OID = 1428 (  poly_contain_pt    PGNSP PGUID 12 f f t f i 2    16 "604 600"  poly_contain_pt - _null_ ));
  DESCR("polygon contains point?");
***************
*** 2015,2021 ****
  DESCR("center of");
  DATA(insert OID = 1543 (  center            PGNSP PGUID 12 f f t f i 1 600 "718"    circle_center - _null_ ));
  DESCR("center of");
! DATA(insert OID = 1544 (  polygon            PGNSP PGUID 14 f f t f i 1 604 "718"    "select polygon(12, $1)" -
_null_)); 
  DESCR("convert circle to 12-vertex polygon");
  DATA(insert OID = 1545 (  npoints            PGNSP PGUID 12 f f t f i 1    23 "602"  path_npoints - _null_ ));
  DESCR("number of points in path");
--- 2015,2021 ----
  DESCR("center of");
  DATA(insert OID = 1543 (  center            PGNSP PGUID 12 f f t f i 1 600 "718"    circle_center - _null_ ));
  DESCR("center of");
! DATA(insert OID = 1544 (  polygon            PGNSP PGUID 14 f f t f i 1 604 "718"    "select pg_catalog.polygon(12,
$1)"- _null_ )); 
  DESCR("convert circle to 12-vertex polygon");
  DATA(insert OID = 1545 (  npoints            PGNSP PGUID 12 f f t f i 1    23 "602"  path_npoints - _null_ ));
  DESCR("number of points in path");
***************
*** 2165,2173 ****
  DESCR("return portion of string");
  DATA(insert OID =  878 (  translate    PGNSP PGUID 12 f f t f i 3 25 "25 25 25"  translate - _null_ ));
  DESCR("map a set of character appearing in string");
! DATA(insert OID =  879 (  lpad           PGNSP PGUID 14 f f t f i 2 25 "25 23"    "select lpad($1, $2, \' \')" -
_null_)); 
  DESCR("left-pad string to length");
! DATA(insert OID =  880 (  rpad           PGNSP PGUID 14 f f t f i 2 25 "25 23"    "select rpad($1, $2, \' \')" -
_null_)); 
  DESCR("right-pad string to length");
  DATA(insert OID =  881 (  ltrim           PGNSP PGUID 12 f f t f i 1 25 "25"  ltrim1 - _null_ ));
  DESCR("trim spaces from left end of string");
--- 2165,2173 ----
  DESCR("return portion of string");
  DATA(insert OID =  878 (  translate    PGNSP PGUID 12 f f t f i 3 25 "25 25 25"  translate - _null_ ));
  DESCR("map a set of character appearing in string");
! DATA(insert OID =  879 (  lpad           PGNSP PGUID 14 f f t f i 2 25 "25 23"    "select pg_catalog.lpad($1, $2, \'
\')"- _null_ )); 
  DESCR("left-pad string to length");
! DATA(insert OID =  880 (  rpad           PGNSP PGUID 14 f f t f i 2 25 "25 23"    "select pg_catalog.rpad($1, $2, \'
\')"- _null_ )); 
  DESCR("right-pad string to length");
  DATA(insert OID =  881 (  ltrim           PGNSP PGUID 12 f f t f i 1 25 "25"  ltrim1 - _null_ ));
  DESCR("trim spaces from left end of string");
***************
*** 2315,2321 ****

  DATA(insert OID = 1698 (  position           PGNSP PGUID 12 f f t f i 2 23 "1560 1560" bitposition - _null_ ));
  DESCR("return position of sub-bitstring");
! DATA(insert OID = 1699 (  substring            PGNSP PGUID 14 f f t f i 2 1560 "1560 23"  "select substring($1, $2,
-1)"- _null_ )); 
  DESCR("return portion of bitstring");


--- 2315,2321 ----

  DATA(insert OID = 1698 (  position           PGNSP PGUID 12 f f t f i 2 23 "1560 1560" bitposition - _null_ ));
  DESCR("return position of sub-bitstring");
! DATA(insert OID = 1699 (  substring            PGNSP PGUID 14 f f t f i 2 1560 "1560 23"  "select
pg_catalog.substring($1,$2, -1)" - _null_ )); 
  DESCR("return portion of bitstring");


***************
*** 2445,2455 ****
  DESCR("sign of value");
  DATA(insert OID = 1707 ( round                    PGNSP PGUID 12 f f t f i 2 1700 "1700 23"  numeric_round - _null_
));
  DESCR("value rounded to 'scale'");
! DATA(insert OID = 1708 ( round                    PGNSP PGUID 14 f f t f i 1 1700 "1700"    "select round($1,0)" -
_null_)); 
  DESCR("value rounded to 'scale' of zero");
  DATA(insert OID = 1709 ( trunc                    PGNSP PGUID 12 f f t f i 2 1700 "1700 23"  numeric_trunc - _null_
));
  DESCR("value truncated to 'scale'");
! DATA(insert OID = 1710 ( trunc                    PGNSP PGUID 14 f f t f i 1 1700 "1700"    "select trunc($1,0)" -
_null_)); 
  DESCR("value truncated to 'scale' of zero");
  DATA(insert OID = 1711 ( ceil                    PGNSP PGUID 12 f f t f i 1 1700 "1700"    numeric_ceil - _null_ ));
  DESCR("smallest integer >= value");
--- 2445,2455 ----
  DESCR("sign of value");
  DATA(insert OID = 1707 ( round                    PGNSP PGUID 12 f f t f i 2 1700 "1700 23"  numeric_round - _null_
));
  DESCR("value rounded to 'scale'");
! DATA(insert OID = 1708 ( round                    PGNSP PGUID 14 f f t f i 1 1700 "1700"    "select
pg_catalog.round($1,0)"- _null_ )); 
  DESCR("value rounded to 'scale' of zero");
  DATA(insert OID = 1709 ( trunc                    PGNSP PGUID 12 f f t f i 2 1700 "1700 23"  numeric_trunc - _null_
));
  DESCR("value truncated to 'scale'");
! DATA(insert OID = 1710 ( trunc                    PGNSP PGUID 14 f f t f i 1 1700 "1700"    "select
pg_catalog.trunc($1,0)"- _null_ )); 
  DESCR("value truncated to 'scale' of zero");
  DATA(insert OID = 1711 ( ceil                    PGNSP PGUID 12 f f t f i 1 1700 "1700"    numeric_ceil - _null_ ));
  DESCR("smallest integer >= value");
***************
*** 2501,2507 ****
  DESCR("m raised to the power of n");
  DATA(insert OID = 1740 ( numeric                PGNSP PGUID 12 f f t f i 1 1700 "23"    int4_numeric - _null_ ));
  DESCR("(internal)");
! DATA(insert OID = 1741 ( log                    PGNSP PGUID 14 f f t f i 1 1700 "1700"    "select log(10, $1)" -
_null_)); 
  DESCR("logarithm base 10 of n");
  DATA(insert OID = 1742 ( numeric                PGNSP PGUID 12 f f t f i 1 1700 "700"  float4_numeric - _null_ ));
  DESCR("(internal)");
--- 2501,2507 ----
  DESCR("m raised to the power of n");
  DATA(insert OID = 1740 ( numeric                PGNSP PGUID 12 f f t f i 1 1700 "23"    int4_numeric - _null_ ));
  DESCR("(internal)");
! DATA(insert OID = 1741 ( log                    PGNSP PGUID 14 f f t f i 1 1700 "1700"    "select pg_catalog.log(10,
$1)"- _null_ )); 
  DESCR("logarithm base 10 of n");
  DATA(insert OID = 1742 ( numeric                PGNSP PGUID 12 f f t f i 1 1700 "700"  float4_numeric - _null_ ));
  DESCR("(internal)");
***************
*** 2575,2585 ****
  DESCR("I/O");


! DATA(insert OID = 1810 (  bit_length       PGNSP PGUID 14 f f t f i 1 23 "17" "select octet_length($1) * 8" - _null_
));
  DESCR("length in bits");
! DATA(insert OID = 1811 (  bit_length       PGNSP PGUID 14 f f t f i 1 23 "25" "select octet_length($1) * 8" - _null_
));
  DESCR("length in bits");
! DATA(insert OID = 1812 (  bit_length       PGNSP PGUID 14 f f t f i 1 23 "1560" "select length($1)" - _null_ ));
  DESCR("length in bits");

  /* Selectivity estimators for LIKE and related operators */
--- 2575,2585 ----
  DESCR("I/O");


! DATA(insert OID = 1810 (  bit_length       PGNSP PGUID 14 f f t f i 1 23 "17" "select pg_catalog.octet_length($1) *
8"- _null_ )); 
  DESCR("length in bits");
! DATA(insert OID = 1811 (  bit_length       PGNSP PGUID 14 f f t f i 1 23 "25" "select pg_catalog.octet_length($1) *
8"- _null_ )); 
  DESCR("length in bits");
! DATA(insert OID = 1812 (  bit_length       PGNSP PGUID 14 f f t f i 1 23 "1560" "select pg_catalog.length($1)" -
_null_)); 
  DESCR("length in bits");

  /* Selectivity estimators for LIKE and related operators */
***************
*** 2936,2942 ****
  DESCR("greater-than");
  DATA(insert OID = 2058 (  age                PGNSP PGUID 12 f f t f i 2 1186 "1114 1114"  timestamp_age - _null_ ));
  DESCR("date difference preserving months and years");
! DATA(insert OID = 2059 (  age                PGNSP PGUID 14 f f t f s 1 1186 "1114"    "select age(cast(current_date
astimestamp without time zone), $1)" - _null_ )); 
  DESCR("date difference from today preserving months and years");

  DATA(insert OID = 2069 (  timezone            PGNSP PGUID 12 f f t f s 2 1184 "25 1114"  timestamp_zone - _null_ ));
--- 2936,2942 ----
  DESCR("greater-than");
  DATA(insert OID = 2058 (  age                PGNSP PGUID 12 f f t f i 2 1186 "1114 1114"  timestamp_age - _null_ ));
  DESCR("date difference preserving months and years");
! DATA(insert OID = 2059 (  age                PGNSP PGUID 14 f f t f s 1 1186 "1114"    "select
pg_catalog.age(cast(current_dateas timestamp without time zone), $1)" - _null_ )); 
  DESCR("date difference from today preserving months and years");

  DATA(insert OID = 2069 (  timezone            PGNSP PGUID 12 f f t f s 2 1184 "25 1114"  timestamp_zone - _null_ ));
***************
*** 2950,2956 ****

  DATA(insert OID = 2073 (  substring            PGNSP PGUID 12 f f t f i 2 25 "25 25"    textregexsubstr - _null_ ));
  DESCR("extracts text matching regular expression");
! DATA(insert OID = 2074 (  substring            PGNSP PGUID 14 f f t f i 3 25 "25 25 25"    "select substring($1,
similar_escape($2,$3))" - _null_ )); 
  DESCR("extracts text matching SQL99 regular expression");

  DATA(insert OID = 2075 (  bit                PGNSP PGUID 12 f f t f i 1 1560 "20"    bitfromint8 - _null_ ));
--- 2950,2956 ----

  DATA(insert OID = 2073 (  substring            PGNSP PGUID 12 f f t f i 2 25 "25 25"    textregexsubstr - _null_ ));
  DESCR("extracts text matching regular expression");
! DATA(insert OID = 2074 (  substring            PGNSP PGUID 14 f f t f i 3 25 "25 25 25"    "select
pg_catalog.substring($1,pg_catalog.similar_escape($2, $3))" - _null_ )); 
  DESCR("extracts text matching SQL99 regular expression");

  DATA(insert OID = 2075 (  bit                PGNSP PGUID 12 f f t f i 1 1560 "20"    bitfromint8 - _null_ ));

Re: [HACKERS] obj_description problems?

From
Tom Lane
Date:
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
> *sigh* - it's really not my day today.  Attached is patch that actually
> compiles and fixes the problem.  We will need to bump CATVERSION, and
> maybe should test all the other qualified functions?

I think you've identified a real issue, but how many of these modified
functions did you actually test?  I thought SUBSTRING was a reserved
word, for example ...

            regards, tom lane

Re: [HACKERS] obj_description problems?

From
Tom Lane
Date:
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
> *sigh* - it's really not my day today.  Attached is patch that actually
> compiles and fixes the problem.  We will need to bump CATVERSION, and

Reviewed, tested, applied.

> maybe should test all the other qualified functions?

What other qualified functions?  There might possibly be some issues in
contrib stuff, but there are no other SQL-language functions defined in
the main system (except information_schema, which we already checked).

            regards, tom lane

Re: [HACKERS] obj_description problems?

From
Christopher Kings-Lynne
Date:
>>*sigh* - it's really not my day today.  Attached is patch that actually
>>compiles and fixes the problem.  We will need to bump CATVERSION, and
>>maybe should test all the other qualified functions?
>
> I think you've identified a real issue, but how many of these modified
> functions did you actually test?  I thought SUBSTRING was a reserved
> word, for example ...

Well, some...  I did run the regression tests and they passed, but I
assumed that they would call all of the functions.

OK, I will test them all today and get back to you.

Chris



Re: [HACKERS] obj_description problems?

From
Christopher Kings-Lynne
Date:
> Reviewed, tested, applied.

Thanks.

>>maybe should test all the other qualified functions?
>
>
> What other qualified functions?  There might possibly be some issues in
> contrib stuff, but there are no other SQL-language functions defined in
> the main system (except information_schema, which we already checked).

Sorry - I meant "other functions that are now properly qualified in my
patch".  ie, you have already tested them.

Chris


Re: [HACKERS] obj_description problems?

From
Tom Lane
Date:
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
> OK, I will test them all today and get back to you.

I checked them all before applying, but please do cross-check.  We're
close enough to release that double- and triple-checking patches is
called for.

            regards, tom lane

Re: [HACKERS] obj_description problems?

From
Christopher Kings-Lynne
Date:
> I checked them all before applying, but please do cross-check.  We're
> close enough to release that double- and triple-checking patches is
> called for.

Checked them a bit - nothing too exhaustive.

Chris