]> granicus.if.org Git - postgresql/commitdiff
Rename lo_create(oid, bytea) to lo_from_bytea().
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 12 Jun 2014 19:39:09 +0000 (15:39 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 12 Jun 2014 19:39:16 +0000 (15:39 -0400)
The previous naming broke the query that libpq's lo_initialize() uses
to collect the OIDs of the server-side functions it requires, because
that query effectively assumes that there is only one function named
lo_create in the pg_catalog schema (and likewise only one lo_open, etc).

While we should certainly make libpq more robust about this, the naive
query will remain in use in the field for the foreseeable future, so it
seems the only workable choice is to use a different name for the new
function.  lo_from_bytea() won a small straw poll.

Back-patch into 9.4 where the new function was introduced.

doc/src/sgml/lobj.sgml
src/backend/libpq/be-fsstubs.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.h
src/include/libpq/be-fsstubs.h
src/test/regress/input/largeobject.source
src/test/regress/output/largeobject.source
src/test/regress/output/largeobject_1.source

index d403586a0540aff9cc4645aed6b1a224b2e58317..c0174b71bee76f95d8b462706251ca6de5c826cf 100644 (file)
@@ -547,16 +547,16 @@ int lo_unlink(PGconn *conn, Oid lobjId);
      <row>
       <entry>
        <indexterm>
-        <primary>lo_create</primary>
+        <primary>lo_from_bytea</primary>
        </indexterm>
-       <literal><function>lo_create(<parameter>loid</parameter> <type>oid</type>, <parameter>string</parameter> <type>bytea</type>)</function></literal>
+       <literal><function>lo_from_bytea(<parameter>loid</parameter> <type>oid</type>, <parameter>string</parameter> <type>bytea</type>)</function></literal>
       </entry>
       <entry><type>oid</type></entry>
       <entry>
        Create a large object and store data there, returning its OID.
        Pass <literal>0</> to have the system choose an OID.
       </entry>
-      <entry><literal>lo_create(0, E'\\xffffff00')</literal></entry>
+      <entry><literal>lo_from_bytea(0, E'\\xffffff00')</literal></entry>
       <entry><literal>24528</literal></entry>
      </row>
 
index 4a6bcf5598f1d334c8db8e6df0a3bc977a5cb5cc..52bac4337d3ce71b17f65ac32e1de8f0f165ce6b 100644 (file)
@@ -862,10 +862,10 @@ lo_get_fragment(PG_FUNCTION_ARGS)
 }
 
 /*
- * Create LO with initial contents
+ * Create LO with initial contents given by a bytea argument
  */
 Datum
-lo_create_bytea(PG_FUNCTION_ARGS)
+lo_from_bytea(PG_FUNCTION_ARGS)
 {
        Oid                     loOid = PG_GETARG_OID(0);
        bytea      *str = PG_GETARG_BYTEA_PP(1);
index 93afbbe03367c0934a49d95c0f4ee975a8302fe3..f0926e91482d385a456bae09a486f95391a3946d 100644 (file)
@@ -53,6 +53,6 @@
  */
 
 /*                                                     yyyymmddN */
-#define CATALOG_VERSION_NO     201406051
+#define CATALOG_VERSION_NO     201406121
 
 #endif
index 1d0c2a9091573f6d6988291bb5d063d626413e93..762ce6ca09c16c32f113130fd6a47b33621ffbff 100644 (file)
@@ -1061,8 +1061,8 @@ DESCR("truncate large object");
 DATA(insert OID = 3172 (  lo_truncate64    PGNSP PGUID 12 1 0 0 0 f f f f t f v 2 0 23 "23 20" _null_ _null_ _null_ _null_ lo_truncate64 _null_ _null_ _null_ ));
 DESCR("truncate large object (64 bit)");
 
-DATA(insert OID = 3457 (  lo_create               PGNSP PGUID 12 1 0 0 0 f f f f t f v 2 0 26 "26 17" _null_ _null_ _null_ _null_ lo_create_bytea _null_ _null_ _null_ ));
-DESCR("create new large object with content");
+DATA(insert OID = 3457 (  lo_from_bytea           PGNSP PGUID 12 1 0 0 0 f f f f t f v 2 0 26 "26 17" _null_ _null_ _null_ _null_ lo_from_bytea _null_ _null_ _null_ ));
+DESCR("create new large object with given content");
 DATA(insert OID = 3458 (  lo_get                  PGNSP PGUID 12 1 0 0 0 f f f f t f v 1 0 17 "26" _null_ _null_ _null_ _null_ lo_get _null_ _null_ _null_ ));
 DESCR("read entire large object");
 DATA(insert OID = 3459 (  lo_get                  PGNSP PGUID 12 1 0 0 0 f f f f t f v 3 0 17 "26 20 23" _null_ _null_ _null_ _null_ lo_get_fragment _null_ _null_ _null_ ));
index 84ee49690c15f30a8862c4c763418026d610026a..b6c8f7f8cb8e7e11024a6b85426107c5e801d82d 100644 (file)
@@ -25,7 +25,7 @@ extern Datum lo_export(PG_FUNCTION_ARGS);
 
 extern Datum lo_creat(PG_FUNCTION_ARGS);
 extern Datum lo_create(PG_FUNCTION_ARGS);
-extern Datum lo_create_bytea(PG_FUNCTION_ARGS);
+extern Datum lo_from_bytea(PG_FUNCTION_ARGS);
 
 extern Datum lo_open(PG_FUNCTION_ARGS);
 extern Datum lo_close(PG_FUNCTION_ARGS);
index 996304ba79bfd1058e80c21e904adb09e3e3d415..ecb5340a47f8c7c6ae3a85117323759d0f585d03 100644 (file)
@@ -207,7 +207,7 @@ SELECT lo_unlink(loid) FROM lotest_stash_values;
 
 \set newloid_1 :LASTOID
 
-SELECT lo_create(0, lo_get(:newloid_1)) AS newloid_2
+SELECT lo_from_bytea(0, lo_get(:newloid_1)) AS newloid_2
 \gset
 
 SELECT md5(lo_get(:newloid_1)) = md5(lo_get(:newloid_2));
index e6dd97e700b514f5c1fa5765ea51d99ddba7a32d..56a50c0a15258d17c2ff5f6758970b4343e0357b 100644 (file)
@@ -393,7 +393,7 @@ SELECT lo_unlink(loid) FROM lotest_stash_values;
 \lo_unlink :newloid
 \lo_import 'results/lotest.txt'
 \set newloid_1 :LASTOID
-SELECT lo_create(0, lo_get(:newloid_1)) AS newloid_2
+SELECT lo_from_bytea(0, lo_get(:newloid_1)) AS newloid_2
 \gset
 SELECT md5(lo_get(:newloid_1)) = md5(lo_get(:newloid_2));
  ?column? 
index 8665822a678b0141bdf207bb1f0881146d092ac5..c3b537c4ba12fdf497da3d5f5ddaa2f221709643 100644 (file)
@@ -393,7 +393,7 @@ SELECT lo_unlink(loid) FROM lotest_stash_values;
 \lo_unlink :newloid
 \lo_import 'results/lotest.txt'
 \set newloid_1 :LASTOID
-SELECT lo_create(0, lo_get(:newloid_1)) AS newloid_2
+SELECT lo_from_bytea(0, lo_get(:newloid_1)) AS newloid_2
 \gset
 SELECT md5(lo_get(:newloid_1)) = md5(lo_get(:newloid_2));
  ?column?