Skip to content
Browse files

COPY's test for read-only transaction was backward; it prohibited COP…

…Y TO

where it should prohibit COPY FROM.  Found by Alon Goldshuv.
  • Loading branch information...
1 parent 73a71f5 commit 3dfec7f73ef3a4e281648f1c0e1a7deaf1850320 @tglsfdc tglsfdc committed Oct 3, 2005
Showing with 14 additions and 3 deletions.
  1. +11 −1 doc/src/sgml/release.sgml
  2. +3 −2 src/backend/commands/copy.c
View
12 doc/src/sgml/release.sgml
@@ -1,5 +1,5 @@
<!--
-$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.321.4.13 2005/10/03 16:04:51 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.321.4.14 2005/10/03 23:43:27 tgl Exp $
-->
<appendix id="release">
@@ -46,6 +46,11 @@ DATABASE</></para>
<para>This should fix recent reports of <quote>index is not a btree</>
failures when a crash occurs shortly after <command>CREATE
DATABASE</>.</para></listitem>
+<listitem><para>Fix the sense of the test for read-only transaction
+in <command>COPY</></para>
+<para>The code formerly prohibited <command>COPY TO</>, where it should
+prohibit <command>COPY FROM</>.
+</para></listitem>
<listitem><para>Handle consecutive embedded newlines in <command>COPY</>
CSV-mode input</para></listitem>
<listitem><para>Fix <function>date_trunc(week)</> for dates near year
@@ -2817,6 +2822,11 @@ length when using a multiple-byte character set (Yoshiyuki Asaba)</para>
<para>In prior releases, the padding of <type>CHAR()</> was incorrect
because it only padded to the specified number of bytes without
considering how many characters were stored.</para></listitem>
+<listitem><para>Fix the sense of the test for read-only transaction
+in <command>COPY</></para>
+<para>The code formerly prohibited <command>COPY TO</>, where it should
+prohibit <command>COPY FROM</>.
+</para></listitem>
<listitem><para>Fix planning problem with outer-join ON clauses that reference
only the inner-side relation</para></listitem>
<listitem><para>Further fixes for <literal>x FULL JOIN y ON true</> corner
View
5 src/backend/commands/copy.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.236.4.1 2005/05/13 06:35:25 neilc Exp $
+ * $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.236.4.2 2005/10/03 23:43:29 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -900,7 +900,8 @@ DoCopy(const CopyStmt *stmt)
rel = heap_openrv(relation, (is_from ? RowExclusiveLock : AccessShareLock));
/* check read-only transaction */
- if (XactReadOnly && !is_from && !isTempNamespace(RelationGetNamespace(rel)))
+ if (XactReadOnly && is_from &&
+ !isTempNamespace(RelationGetNamespace(rel)))
ereport(ERROR,
(errcode(ERRCODE_READ_ONLY_SQL_TRANSACTION),
errmsg("transaction is read-only")));

0 comments on commit 3dfec7f

Please sign in to comment.
Something went wrong with that request. Please try again.