duplicates rejected by index reports PGSQL_FATAL_ERROR

Started by tjover 22 years ago2 messagesgeneral
Jump to latest
#1tj
tj@getlostspammer.com

v7.2.2

When an insert fails because its in violation of an index (duplicate), I get
a return code 7 (PGSQL_FATAL_ERROR) in my php 4.2.3 interface.

Its not really a fatal error, is it? Shouldn't it be reported as a
NONFATAL_ERROR ?

I have a "dumb" synchronizing task, that attempts to import a daily
cumulative batch of records, relying on a specific table index to reject
the records that were successfully imported from previous runs. The "index
rejection" method takes only 25 seconds for my batch of 30,000 records,
while the "select to find if non-existing then perform the insert" takes 25
minutes. Is there a better way?

--
TJ

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: tj (#1)
Re: duplicates rejected by index reports PGSQL_FATAL_ERROR

tj <tj@getlostspammer.com> writes:

Its not really a fatal error, is it? Shouldn't it be reported as a
NONFATAL_ERROR ?

It's "fatal" to the particular query that was executing.
PGRES_NONFATAL_ERROR is only used for notice messages. These constant
names are perhaps rather poorly chosen, but we can't change them now
without incurring an unreasonable amount of confusion and backwards
compatibility problems ...

regards, tom lane