Tom Lane [Thu, 29 Nov 2001 22:57:37 +0000 (22:57 +0000)]
Tweak plpgsql's expression reader to be smarter about parentheses and
to give more useful error messages. Stephen Szabo's example of this
morning ('loop' used as a variable name inside a subselect) works
correctly now, and a FOR that is misinterpreted as an integer FOR will
draw 'missing .. at end of SQL expression', which is at least
marginally helpful.
Tom Lane [Thu, 29 Nov 2001 21:02:41 +0000 (21:02 +0000)]
Fix array_out's failure to backslash backslashes, per bug# 524. Also,
remove brain-dead rule that double quotes are needed if and only if the
datatype is pass-by-reference; neither direction of the implication holds
water. Instead, examine the actual data string to see if it contains
any characters that force us to quote it.
Add some documentation about quoting of array values, which was previously
explained nowhere AFAICT.
Tom Lane [Tue, 27 Nov 2001 23:48:12 +0000 (23:48 +0000)]
Fix nasty memory leak in pg_restore: _PrintData called inflateInit but
never did inflateEnd, thus leaking some tens of KB per call. Which
added up *real fast* when dealing with, say, thousands of BLOBs.
Thanks to Lane Rollins for the bug report.
Tom Lane [Mon, 26 Nov 2001 21:15:14 +0000 (21:15 +0000)]
Change display of FieldSelect nodes from arg.field to field(arg),
per bug report from Stefan Hadjistoytchev. There are some cases
where the dot notation works, but there are more where it doesn't.
Eventually ought to consider fixing the parser to allow cases like
func().field, but for now this is the simplest patch.
Barry Lind [Mon, 26 Nov 2001 05:57:57 +0000 (05:57 +0000)]
Updates to JDBC doc:
Editing pass over entire chapter
Rewrote section dealing with Large Objects to also talk about bytea support
Removed secion on Serialize functionality a we intend to remove it in the
next release
Tom Lane [Mon, 26 Nov 2001 00:29:15 +0000 (00:29 +0000)]
Repair problem with listing rules that have a WHERE condition and
have an INSERT...SELECT as the first or only action. Per bug report
from Sergio Pili.
Barry Lind [Sun, 25 Nov 2001 23:26:59 +0000 (23:26 +0000)]
This patch fixes a bug reported by Graham Leggett (minfrin@sharp.fm).
The bug was that any insert or update would fail if the returned oid was
larger than a signed int. Since OIDs are unsigned int's it was
a bug that the code used a java signed int to deal with the values. The bug
would result in the error message: "Unable to fathom update count".
While fixing the bug, it became apparent that other code made a similar
assumption about OIDs being signed ints. Therefore some methods that returned
or took OIDs are arguements also needed to be changed.
Since we are so close to the 7.2 release I have added new methods that
return longs and deprecated the old methods returning ints. Therefore all
old code should still work without requiring a code change to cast from long to int. Also note that the methods below are PostgreSQL specific extensions to
the JDBC api are are not part of the spec from Sun, thus it is unlikely that
they are used much or at all.
The deprecated methods are:
ResultSet.getInsertedOID()
Statement.getInsertedOID()
Serialize.store()
Connection.putObject()
and are replaced by:
ResultSet.getLastOID()
Statement.getLastOID()
Serialize.storeObject()
Connection.storeObject()
All the deprecated methods returned int, while their replacements return long
This patch also fixes two comments in MD5Digest that the author Jeremy Wohl
submitted.
Tom Lane [Sat, 24 Nov 2001 04:10:47 +0000 (04:10 +0000)]
Remove extraneous space that somehow got into expected alter_table.out.
The default diff switches prevented regression tests from complaining,
but that doesn't make it correct.
Tom Lane [Fri, 23 Nov 2001 23:41:54 +0000 (23:41 +0000)]
Fix boundary condition in btbulkdelete: don't examine high key in case
where rightmost index page splits while we are waiting to obtain exclusive
lock on it. Not clear this would actually hurt (probably the callback
would always fail), but better safe than sorry.
Also, improve comments describing concurrency considerations in this code.