Tom Lane [Fri, 30 May 2003 20:23:10 +0000 (20:23 +0000)]
Small performance improvement for hash joins and hash aggregation:
when the plan is ReScanned, we don't have to rebuild the hash table
if there is no parameter change for its child node. This idea has
been used for a long time in Sort and Material nodes, but was not in
the hash code till now.
Michael Meskes [Fri, 30 May 2003 13:22:02 +0000 (13:22 +0000)]
Create a real prototype function for describe.
Michael Meskes [Fri, 30 May 2003 08:39:01 +0000 (08:39 +0000)]
Sync and some minor cleanup/fixing work plus an EXEC SQL DESCRIBE prototype.
Tom Lane [Thu, 29 May 2003 22:30:02 +0000 (22:30 +0000)]
Ensure that in all flex lexers that are part of the backend, a
yy_fatal_error() call results in elog(ERROR) not exit(). This was
already fixed in the main lexer and plpgsql, but extend same technique
to all the other dot-l files. Also, on review of the possible calls
to yy_fatal_error(), it seems safe to use elog(ERROR) not elog(FATAL).
Barry Lind [Thu, 29 May 2003 21:44:47 +0000 (21:44 +0000)]
one more change to correctly support the removeall of autocommit
Tom Lane [Thu, 29 May 2003 20:40:36 +0000 (20:40 +0000)]
Adopt latest bison's spelling of 'syntax error' rather than 'parse error'
for grammar-detected problems. Revert Makefile hack that kept it looking
like the pre-bison-1.875 output.
Tom Lane [Thu, 29 May 2003 19:15:34 +0000 (19:15 +0000)]
Don't explicitly close() the session socket during backend exit; instead
leave it for the kernel to do after the process dies. This allows clients
to wait for the backend to exit if they wish (after sending X message,
wait till EOF is detected on the socket).
Tom Lane [Thu, 29 May 2003 18:08:42 +0000 (18:08 +0000)]
AFAICT, none of our shared libraries are anywhere near big enough to
need -fPIC on HPPA. Reduce to -fpic.
Michael Meskes [Thu, 29 May 2003 13:59:26 +0000 (13:59 +0000)]
Changed variable parsing so struct[n].attr works.
Michael Meskes [Thu, 29 May 2003 12:00:22 +0000 (12:00 +0000)]
Parse forward definiton of structs.
Barry Lind [Thu, 29 May 2003 04:52:44 +0000 (04:52 +0000)]
Applied patch from Fernando Nasser to fix up small type error
Barry Lind [Thu, 29 May 2003 04:48:33 +0000 (04:48 +0000)]
Applied patch from Fernando Nasser to improve buffer sizes to avoid unnecessary resizing.
Barry Lind [Thu, 29 May 2003 04:39:51 +0000 (04:39 +0000)]
clean up warnings produced by Eclipse
Barry Lind [Thu, 29 May 2003 04:04:08 +0000 (04:04 +0000)]
Adding .cvsignore files for Eclipse IDE
Barry Lind [Thu, 29 May 2003 03:22:48 +0000 (03:22 +0000)]
Up the build number to reflect the changes for V3 protocol support
Barry Lind [Thu, 29 May 2003 03:21:32 +0000 (03:21 +0000)]
Initial attempt to integrate in V3 protocol support. This is still a work in
progress, although all RTs pass using the V3 protocol on a 7.4 database and also pass using the V2 protocol on a 7.3 database.
SSL support is known not to work.
Modified Files:
jdbc/org/postgresql/PGConnection.java
jdbc/org/postgresql/errors.properties
jdbc/org/postgresql/core/BaseConnection.java
jdbc/org/postgresql/core/Encoding.java
jdbc/org/postgresql/core/Field.java
jdbc/org/postgresql/core/PGStream.java
jdbc/org/postgresql/core/QueryExecutor.java
jdbc/org/postgresql/core/StartupPacket.java
jdbc/org/postgresql/fastpath/Fastpath.java
jdbc/org/postgresql/fastpath/FastpathArg.java
jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java
jdbc/org/postgresql/test/jdbc2/BlobTest.java
jdbc/org/postgresql/test/jdbc2/CallableStmtTest.java
jdbc/org/postgresql/test/jdbc2/MiscTest.java
jdbc/org/postgresql/test/jdbc3/Jdbc3TestSuite.java
Tom Lane [Thu, 29 May 2003 01:09:13 +0000 (01:09 +0000)]
Add a regression test to catch future silliness in the index-building
area...
Tom Lane [Thu, 29 May 2003 00:54:42 +0000 (00:54 +0000)]
Fix stupid oversight :-(
Tom Lane [Wed, 28 May 2003 23:06:16 +0000 (23:06 +0000)]
Knock down a couple more lappend() hotspots for large WHERE clauses.
Tom Lane [Wed, 28 May 2003 22:32:50 +0000 (22:32 +0000)]
Fix some planner performance problems with large WHERE clauses, by
introducing new 'FastList' list-construction subroutines to use in
hot spots. This avoids the O(N^2) behavior of repeated lappend's
by keeping a tail pointer, while not changing behavior by reversing
list order as the lcons() method would do.
Tom Lane [Wed, 28 May 2003 19:36:28 +0000 (19:36 +0000)]
Fix breakage of LINUX_PROFILE code due to recent Windows changes.
Tom Lane [Wed, 28 May 2003 18:19:09 +0000 (18:19 +0000)]
Fix things so that an error occuring during standalone-backend processing
in initdb will result in exit(1), allowing the initdb script to realize
that there's something wrong.
Tom Lane [Wed, 28 May 2003 17:25:02 +0000 (17:25 +0000)]
In bootstrap and standalone-backend modes, do not sort LOG elevel out
of order; the 'server log' output is actually client output in these
scenarios and we ought to treat elevels the same way as in the client
case. This allows initdb to not send backend stderr to /dev/null anymore,
which makes it much more likely that people will notice problems during
initdb.
Tom Lane [Wed, 28 May 2003 16:04:02 +0000 (16:04 +0000)]
Replace functional-index facility with expressional indexes. Any column
of an index can now be a computed expression instead of a simple variable.
Restrictions on expressions are the same as for predicates (only immutable
functions, no sub-selects). This fixes problems recently introduced with
inlining SQL functions, because the inlining transformation is applied to
both expression trees so the planner can still match them up. Along the
way, improve efficiency of handling index predicates (both predicates and
index expressions are now cached by the relcache) and fix 7.3 oversight
that didn't record dependencies of predicate expressions.
Bruce Momjian [Wed, 28 May 2003 05:02:38 +0000 (05:02 +0000)]
Add to thread discussion.
Bruce Momjian [Wed, 28 May 2003 04:35:28 +0000 (04:35 +0000)]
Add info about selecting a random row.
Peter Eisentraut [Tue, 27 May 2003 19:36:55 +0000 (19:36 +0000)]
Internationalize interactive yes/no responses.
Bruce Momjian [Tue, 27 May 2003 17:55:50 +0000 (17:55 +0000)]
Make log_ GUC settings controllable only by super-users, so non-super
users can't turn it off.
Bruce Momjian [Tue, 27 May 2003 17:49:47 +0000 (17:49 +0000)]
Make debug_ GUC varables output DEBUG1 rather than LOG, and mention in
docs that CLIENT/LOG_MIN_MESSAGES now controls debug_* output location.
Doc changes included.
Bruce Momjian [Tue, 27 May 2003 16:36:50 +0000 (16:36 +0000)]
Add configure thread tests.
Michael Meskes [Tue, 27 May 2003 14:36:00 +0000 (14:36 +0000)]
Allow input from stdin and output to stdout.
Michael Meskes [Tue, 27 May 2003 11:31:52 +0000 (11:31 +0000)]
Fixed incorrect output for some structs.
Tom Lane [Mon, 26 May 2003 20:05:20 +0000 (20:05 +0000)]
Adjust error-handling logic in libpq. For the first time, libpq copes
sanely with running out of memory for a query result.
Bruce Momjian [Mon, 26 May 2003 19:25:20 +0000 (19:25 +0000)]
Add item for changing a column's data type.
Tom Lane [Mon, 26 May 2003 18:58:26 +0000 (18:58 +0000)]
Fix misstatement in release-notes item.
Bruce Momjian [Mon, 26 May 2003 18:36:51 +0000 (18:36 +0000)]
Update:
< * Add now("transaction|statement|clock") functionality
> * Add transaction_timestamp(), statement_timestamp(), clock_timestamp() functionality
Tom Lane [Mon, 26 May 2003 17:51:38 +0000 (17:51 +0000)]
Make sure printtup() always sends the number of columns previously
advertised in RowDescription message. Depending on the physical tuple's
column count is not really correct, since according to heap_getattr()
conventions the tuple may be short some columns, which will automatically
get read as nulls. Problem has been latent since forever, but was only
exposed by recent change to skip a projection step in SELECT * FROM...
Bruce Momjian [Mon, 26 May 2003 17:50:09 +0000 (17:50 +0000)]
Add documentation to 'createuser' that ALTER USER must be used to add or
modify passwords, per user confusion report.
Also clean up wording that command line utils need database access.
Bruce Momjian [Mon, 26 May 2003 02:56:40 +0000 (02:56 +0000)]
Add:
> * Allow UPDATE to use SET col = DEFAULT
Bruce Momjian [Mon, 26 May 2003 00:55:25 +0000 (00:55 +0000)]
Remove comment that cbrt() isn't being used.
Tom Lane [Mon, 26 May 2003 00:11:29 +0000 (00:11 +0000)]
Cause CHAR(n) to TEXT or VARCHAR conversion to automatically strip trailing
blanks, in hopes of reducing the surprise factor for newbies. Remove
redundant operators for VARCHAR (it depends wholly on TEXT operations now).
Clean up resolution of ambiguous operators/functions to avoid surprising
choices for domains: domains are treated as equivalent to their base types
and binary-coercibility is no longer considered a preference item when
choosing among multiple operators/functions. IsBinaryCoercible now correctly
reflects the notion that you need *only* relabel the type to get from type
A to type B: that is, a domain is binary-coercible to its base type, but
not vice versa. Various marginal cleanup, including merging the essentially
duplicate resolution code in parse_func.c and parse_oper.c. Improve opr_sanity
regression test to understand about binary compatibility (using pg_cast),
and fix a couple of small errors in the catalogs revealed thereby.
Restructure "special operator" handling to fetch operators via index opclasses
rather than hardwiring assumptions about names (cleans up the pattern_ops
stuff a little).
Peter Eisentraut [Sun, 25 May 2003 09:36:09 +0000 (09:36 +0000)]
Information schema improvements
Bruce Momjian [Sun, 25 May 2003 05:30:57 +0000 (05:30 +0000)]
Clean up our static cbrt() implementation in float.c.
Bruce Momjian [Sun, 25 May 2003 04:44:41 +0000 (04:44 +0000)]
Move item:
< * Update clients to use data types, typmod, schema.table.column names of
< result sets using new query protocol
453a452,453
> o Update clients to use data types, typmod, schema.table.column names of
> result sets using new query protocol
Bruce Momjian [Sun, 25 May 2003 03:20:13 +0000 (03:20 +0000)]
Update:
< * Allow clients to get data types, typmod, schema.table.column names from
< result sets, either via the backend protocol or a new QUERYINFO command
to:
> * Update clients to use data types, typmod, schema.table.column names of
> result sets using new query protocol
Bruce Momjian [Sat, 24 May 2003 19:03:21 +0000 (19:03 +0000)]
Add:
> * Allow clients to get data types, typmod, schema.table.column names from
> result sets, either via the backend protocol or a new QUERYINFO command
Bruce Momjian [Sat, 24 May 2003 18:25:35 +0000 (18:25 +0000)]
Update XML items:
> * Allow backend to output result sets in XML
> * Add XML capability to pg_dump and COPY, when backend XML capability
Bruce Momjian [Sat, 24 May 2003 15:33:46 +0000 (15:33 +0000)]
Added:
> * Find a way to reduce rotational delay when repeatedly writing
> last WAL page
Bruce Momjian [Sat, 24 May 2003 03:59:06 +0000 (03:59 +0000)]
Add cost estimate discussion to TODO.detail.
Bruce Momjian [Sat, 24 May 2003 01:28:22 +0000 (01:28 +0000)]
Add to TODO:
* With disabled triggers, allow pg_dump to use ALTER TABLE ADD FOREIGN KEY
Add to trigger TODO.detail.
Bruce Momjian [Sat, 24 May 2003 01:27:41 +0000 (01:27 +0000)]
With disabled triggers, allow pg_dump to use ALTER TABLE ADD FOREIGN KEY
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.