Tom Lane [Fri, 23 May 2003 22:33:23 +0000 (22:33 +0000)]
Improve implementation of btrim/ltrim/rtrim: provide a special case for
single-byte encodings, and a direct C implementation of the single-argument
forms (where spaces are always what gets trimmed). This is in preparation
for using rtrim1() as the bpchar-to-text cast operator, but is a useful
performance improvement even if we decide not to do that.
Michael Meskes [Fri, 23 May 2003 17:20:46 +0000 (17:20 +0000)]
One more ecpg todo fixed and removed.
Bruce Momjian [Fri, 23 May 2003 16:34:36 +0000 (16:34 +0000)]
Place statement_timeout in proper order in docs, from Bruno Wolff III.
Michael Meskes [Fri, 23 May 2003 15:22:38 +0000 (15:22 +0000)]
Forgot these.
Michael Meskes [Fri, 23 May 2003 15:19:36 +0000 (15:19 +0000)]
ecpg now accepts array elements as arguments.
Tom Lane [Fri, 23 May 2003 04:08:34 +0000 (04:08 +0000)]
Seems pl_funcs didn't have support for plpgsql PERFORM statement.
Tom Lane [Thu, 22 May 2003 20:38:50 +0000 (20:38 +0000)]
Update for 7.3.3.
Bruce Momjian [Thu, 22 May 2003 19:14:25 +0000 (19:14 +0000)]
Add define for missing EAI_ADDRFAMILY in BSD/OS 4.3.
Tom Lane [Thu, 22 May 2003 18:31:45 +0000 (18:31 +0000)]
Update release history for impending 7.3.3 release.
Peter Eisentraut [Thu, 22 May 2003 17:20:44 +0000 (17:20 +0000)]
Fix compilation on Cygwin.
Tom Lane [Thu, 22 May 2003 17:13:08 +0000 (17:13 +0000)]
Add defense against possibility that tzname[] doesn't exist.
Michael Meskes [Thu, 22 May 2003 17:09:00 +0000 (17:09 +0000)]
Fixed segfault when detecting undefined cursor.
Tom Lane [Thu, 22 May 2003 16:39:30 +0000 (16:39 +0000)]
Adjust configure so that extern tzname[] will be checked for
independently of whether the struct tm tm_zone member exists.
Also run autoheader, which seems not to have been done lately;
it added about three more things to pg_config.h.in than I was expecting...
Tom Lane [Thu, 22 May 2003 14:39:28 +0000 (14:39 +0000)]
Repair sometimes-incorrect computation of StartUpID after a crash, per
example from Rao Kumar. This is a very corner corner-case, requiring
a minimum of three closely-spaced database crashes and an unlucky
positioning of the second recovery's checkpoint record before you'd notice
any problem. But the consequences are dire enough that it's a must-fix.
Michael Meskes [Thu, 22 May 2003 08:15:42 +0000 (08:15 +0000)]
Removed one TODO item for ecpg as this is done.
Michael Meskes [Thu, 22 May 2003 07:58:45 +0000 (07:58 +0000)]
ecpg now recognizes named structs/unions. So you don't have to list the whole definition everytime you declare a variable anymore.
Tom Lane [Tue, 20 May 2003 20:35:10 +0000 (20:35 +0000)]
Fix coredump in pg_get_triggerdef, ensure function name is schema-
qualified when necessary, simplify argument-printing code.
Michael Meskes [Tue, 20 May 2003 11:05:27 +0000 (11:05 +0000)]
Reversed my incorrect fix.
Tom Lane [Mon, 19 May 2003 21:38:24 +0000 (21:38 +0000)]
Add error message style guidelines to the SGML documentation.
Tom Lane [Mon, 19 May 2003 17:51:01 +0000 (17:51 +0000)]
Use -fPIC on Sparc, per Tom Callaway.
Bruce Momjian [Mon, 19 May 2003 17:31:59 +0000 (17:31 +0000)]
Rename Win32 include directory from win32_include to win32.
Michael Meskes [Mon, 19 May 2003 07:19:57 +0000 (07:19 +0000)]
Fixed exec sql ifdef command.
Tom Lane [Mon, 19 May 2003 01:00:12 +0000 (01:00 +0000)]
Repair quoting sloppiness, lack of schema awareness in reindexdb.
Peter Eisentraut [Sun, 18 May 2003 20:55:57 +0000 (20:55 +0000)]
Add documentation for information schema, and some corrections on some
views.
Tom Lane [Sun, 18 May 2003 01:06:26 +0000 (01:06 +0000)]
Add code to test for unknown timezone names (following some ideas from
Ross Reedstrom, a couple months back) and to detect timezones that are
using leap-second timekeeping. The unknown-zone-name test is pretty
heuristic and ugly, but it seems better than the old behavior of just
switching to GMT given a bad name. Also make DecodePosixTimezone() a
tad more robust.
Tom Lane [Sat, 17 May 2003 15:53:12 +0000 (15:53 +0000)]
Fix breakage induced by recent patch (careless use of fmtId()).
Tom Lane [Fri, 16 May 2003 18:49:51 +0000 (18:49 +0000)]
Fix failure when uniq-ifying an array of zero elements.
Teodor Sigaev
Tom Lane [Fri, 16 May 2003 13:37:00 +0000 (13:37 +0000)]
Small changes to use the absolute path to system catalogs.
Greg Sabino Mullane
Michael Meskes [Fri, 16 May 2003 11:30:09 +0000 (11:30 +0000)]
Made variable type double work again.
Michael Meskes [Fri, 16 May 2003 09:42:56 +0000 (09:42 +0000)]
Fixed incorrect include and another typo. Sorry, the include did not create a warning/error/problem on my machine, so I didn't notice it.
Tom Lane [Fri, 16 May 2003 06:07:51 +0000 (06:07 +0000)]
Check calling context for connectby_text(), per Joe Conway.
Bruce Momjian [Fri, 16 May 2003 04:59:24 +0000 (04:59 +0000)]
Allow interfaces to compile under MingGW/Win32 by adding _P to symbols
in ecpg.
Tom Lane [Fri, 16 May 2003 04:58:03 +0000 (04:58 +0000)]
Revert kerberos code breakage.
Bruce Momjian [Fri, 16 May 2003 02:40:19 +0000 (02:40 +0000)]
Remove use of geteuid under Win32.
Bruce Momjian [Fri, 16 May 2003 01:57:52 +0000 (01:57 +0000)]
Reorganize Win32 includes to only include <port.h> after system includes
under Win32. Also fix other compile issues.
Tom Lane [Thu, 15 May 2003 23:39:27 +0000 (23:39 +0000)]
Revert change of inclusion order for pg_config_os.h; this broke plperl
on Linux and would have who knows what unpleasant effects on other platforms.
If you need another include file for Windows, then add it; don't go
messing with the semantics of every other port's include files.
Tom Lane [Thu, 15 May 2003 19:34:46 +0000 (19:34 +0000)]
Add missing #include.
Bruce Momjian [Thu, 15 May 2003 17:59:17 +0000 (17:59 +0000)]
Add copydir() function because xcopy doesn't work in XP without a
window.
Bruce Momjian [Thu, 15 May 2003 16:40:29 +0000 (16:40 +0000)]
Add missing win32 file --- seems best way to find these is to just
commmit then do a cvs update again.
Bruce Momjian [Thu, 15 May 2003 16:35:30 +0000 (16:35 +0000)]
Allow Win32 to compile under MinGW. Major changes are:
Win32 port is now called 'win32' rather than 'win'
add -lwsock32 on Win32
make gethostname() be only used when kerberos4 is enabled
use /port/getopt.c
new /port/opendir.c routines
disable GUC unix_socket_group on Win32
convert some keywords.c symbols to KEYWORD_P to prevent conflict
create new FCNTL_NONBLOCK macro to turn off socket blocking
create new /include/port.h file that has /port prototypes, move
out of c.h
new /include/port/win32_include dir to hold missing include files
work around ERROR being defined in Win32 includes
Peter Eisentraut [Thu, 15 May 2003 15:50:21 +0000 (15:50 +0000)]
Indexing support for pattern matching operations via separate operator
class when lc_collate is not C.
Tom Lane [Wed, 14 May 2003 18:40:37 +0000 (18:40 +0000)]
Fix oversight: ignore-till-SYNC state should not ignore EOF ...
Tom Lane [Wed, 14 May 2003 18:08:15 +0000 (18:08 +0000)]
Add text(cidr) cast, per recent discussion. I'm not bothering to
force an initdb for this.
Michael Meskes [Wed, 14 May 2003 14:37:36 +0000 (14:37 +0000)]
- Added more compatibility functions.
- Accept CPP defines for type definitions.
- Do not parse system include files automatically for Informix mode
Tom Lane [Wed, 14 May 2003 03:27:22 +0000 (03:27 +0000)]
Fix various recent build and regression-test problems in contrib/.
Includes fixes from Joe Conway.
Tom Lane [Wed, 14 May 2003 03:26:03 +0000 (03:26 +0000)]
Backend support for autocommit removed, per recent discussions. The
only remnant of this failed experiment is that the server will take
SET AUTOCOMMIT TO ON. Still TODO: provide some client-side autocommit
logic in libpq.
Tom Lane [Tue, 13 May 2003 18:39:50 +0000 (18:39 +0000)]
In RowDescription messages, report columns of domain datatypes as having
the type OID and typmod of the underlying base type. Per discussions
a few weeks ago with Andreas Pflug and others. Note that this behavioral
change affects both old- and new-protocol clients.
Tom Lane [Tue, 13 May 2003 18:03:08 +0000 (18:03 +0000)]
More binary I/O routines.
Michael Meskes [Tue, 13 May 2003 11:29:14 +0000 (11:29 +0000)]
Fixed order of include file search path.
Tom Lane [Tue, 13 May 2003 04:38:58 +0000 (04:38 +0000)]
Change pg_amop's index on (amopclaid,amopopr) to index (amopopr,amopclaid).
This makes no difference for existing uses, but allows SelectSortFunction()
and pred_test_simple_clause() to use indexscans instead of seqscans to
locate entries for a particular operator in pg_amop. Better yet, they can
use the SearchSysCacheList() API to cache the search results.
Tom Lane [Mon, 12 May 2003 23:08:52 +0000 (23:08 +0000)]
Add binary I/O routines for a bunch more datatypes. Still a few to go,
but that was enough tedium for one day. Along the way, move the few
support routines for types xid and cid into a more logical place.
Tom Lane [Mon, 12 May 2003 16:48:17 +0000 (16:48 +0000)]
Avoid unnecessary copying of parameter values in BIND. This allows
efficient insertion of large bytea values through the BIND interface.
Tom Lane [Mon, 12 May 2003 00:17:03 +0000 (00:17 +0000)]
Apply fixes for problems with dropped columns whose types have also been
dropped. The simplest fix for INSERT/UPDATE cases turns out to be for
preptlist.c to insert NULLs of a known-good type (I used INT4) rather
than making them match the deleted column's type. Since the representation
of NULL is actually datatype-independent, this should work fine.
I also re-reverted the patch to disable the use_physical_tlist optimization
in the presence of dropped columns. It still doesn't look worth the
trouble to be smarter, if there are no other bugs to fix.
Added a regression test to catch future problems in this area.
Tom Lane [Sun, 11 May 2003 20:50:53 +0000 (20:50 +0000)]
Finish removing HPUXMATHLIB.
Tom Lane [Sun, 11 May 2003 20:25:50 +0000 (20:25 +0000)]
Revert previous change --- turns out the underlying problem affects
more cases than I thought, so ExecTypeFromTL() will have to be fixed
anyway.
Tom Lane [Sun, 11 May 2003 15:03:52 +0000 (15:03 +0000)]
Disable the recently-added use_physical_tlist optimization in cases
where the table contains dropped columns. If the columns are dropped,
then their types may be gone as well, which causes ExecTypeFromTL() to
fail if the dropped columns appear in a plan node's tlist. This could
be worked around but I don't think the optimization is valuable enough
to be worth the trouble.
Tom Lane [Sat, 10 May 2003 19:04:30 +0000 (19:04 +0000)]
Make use of new error context stack mechanism to allow random errors
detected during buffer dump to be labeled with the buffer location.
For example, if a page LSN is clobbered, we now produce something like
ERROR: XLogFlush: request
2C000000/
8468EC8 is not satisfied --- flushed only
to 0/
8468EF0
CONTEXT: writing block 0 of relation 428946/566240
whereas before there was no convenient way to find out which page had
been trashed.
Tom Lane [Sat, 10 May 2003 18:15:42 +0000 (18:15 +0000)]
In child-crashed log messages, identify a checkpoint process as such
instead of calling it a 'server process'.
Tom Lane [Sat, 10 May 2003 18:01:31 +0000 (18:01 +0000)]
Adjust CreateCheckpoint so that buffer dumping activities and cleanup of
dead xlog segments are not considered part of a critical section. It is
not necessary to force a database-wide panic if we get a failure in these
operations. Per recent trouble reports.
Bruce Momjian [Sat, 10 May 2003 04:06:55 +0000 (04:06 +0000)]
More crypt() cleanup.
Bruce Momjian [Sat, 10 May 2003 04:03:37 +0000 (04:03 +0000)]
Remove HPUX 9 rint() test.
Cleanup new crypt() source code.
Bruce Momjian [Sat, 10 May 2003 02:05:50 +0000 (02:05 +0000)]
Add Makefile rules for new crypt/rint() /port functions. Add include
for rint prototype.
Tom Lane [Fri, 9 May 2003 23:01:45 +0000 (23:01 +0000)]
Implement array_send/array_recv (binary I/O for arrays). This exposed
the folly of not passing element type to typsend/typreceive, so fix that.
Tom Lane [Fri, 9 May 2003 21:19:50 +0000 (21:19 +0000)]
COPY BINARY uses the new binary I/O routines. Update a few more datatypes
so that COPY BINARY regression test passes.
Tom Lane [Fri, 9 May 2003 18:18:54 +0000 (18:18 +0000)]
Now that fastpath protocol allows null arguments to be passed,
fastpath.c had better check for strict functions.
Tom Lane [Fri, 9 May 2003 18:08:48 +0000 (18:08 +0000)]
Implement new-protocol binary I/O support in DataRow, Bind, and FunctionCall
messages. Binary I/O is now up and working, but only for a small set
of datatypes (integers, text, bytea).
Bruce Momjian [Fri, 9 May 2003 16:59:43 +0000 (16:59 +0000)]
More cleanups now that we have crypt().
Bruce Momjian [Fri, 9 May 2003 16:52:48 +0000 (16:52 +0000)]
autoconf run for crypt().
Bruce Momjian [Fri, 9 May 2003 16:52:11 +0000 (16:52 +0000)]
Add crypt() to /port for Win32.
Bruce Momjian [Fri, 9 May 2003 16:35:57 +0000 (16:35 +0000)]
Remove rint() prototype from QNX.
Bruce Momjian [Fri, 9 May 2003 16:31:24 +0000 (16:31 +0000)]
Remove another old rint() replacement.
Bruce Momjian [Fri, 9 May 2003 16:26:29 +0000 (16:26 +0000)]
Add rint() to /port, remove from qnx/.
Bruce Momjian [Fri, 9 May 2003 15:57:24 +0000 (15:57 +0000)]
Pass canAcceptConnections to exec'ed backend, for Jan.
Tom Lane [Fri, 9 May 2003 15:44:42 +0000 (15:44 +0000)]
Binary send/receive routines for a few basic datatypes --- enough for
testing purposes.
Bruce Momjian [Fri, 9 May 2003 01:16:29 +0000 (01:16 +0000)]
Add opendir/readdir/closedir() for Win32.
Keep SRA copyright on file because it contains BSD license clause.
Tom Lane [Thu, 8 May 2003 22:19:58 +0000 (22:19 +0000)]
Reinstate pg_type's typsend and typreceive columns. They don't do much
yet, but they're there. Also some editorial work on CREATE TYPE reference
page.
Bruce Momjian [Thu, 8 May 2003 20:43:07 +0000 (20:43 +0000)]
Write non-defaults file before signalling the children to reread it.
Bruce Momjian [Thu, 8 May 2003 19:17:07 +0000 (19:17 +0000)]
Move attached to shared memory out into a separate function for clarity.
Tom Lane [Thu, 8 May 2003 18:33:39 +0000 (18:33 +0000)]
I think we're done with protocol instability, so mark server and libpq
as speaking the one true 3.0 protocol.
Tom Lane [Thu, 8 May 2003 18:16:37 +0000 (18:16 +0000)]
Update 3.0 protocol support to match recent agreements about how to
handle multiple 'formats' for data I/O. Restructure CommandDest and
DestReceiver stuff one more time (it's finally starting to look a bit
clean though). Code now matches latest 3.0 protocol document as far
as message formats go --- but there is no support for binary I/O yet.
Bruce Momjian [Thu, 8 May 2003 14:49:04 +0000 (14:49 +0000)]
Pass shared memory address on command line to exec'ed backend.
Allow backends to attached to specified shared memory address.
Tom Lane [Thu, 8 May 2003 14:35:24 +0000 (14:35 +0000)]
Fix documentation problem pointed out by Barry Lind: code expected a
terminating zero byte in StartupMessage, docs didn't mention it.
Tom Lane [Wed, 7 May 2003 22:23:27 +0000 (22:23 +0000)]
Update COPY BINARY file format spec to reflect recent decisions about
external representation of binary data.
Tom Lane [Wed, 7 May 2003 21:46:15 +0000 (21:46 +0000)]
Revise protocol doc for recently-agreed modifications. This is the
first version of the 3.0 protocol that can be considered non-draft.
Bruce Momjian [Wed, 7 May 2003 03:47:08 +0000 (03:47 +0000)]
Change alternate database location patch to test for symlink() rather
than WIN32.
Tom Lane [Wed, 7 May 2003 03:41:31 +0000 (03:41 +0000)]
Fix erroneous example, per Tim Knowles.
Barry Lind [Wed, 7 May 2003 03:03:30 +0000 (03:03 +0000)]
Fixed bug with Warnings. Warnings are not added to the Statement instead of
the connection when appropriate.
This checkin also adds the type map for jdbc3, however currently it is
identical to the jdbc2 mapping.
Modified Files:
jdbc/org/postgresql/core/BaseStatement.java
jdbc/org/postgresql/core/QueryExecutor.java
jdbc/org/postgresql/jdbc3/AbstractJdbc3Connection.java
Bruce Momjian [Tue, 6 May 2003 23:34:56 +0000 (23:34 +0000)]
Pass shared memory id and socket descriptor number on command line for
fork/exec.
Bruce Momjian [Tue, 6 May 2003 23:33:52 +0000 (23:33 +0000)]
Properly test for buggy flex 2.5.3.
Tom Lane [Tue, 6 May 2003 23:10:04 +0000 (23:10 +0000)]
Minor editorializing.
Tom Lane [Tue, 6 May 2003 21:51:42 +0000 (21:51 +0000)]
Add display of eventual result RowDescription (if any) to the output
of Describe on a prepared statement. This was in the original 3.0
protocol proposal, but I took it out for reasons that seemed good at
the time. Put it back per yesterday's pghackers discussion.
Tom Lane [Tue, 6 May 2003 21:01:04 +0000 (21:01 +0000)]
Ensure that an Execute operation can't send tuples in cases where
Describe would claim that no tuples will be returned. Only affects
SELECTs added to non-SELECT base queries by rewrite rules. If you
want to see the output of such a select, you gotta use 'simple Query'
protocol.
Tom Lane [Tue, 6 May 2003 20:26:28 +0000 (20:26 +0000)]
Restructure command destination handling so that we pass around
DestReceiver pointers instead of just CommandDest values. The DestReceiver
is made at the point where the destination is selected, rather than
deep inside the executor. This cleans up the original kluge implementation
of tstoreReceiver.c, and makes it easy to support retrieving results
from utility statements inside portals. Thus, you can now do fun things
like Bind and Execute a FETCH or EXPLAIN command, and it'll all work
as expected (e.g., you can Describe the portal, or use Execute's count
parameter to suspend the output partway through). Implementation involves
stuffing the utility command's output into a Tuplestore, which would be
kind of annoying for huge output sets, but should be quite acceptable
for typical uses of utility commands.
Michael Meskes [Tue, 6 May 2003 09:48:25 +0000 (09:48 +0000)]
Added rfmtlong compatibility function.
Bruce Momjian [Tue, 6 May 2003 05:15:45 +0000 (05:15 +0000)]
Rename internal variables DBName|dbName to dbname, for consistency.
Bruce Momjian [Tue, 6 May 2003 04:16:35 +0000 (04:16 +0000)]
Comment out some of the conditional tests until we have exec().
Reorder non-default variable loading until PGDATA is defined.
Tom Lane [Tue, 6 May 2003 00:20:33 +0000 (00:20 +0000)]
Implement feature of new FE/BE protocol whereby RowDescription identifies
the column by table OID and column number, if it's a simple column
reference. Along the way, get rid of reskey/reskeyop fields in Resdoms.
Turns out that representation was not convenient for either the planner
or the executor; we can make the planner deliver exactly what the
executor wants with no more effort.
initdb forced due to change in stored rule representation.
Tom Lane [Mon, 5 May 2003 17:57:47 +0000 (17:57 +0000)]
Ditch ExecGetTupType() in favor of the much simpler ExecGetResultType(),
which does the same thing. Perhaps at one time there was a reason to
allow plan nodes to store their result types in different places, but
AFAICT that's been unnecessary for a good while.
Tom Lane [Mon, 5 May 2003 16:46:28 +0000 (16:46 +0000)]
Alter plpgsql's lexer so that yylineno and yymore are not used. This
avoids 'input buffer overflow' failure on long literals, improves
performance, gives the right answer for line position in functions
containing multiline literals, suppresses annoying compiler warnings,
and generally is so much better I wonder why we didn't do it before.
Tom Lane [Mon, 5 May 2003 15:08:49 +0000 (15:08 +0000)]
Provide a real link to CREATE SEQUENCE's reference page in nextval/setval
discussion.