In the folllowing check (copy.c:DoCopy() ), I *think* that the check for the
is_from flag is mistakenly negated. is_from means -> from file to database,
therefore we should check for <XactReadOnly && is_from>, and not
<XactReadOnly && !is_from>. The current code allows loading and disallows
reading in read-only.
    
/* check read-only transaction */
if (XactReadOnly && !is_from &&
    !isTempNamespace(RelationGetNamespace(cstate->rel)))
    ereport(ERROR,
            (errcode(ERRCODE_READ_ONLY_SQL_TRANSACTION),
             errmsg("transaction is read-only")));


Alon.



---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to