<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
<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
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")));
if (done && line_buf.len == 0)
break;
start_cursor = line_buf.cursor;
+ continue;
}
end_cursor = line_buf.cursor;