Commit Graph

12757 Commits

Author SHA1 Message Date
Tom Lane
afb09b5a31 Use inlined TAS() on PA-RISC, if we are compiling with gcc.
Patch inspired by original submission from ViSolve.
2003-12-23 22:15:07 +00:00
Tom Lane
cd2ad9b944 Fix a number of places where reconfiguring with a different installation
prefix would fail, because the new path did not get propagated to where
it needed to be.  Note this would fail even with --enable-depend.
2003-12-23 21:56:21 +00:00
Tom Lane
358d032f98 Fix compile warning. 2003-12-23 21:50:38 +00:00
Tom Lane
2fb67fa469 More bogosity in alter_table test: sometimes causes prepare test to fail
by means of arbitrarily renaming tables the other test depends on.
2003-12-23 20:34:45 +00:00
Tom Lane
e8a4515626 alter_table test sometimes failed in parallel mode, because of transient
table name conflict against rangefuncs test.
2003-12-23 20:17:47 +00:00
Tom Lane
baee5f75c5 Push responsibility for selecting out-of-line-assembler TAS code out to
the platform template files, instead of doing it directly in configure.in.
This seems cleaner, and also opens the door to making the choice be
dependent on the compiler being used.
2003-12-23 18:40:53 +00:00
Tom Lane
9adaf64da3 Mop-up for HAS_TEST_AND_SET refactoring. Un-break two or three platforms
that were broken, try to make layout of s_lock.h entries consistent,
use HAVE_SPINLOCKS in preference to HAS_TEST_AND_SET everywhere outside
s_lock.h itself.
2003-12-23 18:13:17 +00:00
Bruce Momjian
caf6e9d2dd Have configure --without-spinlocks actually not use spinlock code, even
if supported by the cpu.
2003-12-23 03:52:10 +00:00
Bruce Momjian
69f2e9b0fc Move slock_t typdefs into s_lock.h from include/port files for
centralization and easier maintanence.
2003-12-23 03:31:30 +00:00
Bruce Momjian
dcae5781d1 Remove __alpha__ additions in main.c but document that they are missing. 2003-12-23 00:34:04 +00:00
Bruce Momjian
887b5a7be0 Remove NEED_I386_TAS_ASM and just test for compiler defines. 2003-12-23 00:32:06 +00:00
Tom Lane
f66b0ff066 Allow plpgsql variables' default value expressions to reference
existing variables (such as function parameters).  Per gripe from
David Fetter.
2003-12-23 00:01:57 +00:00
Bruce Momjian
9114cb1c5f This applied patch remove NEED_SPARC_TAS_ASM and instead uses __sparc ||
__sparc__.
2003-12-22 23:39:53 +00:00
Bruce Momjian
b731d04101 Test for __alpha and __alpha__. 2003-12-22 23:36:38 +00:00
Tom Lane
ef92b82dbb Further cleanup in _bt_first: eliminate duplicate code paths. 2003-12-21 17:52:34 +00:00
Bruce Momjian
0ea4f9c859 Back out:
>  Attached is a patch that addressed all the discussed issues
>  that did not break backward compatability, including the
>  ability to output ISO-8601 compliant intervals by setting
>  datestyle to iso8601basic.
2003-12-21 04:34:36 +00:00
Bruce Momjian
ced30eb857 [ This description should have been on the earlier fork/exec
commit, but I am adding it now so it is in CVS.]

The patch basically is a slight rearrangement of the code to allow
fork/exec on Unix, with the ultimate goal of doing CreateProcess on
Win32.  The changes are:

        o  Write out postmaster global variables and per-backend
variables to be read by the exec'ed backend

        o  Mark some static variables as global when exec is used so
then can be dumped from postmaster.c, marked NON_EXEC_STATIC

        o  Remove value passing with -p now that we have per-backend
file

        o  Move some pointer storage out of shared memory for easier
dumping.

        o  Modified pgsql_temp directory cleanup to handle per-database
directories and the backend exec directory under datadir.


Claudio Natoli
2003-12-21 04:30:10 +00:00
Tom Lane
2a0caefeb5 Previous change exposed some opportunities for further simplification
in _bt_first().
2003-12-21 03:00:04 +00:00
Tom Lane
569659ae16 Improve btree's initial-positioning-strategy code so that we never need
to step more than one entry after descending the search tree to arrive at
the correct place to start the scan.  This can improve the behavior
substantially when there are many entries equal to the chosen boundary
value.  Per suggestion from Dmitry Tkach, 14-Jul-03.
2003-12-21 01:23:06 +00:00
Tom Lane
772d0f9345 The recent DUMMY_PROCS patch broke accounting for the number of semaphores
needed.  This caused us to fail all the time on Darwin, and we'd fail for
some values of maxBackends on SysV-sema platforms, too.
2003-12-21 00:33:33 +00:00
Tom Lane
16cc9dff4f bufmgr.c failed to compile on Darwin, because it didn't include
<sys/time.h> where struct timeval is defined.
2003-12-20 22:18:02 +00:00
Tom Lane
fb8ac3fcb6 Dept. of third thoughts: in fact, libpq should support SCM_CREDS challenge
even when HAVE_GETPEEREID is defined, else it will be unable to connect to
pre-7.4 backends that are using IDENT authentication.
2003-12-20 18:45:49 +00:00
Tom Lane
b8f2980209 Fix broken IDENT support for FreeBSD (appears to have been broken by
ill-considered conditional logic in getpeereid patch of 3-Dec-2002).
Per bug #1021.
2003-12-20 18:24:52 +00:00
Bruce Momjian
d75b2ec4eb This patch is the next step towards (re)allowing fork/exec.
Claudio Natoli
2003-12-20 17:31:21 +00:00
Bruce Momjian
54c8e821b8 In my mind there were two categories of open issues
a) ones that are 100% backward (such as the comment about
     outputting this format)
and
  b) ones that aren't (such as deprecating the current
     postgresql shorthand of
         '1Y1M'::interval = 1 year 1 minute
     in favor of the ISO-8601
         'P1Y1M'::interval = 1 year 1 month.

Attached is a patch that addressed all the discussed issues that
did not break backward compatability, including the ability to
output ISO-8601 compliant intervals by setting datestyle to
iso8601basic.

Interval values can now be written as  ISO 8601 time intervals, using
the "Format with time-unit designators". This format always starts with
the character 'P', followed  by a string of values followed
by single character time-unit designators. A 'T' separates the date and
time parts of the interval.

Ron Mayer
2003-12-20 15:32:55 +00:00
Bruce Momjian
85f51dea1c Supress ecpg thread test if configure didn't enable threads. Fix
tools/thread to run even if configure didn't enable threads because this
test is used before enabling threads for the OS.
2003-12-19 23:29:15 +00:00
Bruce Momjian
580cae7567 Prevent service dbname from defaulting to service name, per bug report
from Michael Fuhr
2003-12-19 21:50:54 +00:00
Peter Eisentraut
f39748a70f Forbid REVOKE on untrusted languages, and don't dump privileges of
untrusted languages (in case they sneak in).
2003-12-19 14:21:56 +00:00
Peter Eisentraut
9a1cab4391 Add missing $(X). 2003-12-19 11:54:25 +00:00
Tom Lane
7fc2d50877 Make to_hex() behave portably on negative input values (treat them as
unsigned integers).  Per report from Jim Crate.
2003-12-19 04:56:41 +00:00
Joe Conway
edc7f146e3 Use a shutdown callback to ensure proper clean up when rescanning
partially-evaluated SRFs. Per report found here:
http://archives.postgresql.org/pgsql-general/2003-12/msg00851.php
2003-12-19 00:02:11 +00:00
Tom Lane
e0cd175212 Fix memory leak with SSL connections due to missing X509_free() calls.
Per Neil Conway.
2003-12-18 22:49:26 +00:00
Tom Lane
54840eca2e Use a shutdown callback to clear setArgsValid in a FuncExprState that is
evaluating a set-valued function.  This fixes some additional problems
with rescanning partially-evaluated SRFs.
2003-12-18 22:23:42 +00:00
Peter Eisentraut
ed8e5143c2 Forgot to change one compatlib.h. 2003-12-18 20:25:58 +00:00
Tom Lane
38423232a5 Ensure set-returning functions in the targetlist of a plan node will be
shut down cleanly if the plan node is ReScanned before the SRFs are run
to completion.  This fixes the problem for SQL-language functions, but
still need work on functions using the SRF_XXX() macros.
2003-12-18 20:21:37 +00:00
Peter Eisentraut
ad8c09c29c Move Informix compatibility include files out of the way. compatlib.h
was integrated into ecpg_informix.h, the other ones go into their own
subdirectory that is automatically considered by the embedded preprocessor
when in Informix mode.
2003-12-18 18:55:09 +00:00
Dave Cramer
b4ed1edb57 patch for new OID74Test 2003-12-18 04:17:17 +00:00
Dave Cramer
b9deede241 fixed up OID74 test to conform with other tests, by Kris Jurka 2003-12-18 04:08:30 +00:00
Bruce Momjian
ed96bfde18 Here is the definition of relation_byte_size() in optimizer/path/costsize.c:
----------------------------------------------------------------------
/*
 * relation_byte_size
 *        Estimate the storage space in bytes for a given number of tuples
 *        of a given width (size in bytes).
 */
static double
relation_byte_size(double tuples, int width)
{
        return tuples * (MAXALIGN(width) + MAXALIGN(sizeof(HeapTupleData)));
}

----------------------------------------------------------------------

Shouldn't this be HeapTupleHeaderData and not HeapTupleData ?

(Of course, from a costing perspective these shouldn't be very different but ...)

Sailesh Krishnamurthy
2003-12-18 03:46:45 +00:00
Dave Cramer
bb58eed004 patch by Kris Jurka to use the correct protocol based upon server information 2003-12-18 03:27:15 +00:00
Tom Lane
38b0dff0d3 Adjust rules output for unknown-vs-any change (affects expected contents
of pg_stats view definition).
2003-12-18 01:48:53 +00:00
Tom Lane
109a4a603f Be a little smarter in group_clauses_by_indexkey_for_join: detect cases
where a joinclause is redundant with a restriction clause.  Original coding
believed this was impossible and didn't need to be checked for, but that
was a thinko ...
2003-12-18 00:22:12 +00:00
Tom Lane
422249120d information_schema.constraint_column_usage and key_column_usage should
not discriminate against system columns, since we support constraints on
system columns, and in fact constraints on OID are moderately useful.
2003-12-17 22:11:30 +00:00
Tom Lane
78f637c6da Fix DecodeInterval to handle '-0.1' sanely, per gripe from Tilo Schwarz. 2003-12-17 21:45:44 +00:00
Tom Lane
f758097c6d Reorder tests in parse_coerce so that ANY/ANYELEMENT/ANYARRAY coercion
does not affect UNKNOWN-type literals or Params.  This fixes the recent
complaint about count('x') being broken, and improves consistency in
a few other respects too.
2003-12-17 19:49:39 +00:00
Peter Eisentraut
b40b3306fa Remove pg_id. 2003-12-17 18:44:09 +00:00
Tom Lane
99e922a01d Repair planner failure when there are multiple IN clauses, each with
a join in its subselect.  In this situation we *must* build a bushy
plan because there are no valid left-sided or right-sided join trees.
Accordingly, hoary sanity check needs an update.  Per report from
Alessandro Depase.
2003-12-17 17:07:48 +00:00
Dave Cramer
9dddd242dd revoked patch from Kris Jurka to fix multiarguments, and changed test to create
a temp table
2003-12-17 15:45:05 +00:00
Dave Cramer
e4955c2ec3 patch from Kris Jurka to fix large object 7.1 compatible protocol issues
modified test case from Alexey Yudichev to be part of the testsuite
2003-12-17 15:38:42 +00:00
Michael Meskes
95eea2d89c - Added just another patch by Dave that fixes a reversed order in
variable listing for output variables in cursor definitions
- Fixed incorrect if call in long=>numeric conversion.
2003-12-17 15:23:45 +00:00
Dave Cramer
845109e606 added polish translation submitted by Piotr Maj 2003-12-17 13:25:14 +00:00
Peter Eisentraut
0fb3ec1a58 Fix constraint_column_usage for foreign keys. 2003-12-16 14:57:20 +00:00
Bruce Momjian
19055b78ef Add mention with might need to use cp -R someday for portability. 2003-12-15 22:56:44 +00:00
Neil Conway
fef0c8345a I posted some bufmgr cleanup a few weeks ago, but it conflicted with
some concurrent changes Jan was making to the bufmgr. Here's an
updated version of the patch -- it should apply cleanly to CVS
HEAD and passes the regression tests.

This patch makes the following changes:

     - remove the UnlockAndReleaseBuffer() and UnlockAndWriteBuffer()
       macros, and replace uses of them with calls to the appropriate
       functions.

     - remove a bunch of #ifdef BMTRACE code: it is ugly & broken
       (i.e. it doesn't compile)

     - make BufferReplace() return a bool, not an int

     - cleanup some logic in bufmgr.c; should be functionality
       equivalent to the previous code, just cleaner now

     - remove the BM_PRIVATE flag as it is unused

     - improve a few comments, etc.
2003-12-14 00:34:47 +00:00
Peter Eisentraut
2afacfc403 This patch properly sets the prototype for the on_shmem_exit and
on_proc_exit functions, and adjust all other related code to use
the proper types too.

by Kurt Roeckx
2003-12-12 18:45:10 +00:00
Dave Cramer
7ac2f11c14 add missing SQLState by Patrick Higgins 2003-12-12 18:36:20 +00:00
Dave Cramer
605c1e6df0 cancel row updates sets values to null by Kris Jurka 2003-12-12 18:34:14 +00:00
Dave Cramer
06ec9044b5 patch to indicate why test cases failed from Oliver Jowett 2003-12-12 18:30:27 +00:00
Dave Cramer
8727029969 patch to fix returning he information schema as a system object by Kris Jurka 2003-12-12 18:27:51 +00:00
Dave Cramer
777acbb345 fix casting pooled connections to PGStatement problem patch by JariP 2003-12-12 18:05:34 +00:00
Dave Cramer
ef6a80431f patch to build under jdk1.1 from Richard Scranton 2003-12-12 17:58:34 +00:00
Dave Cramer
4bb71ef519 binary stream patch by Kris Jurka fixes empty stream failure 2003-12-12 00:26:20 +00:00
Dave Cramer
f9d3ed65c4 metadata encoding patch from Kris Jurka 2003-12-12 00:21:36 +00:00
Peter Eisentraut
3a613816a0 New translation 2003-12-11 22:03:05 +00:00
Tom Lane
f288877f10 Fix thinko in comment. 2003-12-11 21:21:55 +00:00
Dave Cramer
742ca2e057 build number set to 300 to avoid conflict with 7.4 builds
threadsafe patch from Karl von Randow applied
2003-12-11 18:10:40 +00:00
Dave Cramer
fc1dc0cd33 patch to deal with unique foreign keys in 7.4 from Kris Jurka 2003-12-11 15:50:20 +00:00
Dave Cramer
6ae740dbd8 tch to make sure PSQLState is Serializable and a test case to prove it 2003-12-11 15:13:34 +00:00
Dave Cramer
e77708d9be patch to make sure PSQLState is Serializable and a test case to prove it 2003-12-11 15:11:43 +00:00
Dave Cramer
67173060e6 incremented build to 211 2003-12-10 18:30:44 +00:00
Tom Lane
2d83e7c73c query_tree_mutator should copy RangeTblEntry nodes even when it's not
planning to modify them itself.  Otherwise we end up with shared RTE
substructure, which breaks inheritance_planner because the rte->inh
flag needs to be independent in each copied subquery.  Per bug report
from Chris Piker.
2003-12-09 01:56:20 +00:00
Tom Lane
b281ea8cf1 Whole-row references were broken for subqueries and functions, because
attr_needed/attr_widths optimization failed to allow for Vars with attno
zero in this case.  Per report from Tatsuo Ishii.
2003-12-08 18:19:58 +00:00
Tom Lane
918b158743 Work around naming conflict between zlib and OpenSSL by tweaking inclusion
order.  Remove some unnecessary #includes (that duplicate c.h).
2003-12-08 16:39:05 +00:00
Tom Lane
80af69ceaa Remove test on c.relkind from check_constraints view; unnecessary and
prevents view from showing constraints on domains.  This addresses the
other half of Claus Colloseus' bug report.
2003-12-07 19:43:02 +00:00
Peter Eisentraut
d9d72bcb91 Fix typmod interpretation for bit types. (It was erroneously assumed that
for bit(x), the typmod stores x+4, like for the character types.)
2003-12-07 10:21:58 +00:00
Tom Lane
649c1a11e6 One more pass at reducing the cost of pg_dump's new implementation:
reduce the number of times TopoSort() has to be executed by trying to
extract multiple dependency loops from each pass, instead of only one.
This saves about another factor of ten on the regression database.
This could be considered as another exercise in grokking Fred Brooks'
maxim: Representation *is* the essence of programming.
2003-12-07 05:44:50 +00:00
Joe Conway
53e7c1363a Repair indexed bytea like operations, and related selectivity
functionality. Per bug report by Alvar Freude:
http://archives.postgresql.org/pgsql-bugs/2003-12/msg00022.php
2003-12-07 04:14:10 +00:00
Tom Lane
7bb11a93e1 Speed up findObjectByCatalogId() to get rid of the other salient
bottleneck in the new pg_dump code.
2003-12-07 03:14:01 +00:00
Tom Lane
79273cc7d2 Replace not-very-bright implementation of topological sort with a better
one (use a priority heap to keep track of items ready to output, instead
of searching the input array each time).  This brings the runtime of
pg_dump back to about what it was in 7.4.
2003-12-06 22:55:11 +00:00
Tom Lane
005a1217fb Massive overhaul of pg_dump: make use of dependency information from
pg_depend to determine a safe dump order.  Defaults and check constraints
can be emitted either as part of a table or domain definition, or
separately if that's needed to break a dependency loop.  Lots of old
half-baked code for controlling dump order removed.
2003-12-06 03:00:16 +00:00
Tom Lane
a5ffa8fea4 Guard against bug in Solaris' bsearch(), per Michael Wildpaner. 2003-12-05 15:50:31 +00:00
Joe Conway
461b71f208 catversion change needed by previous read-onlu GUC variables commit. 2003-12-03 18:53:52 +00:00
Joe Conway
66989aa2d6 Added new group of read-only GUC variables to allow simple access
to certain compile-time options (FUNC_MAX_ARGS, INDEX_MAX_KEYS,
NAMEDATALEN, BLCKSZ, HAVE_INT64_TIMESTAMP). Also added "category",
"short_desc", and "extra_desc" to the pg_settings view. Per recent
discussion here:
http://archives.postgresql.org/pgsql-patches/2003-11/msg00363.php
2003-12-03 18:52:00 +00:00
Tom Lane
7f8f7665fc Planner failed to be smart about binary-compatible expressions in pathkeys
and hash bucket-size estimation.  Issue has been there awhile but is more
critical in 7.4 because it affects varchar columns.  Per report from
Greg Stark.
2003-12-03 17:45:10 +00:00
Michael Meskes
3819afa759 Added patch by Dave Cramer for array handling in ecpglib. 2003-12-03 08:49:17 +00:00
Joe Conway
e2605c8311 Add a warning to AtEOXact_SPI() to catch cases where the current
transaction has been committed without SPI_finish() being called
first. Per recent discussion here:
http://archives.postgresql.org/pgsql-patches/2003-11/msg00286.php
2003-12-02 19:26:47 +00:00
Peter Eisentraut
5bcdb4ccc1 Fix some small errors. 2003-12-02 10:24:37 +00:00
Tom Lane
145d9fa46c Code and docs review for numeric-factorial patch. 2003-12-02 00:26:59 +00:00
Bruce Momjian
2712ca771d Fix initdb use of mkdir_p().
Andrew Dunstan
2003-12-01 23:15:47 +00:00
Bruce Momjian
5ef01a28e6 The attached patch enables contrib/cube to build cleanly under Cygwin
(again).  Please consider this patch for the 7.4.1 branch (if there will
be one) too.

 Jason Tishler
2003-12-01 23:12:16 +00:00
Bruce Momjian
ffb087ced5 This patch refactors execTuples.c in two ways.
Neil Conway
2003-12-01 23:09:02 +00:00
Bruce Momjian
8c4af96fb0 This makes help like this:
\lo_export LOBOID FILE
   \lo_import FILE [COMMENT]
   \lo_list
   \lo_unlink LOBOID    large object operations

Instead of not saying anything about what arguments are required.

Christopher Kings-Lynne
2003-12-01 22:34:48 +00:00
Bruce Momjian
c217b36e17 Win32 patch for Makefile.shlib
Claudio Natoli
2003-12-01 22:23:06 +00:00
Bruce Momjian
8bb60b6423 attached is a patch that adds display of the groups a user belongs to to
\du and a \dg command to psql. It's against 7.4beta5.

Markus Bertheau <twanger@bluetwanger.de>
2003-12-01 22:21:54 +00:00
Tom Lane
5e2b99db95 Avoid assuming that type key_t is 32 bits, since it reportedly isn't
on 64-bit Solaris.  Use a non-system-dependent datatype for UsedShmemSegID,
namely unsigned long (which we were already assuming could hold a shmem
key anyway, cf RecordSharedMemoryInLockFile).
2003-12-01 22:15:38 +00:00
Bruce Momjian
35ddc2edee This patch reduces some unsightly #ifdefs, and fixes two typos in
comments in the psql code. This doesn't make any functional change, so
feel free to save it for 7.5

Neil Conway
2003-12-01 22:14:40 +00:00
Bruce Momjian
abd5d75c4c This patch finishes off the work that I did with making view
definitions use pretty printing.

It does:

* Pretty index predicates
* Pretty rule definitions
* Uppercases PRIMARY KEY and UNIQUE to be consistent with CHECK and
FOREIGN KEY
* View rules are improved to match table rules:


Christopher Kings-Lynne
2003-12-01 22:11:06 +00:00
Bruce Momjian
7ce9b7c0d8 This patch adds a new GUC var, "default_with_oids", which follows the
proposal for eventually deprecating OIDs on user tables that I posted
earlier to pgsql-hackers. pg_dump now always specifies WITH OIDS or
WITHOUT OIDS when dumping a table. The documentation has been updated.

Neil Conway
2003-12-01 22:08:02 +00:00
Bruce Momjian
e7ca867485 Try to reduce confusion about what is a lock method identifier, a lock
method control structure, or a table of control structures.

. Use type LOCKMASK where an int is not a counter.

. Get rid of INVALID_TABLEID, use INVALID_LOCKMETHOD instead.

. Use INVALID_LOCKMETHOD instead of (LOCKMETHOD) NULL, because
  LOCKMETHOD is not a pointer.

. Define and use macro LockMethodIsValid.

. Rename LOCKMETHOD to LOCKMETHODID.

. Remove global variable LongTermTableId in lmgr.c, because it is
  never used.

. Make LockTableId static in lmgr.c, because it is used nowhere else.
  Why not remove it and use DEFAULT_LOCKMETHOD?

. Rename the lock method control structure from LOCKMETHODTABLE to
  LockMethodData.  Introduce a pointer type named LockMethod.

. Remove elog(FATAL) after InitLockTable() call in
  CreateSharedMemoryAndSemaphores(), because if something goes wrong,
  there is elog(FATAL) in LockMethodTableInit(), and if this doesn't
  help, an elog(ERROR) in InitLockTable() is promoted to FATAL.

. Make InitLockTable() void, because its only caller does not use its
  return value any more.

. Rename variables in lock.c to avoid statements like
        LockMethodTable[NumLockMethods] = lockMethodTable;
        lockMethodTable = LockMethodTable[lockmethod];

. Change LOCKMETHODID type to uint16 to fit into struct LOCKTAG.

. Remove static variables BITS_OFF and BITS_ON from lock.c, because
  I agree to this doubt:
 * XXX is a fetch from a static array really faster than a shift?

. Define and use macros LOCKBIT_ON/OFF.


Manfred Koizar
2003-12-01 21:59:25 +00:00
Bruce Momjian
04a4821ade Attached is a patch implementing factorial(), returning numeric. Points
to note:

1) arttype is numeric. I thought this was the best way of allowing
arbitarily large factorials, even though factorial(2^63) is a large
number. Happy to change to integers if this is overkill.
2) since we're accepting numeric arguments, the patch tests for floats.
If a numeric is passed with non-zero decimal portion, an error is raised
since (from memory) they are undefined.

Gavin Sherry
2003-12-01 21:52:38 +00:00
Tom Lane
c5336a892f netmask() and hostmask() functions should return maximum-length masklen,
per gripe from Joe Sunday.
2003-12-01 18:50:19 +00:00
Tom Lane
0902ece5b9 Force zero_damaged_pages to be effectively ON during recovery from WAL,
since there is no need to worry about damaged pages when we are going to
overwrite them anyway from the WAL.  Per recent discussion.
2003-12-01 16:53:19 +00:00
Bruce Momjian
64e5a85625 Seems there are three GUC variables that are defined as "Shows ..."
while you can actually set them with SET.

This applied patch changes the wording from "Show" to "Set".
2003-12-01 03:55:21 +00:00
Joe Conway
b8f40ced2f Make PQescapeBytea and byteaout consistent with each other, and
octal escape all octets outside the range 0x20 to 0x7e. This fixes
the problem pointed out by Sergey Yatskevich here:
http://archives.postgresql.org/pgsql-bugs/2003-11/msg00140.php
2003-11-30 20:55:09 +00:00
Bruce Momjian
32abf0e781 Bump all version numbers and version stamps mentioned in RELEASE_CHANGES. 2003-11-30 06:09:54 +00:00
Bruce Momjian
38887379a2 Reorder win32/bcc makefile mentions of thread.c for sanity. 2003-11-30 06:01:15 +00:00
Bruce Momjian
edfccd3d32 Add thread.c to Borland CC build. 2003-11-30 05:54:33 +00:00
PostgreSQL Daemon
55b113257c make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
Tom Lane
4c274b4f8a Put out a more useful version indication in the welcome banner for a
standalone backend --- the CVS revision number of postgres.c is not real
useful to anyone.
2003-11-29 21:40:43 +00:00
PostgreSQL Daemon
969685ad44 $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
Peter Eisentraut
c9190ef074 Conditionalize variable that is only used conditionally, to avoid warning. 2003-11-27 18:12:50 +00:00
Tom Lane
9ea738827c Second try at fixing no-room-to-move-down PANIC in compact_fsm_storage.
Ward's report that it can still happen in RC2 forces me to realize that
this is not a can't-happen condition after all, and that the compaction
code had better cope rather than panicking.
2003-11-26 20:50:11 +00:00
Peter Eisentraut
9a8b7c0f69 Cast field-length variables used in printf to int, because sometimes
they might be of a wider type.
2003-11-26 15:55:01 +00:00
Tom Lane
e7a45c787e Repair subselect.c's occasional assignment of the wrong vartypmod to
Vars created to fill subplan args lists.  This is an ancient error, going
back at least to 7.0, but is more easily triggered in 7.4 than before
because we no longer compare varlevelsup when deciding whether a Param
slot can be re-used.  Fixes bug reported by Klint Gore.
2003-11-25 23:59:12 +00:00
Tom Lane
a64846f3ad Get rid of hashkeys field of Hash plan node, since it's redundant with
the hashclauses field of the parent HashJoin.  This avoids problems with
duplicated links to SubPlans in hash clauses, as per report from
Andrew Holm-Hansen.
2003-11-25 21:00:54 +00:00
Peter Eisentraut
dc69cc1097 New translation 2003-11-25 19:19:21 +00:00
Peter Eisentraut
c95f54c5e0 More adjustment of error messages 2003-11-25 19:18:26 +00:00
Peter Eisentraut
083e10e167 Install all the headers files that the ones that are already installed
depend on.
2003-11-25 19:09:02 +00:00
Tom Lane
e91e640b80 Avoid using string literal with embedded newline. 2003-11-24 17:25:14 +00:00
Tom Lane
1c5f223e25 Overdue code review for ALTER SEQUENCE patch. Don't generate illegal Node
tree for CYCLE option; don't assume zeros are invalid values for sequence
fields other than increment_by; don't reset cache_value when not told to;
simplify code for testing whether to apply defaults.
2003-11-24 16:54:07 +00:00
Tom Lane
c52204b224 Repair missed renamings of show_statement_stats and show_executor_stats. 2003-11-24 14:49:51 +00:00
Peter Eisentraut
8878cc4cd7 Rename USE_THREADS to ENABLE_THREAD_SAFETY to avoid name clash with Perl.
Fixes compilation failure with --enable-thread-safety --with-perl and Perl
5.6.1.
2003-11-24 13:16:22 +00:00
Peter Eisentraut
040e1cef91 Make the messages and the options parsing a bit more standard. 2003-11-23 22:17:59 +00:00
Peter Eisentraut
4f581e0072 Add maintainer-clean target. 2003-11-23 21:42:13 +00:00
Peter Eisentraut
e2d9066527 Add NLS support. 2003-11-23 21:41:30 +00:00
Tom Lane
42ce74bf17 COMMENT ON casts, conversions, languages, operator classes, and
large objects.  Dump all these in pg_dump; also add code to pg_dump
user-defined conversions.  Make psql's large object code rely on
the backend for inserting/deleting LOB comments, instead of trying to
hack pg_description directly.  Documentation and regression tests added.

Christopher Kings-Lynne, code reviewed by Tom
2003-11-21 22:32:49 +00:00
Tom Lane
0a97cb37fc Remove unused variable. 2003-11-21 17:41:31 +00:00
Jan Wieck
cfeca62148 Background writer process
This first part of the background writer does no syncing at all.
It's only purpose is to keep the LRU heads clean so that regular
backends seldom to never have to call write().

Jan
2003-11-19 15:55:08 +00:00
Michael Meskes
5032f83082 Fixed typo in create schema parsing. 2003-11-19 13:18:13 +00:00
Bruce Momjian
25487b12d0 Add FreeBSD mention for initdb.c. 2003-11-17 20:35:28 +00:00
Tom Lane
1a908a00b0 Fix datetime input parsing to accept YYYY-MONTHNAME-DD and related syntaxes,
which had been unintentionally broken by recent changes to tighten up the
DateStyle rules for all-numeric date input.  Add documentation and
regression tests for this, too.
2003-11-16 20:29:16 +00:00
Jan Wieck
1f45555892 Changed parameter name for shared cache status report interval to
debug_shared_buffers = <seconds>

as per previous discussion.


Jan
2003-11-16 16:41:01 +00:00
Tom Lane
5b6b587a95 Make creation of statistics collection socket more robust, by allowing it
to try additional addresses returned from getaddrinfo() if the first one
fails at the bind() or connect() steps.  Per yesterday's discussion.
2003-11-15 17:24:07 +00:00
Peter Eisentraut
7397819f78 Translation updates 2003-11-14 23:59:12 +00:00
Tom Lane
5945283599 Try to improve error handling for failures of backend subprocess. 2003-11-14 18:32:34 +00:00
Tom Lane
e035a297a2 Add CHECK_FOR_INTERRUPTS() to bootstrap command loop, so that control-C
can terminate the bootstrap run.
2003-11-14 18:19:45 +00:00
Tom Lane
81e51ddc14 Add fflush() before popen() calls; avoids any possible problem with
double or out-of-sequence output with child process.
2003-11-14 17:30:41 +00:00
Tom Lane
0104fc11b9 Add missing logic to handle fixing permissions on an already-existing
data directory.  Also fix handling of error conditions associated with
data directory checking step (can't use a boolean to distinguish four
possible result states...)
2003-11-14 17:19:35 +00:00
Jan Wieck
7c360d65a8 Added documentation for the new interface between the buffer manager
and the cache replacement strategy as well as a description of the
ARC algorithm and the special tailoring of that done for PostgreSQL.

Jan
2003-11-14 04:32:11 +00:00
Peter Eisentraut
0a203594a9 Translation updates 2003-11-14 02:08:17 +00:00
Tom Lane
18f58a048e Preliminary code review for C version of initdb. Re-centralize handling
of option switches for backend, fix handling of COPY from data files so
that we won't have the newline-after-\. issue back again, add back some
comments and printouts lost from the shell script, etc.  Still needs work
for error handling; in particular the shell version worked much more
nicely for the case of a postgres executable that fails on invocation.
2003-11-13 23:46:31 +00:00
Tom Lane
01e62da191 Dunno why this got committed with DOS newlines, but fix that, and
add a header comment/copyright notice.
2003-11-13 22:13:39 +00:00
Tom Lane
c7bfc7df0a Silly to copy sprompt.c from src/port when we're linking libpgport anyway. 2003-11-13 20:30:37 +00:00
Bruce Momjian
90823299ad pgindent new initdb.c from Tom. 2003-11-13 20:12:47 +00:00
Peter Eisentraut
b9f5c93b75 Regenerate text files. 2003-11-13 18:03:11 +00:00
Bruce Momjian
ad89c2ae25 Add owner description to initdb C code.
Andrew Dunstan
2003-11-13 15:01:40 +00:00
Jan Wieck
6b86d62b00 2nd try for the ARC strategy.
I added a couple more Assertions while tracking down the exact
cause of the former bug.

All 93 regression tests pass now.

Jan
2003-11-13 14:57:15 +00:00
Jan Wieck
923e994d79 ARC strategy backed out ... sorry
Jan
2003-11-13 05:34:58 +00:00
Bruce Momjian
256d2f09b5 Update for 7.4 release. 2003-11-13 04:23:03 +00:00
Tom Lane
9a9890d842 Add fflush() calls so that I'm-about-to-do-this messages actually
come out before the action is done.
2003-11-13 01:36:00 +00:00
Tom Lane
88dd65ae9f Fix lack of optreset. 2003-11-13 01:09:24 +00:00
Jan Wieck
48adc0b34b Replacement of the buffer replacement strategy with an ARC
algorithm adopted for PostgreSQL.

Jan
2003-11-13 00:40:02 +00:00
Tom Lane
27e8ef0535 AcceptResult() was missing a case for PGRES_EMPTY_QUERY --- probably
my fault.  Adding it fixes bogus message display when reading a block
comment at the end of a script file.
2003-11-12 22:53:16 +00:00
Tom Lane
fa5c8a055a Cross-data-type comparisons are now indexable by btrees, pursuant to my
pghackers proposal of 8-Nov.  All the existing cross-type comparison
operators (int2/int4/int8 and float4/float8) have appropriate support.
The original proposal of storing the right-hand-side datatype as part of
the primary key for pg_amop and pg_amproc got modified a bit in the event;
it is easier to store zero as the 'default' case and only store a nonzero
when the operator is actually cross-type.  Along the way, remove the
long-since-defunct bigbox_ops operator class.
2003-11-12 21:15:59 +00:00
Bruce Momjian
fec809c549 Cleanup for recent .exe Win32 fix. 2003-11-12 00:04:10 +00:00
Bruce Momjian
018cf0f76e Update /port C header descriptions. 2003-11-11 23:52:45 +00:00
Bruce Momjian
0a2c82b5f7 Add .exe to Win32 stat calls. Don't symlink postmaster on Win32. 2003-11-11 03:53:33 +00:00
Bruce Momjian
580fb7fb41 Add system_views.sql to CVS. 2003-11-11 02:00:00 +00:00
Bruce Momjian
1060c4c4c4 Move system_views.sql into backend/catalog, per Tom. 2003-11-11 01:58:23 +00:00
Bruce Momjian
f612b16dc2 * ioctlsocket_ret
- is not initialized to 1 (at least in the WIN_32 code I started with!)

Claudio Natoli
2003-11-11 01:09:42 +00:00
Bruce Momjian
0ca6939c10 Updated version of initdb with "rmdir/del" call on Win32.
Other cleanups as discussed.
2003-11-10 22:52:10 +00:00
Bruce Momjian
279598bb71 Add C version of initdb, from Andrew Dunstan.
This is his original version with a binary rmdir() we might need in the
future.

I will commit an update version with cleanups shortly.
2003-11-10 22:51:16 +00:00
Michael Meskes
135ecf8d96 Re-added forgotten cache. 2003-11-10 20:28:30 +00:00
Bruce Momjian
7da19cac89 Remove rcsid CVS header variable --- not used. 2003-11-10 19:40:46 +00:00
Tom Lane
c1d62bfd00 Add operator strategy and comparison-value datatype fields to ScanKey.
Remove the 'strategy map' code, which was a large amount of mechanism
that no longer had any use except reverse-mapping from procedure OID to
strategy number.  Passing the strategy number to the index AM in the
first place is simpler and faster.
This is a preliminary step in planned support for cross-datatype index
operations.  I'm committing it now since the ScanKeyEntryInitialize()
API change touches quite a lot of files, and I want to commit those
changes before the tree drifts under me.
2003-11-09 21:30:38 +00:00
Bruce Momjian
e065443a39 Allow tab completion for ALTER TABLE dbname <tab><tab> to show new
RENAME TO option.
2003-11-08 20:54:24 +00:00
Tom Lane
97edeec6d2 Correct misspellings of REFERENCES. 2003-11-08 20:43:52 +00:00
Tom Lane
45fe4042df Restore compatibility with Tcl 8.0.* --- from ljb. 2003-11-08 20:34:36 +00:00
Tom Lane
153e83027d Don't need hack copy of system() anymore in OS X 10.3. 2003-11-08 20:14:51 +00:00
Michael Meskes
87758314ca Made sure an internal array is not treated as a user defined one. 2003-11-08 19:46:27 +00:00
Tom Lane
449593a9fb Fix process-status handling for OS X 10.3. 2003-11-08 19:07:24 +00:00
Tom Lane
f8a769b47a Cause stats processes to detach from shared memory when started, so that
they do not prevent the postmaster from deleting the shmem segment during
a post-backend-crash restart cycle.  Per recent discussion.
2003-11-07 21:55:50 +00:00
Tom Lane
7e4a629492 zero_damaged_pages must absolutely NOT be marked GUC_DISALLOW_IN_FILE,
else it cannot be used to handle failures detected during WAL replay.
Fortunately this flag isn't actually enforced yet, but get it right.
2003-11-07 21:27:38 +00:00
Peter Eisentraut
96889392e9 Implement isolation levels read uncommitted and repeatable read as acting
like the next higher one.
2003-11-06 22:08:15 +00:00
Tom Lane
e4044ba2d7 Fix for this problem:
regression=# select 1 from tenk1 ta cross join tenk1 tb for update;
ERROR:  no relation entry for relid 3

7.3 said "SELECT FOR UPDATE cannot be applied to a join", which was better
but still wrong, considering that 7.2 took the query just fine.  Fix by
making transformForUpdate() ignore JOIN and other special RTE types,
rather than trying to mark them FOR UPDATE.  The actual error message now
only appears if you explicitly name the join in FOR UPDATE.
2003-11-05 22:00:46 +00:00
Dave Cramer
622736aa4a Added missing methods 2003-11-05 11:57:53 +00:00
Peter Eisentraut
07eb9fb20b Add -O to really trigger compiler bug. 2003-11-05 07:42:31 +00:00
Peter Eisentraut
23c292688f Add detection of compiler bug. 2003-11-05 00:09:08 +00:00
Peter Eisentraut
d28bacd897 Add note to update config.guess and config.sub at the start of beta. 2003-11-04 10:33:28 +00:00
Peter Eisentraut
c119c554ed Improve message wording for spinlocks-missing compilation error. 2003-11-04 09:53:36 +00:00
Dave Cramer
b720fa96fb patch for rs.previous and test case as well as patch for allowing server and port to be specified in test cases 2003-11-03 15:28:26 +00:00
Dave Cramer
efea5da4fa accept url and fk action fix from Kris Jurka 2003-11-03 15:22:07 +00:00
Michael Meskes
90e53f0c16 Fixed potentially uninitialized memory bug in compatlib. 2003-11-03 14:44:28 +00:00
Tom Lane
b402503fb6 Adjust data types in some of the UNION tests to avoid potentially
platform-dependent results, as per example from Larry Rosenman.
2003-11-02 22:35:26 +00:00
Tom Lane
eeaf5f04ae Provide a way to run the parallel regression tests with a user-specified
limit on the number of simultaneous connections.  Andrew Dunstan, with
review by Tom Lane.
2003-11-02 21:56:15 +00:00
Peter Eisentraut
1af403e42d Complete options help and put it in less random order. 2003-11-02 12:55:24 +00:00
Peter Eisentraut
0543af2f12 Fix CFLAGS logic. 2003-11-01 20:45:30 +00:00
Peter Eisentraut
f7e5e9d493 More whitespace fixes. Do people write the expected files by hand? 2003-11-01 03:18:20 +00:00
Peter Eisentraut
32ab99ba10 Fix hidden whitespace differences between expected and result files. 2003-11-01 03:07:07 +00:00
Tom Lane
4240d2bffd Update future-tense comments in README to present tense. Noted by
Neil Conway.
2003-10-31 22:48:08 +00:00
Peter Eisentraut
bc010cd9ef Translation update 2003-10-31 22:14:15 +00:00
Tom Lane
8545482947 When a superuser does GRANT or REVOKE on an object he doesn't own,
process the command as though it were issued by the object owner.
This prevents creating weird scenarios in which the same privileges
may appear to flow from different sources, and ensures that a superuser
can in fact revoke all privileges if he wants to.  In particular this
means that the regression tests work when run by a superuser other than
the original bootstrap userid.  Per report from Larry Rosenman.
2003-10-31 20:00:49 +00:00
Tom Lane
bcf4d35699 Minor cleanup of PQunescapeBytea(). Avoid unportable assumptions about
behavior of malloc and realloc when request size is 0.  Fix escape
sequence recognizer so that only valid 3-digit octal sequences are
treated as escape sequences ... isdigit() is not a correct test.
2003-10-31 17:43:10 +00:00
Jan Wieck
774f57038a Moved the recently added test for foreign key disabled by rewrite
rule into the rule.sql since it affects the latter if run in paralell.

Jan
2003-10-31 14:27:57 +00:00
Michael Meskes
e6152300f1 If EOF is found inside a string/comment/etc. stop parsing. 2003-10-31 14:10:41 +00:00
Jan Wieck
cc4baf4da3 Fix for possible referential integrity violation when a qualified ON INSERT
rule split the query into one INSERT and one UPDATE where the UPDATE
then hit's the just created row without modifying the key fields again.
In this special case, the new key slipped in totally unchecked.

Jan
2003-10-31 03:58:21 +00:00
Tom Lane
e181001764 Small fix to Christopher's recent improvements --- underscore is not
a special character in regexes, but it is for LIKE, so NOT LIKE 'pg_%'
is incorrect.  Need NOT LIKE 'pg\_%'.
2003-10-31 03:58:15 +00:00
Tom Lane
ede9b68e03 Use Tcl ByteArray objects to avoid unwanted character set translation
in libpgtcl's lo_read/lo_write commands.  Also, deal correctly with
failure return from lo_read().  ljb and Tom Lane.
2003-10-31 00:18:55 +00:00
Tom Lane
e84487f67a Further work on tab completion code: arrange for system catalogs to be
offered for completion only when the input-so-far is at least 'pg_'.
This seems to be the best compromise behavior emerging from yesterday's
discussion.  While at it, refactor code to eliminate repetitive use of
nearly identical queries, which was exceedingly tedious to maintain.
Also const-ify code more thoroughly in hopes of moving constant data into
text segment, and remove unnecessary length limit on queries.
2003-10-30 21:37:38 +00:00
Tom Lane
3108b5db28 Allow the query for a plpgsql cursor to begin with '(' as well as 'SELECT'.
Per example from Kumar, 30-Oct-03.
2003-10-30 17:18:55 +00:00
Dave Cramer
f4b4d7ce60 use the result set to set the fetchsize 2003-10-30 12:18:56 +00:00
Michael Meskes
f590a5ea72 Applied patch by Dave Cramer to fix several bugs in compatlib. 2003-10-30 10:19:30 +00:00
Tom Lane
f016c92ea4 Fix some corner cases in ACL manipulation: don't foul up on an empty
ACL array, and force languages to be treated as owned by the bootstrap
user ID.  (pg_language should have a lanowner column, but until it does
this will have to do as a workaround.)
2003-10-29 22:20:54 +00:00
Tom Lane
a35deb5400 Give a useful error message if a RangeVar is encountered in an expression.
Per example from Ian Barwick, 28-Oct-03.
2003-10-29 18:10:15 +00:00
Tom Lane
abec4cbf1f compact_fsm_storage() does need to handle the case where a relation's
FSM data has to be both moved down and compressed.  Per report from
Dror Matalon.
2003-10-29 17:36:57 +00:00
Dave Cramer
7ecb6ede28 Patches from Oliver Jowett to fix CursorFetchTest, 7.4 now does not automatically delete cursors 2003-10-29 02:39:10 +00:00
Tom Lane
15c6764bda Don't include "schema." in the set of possible tab completions once
"schema." has been typed.  This allows readline to complete subsequent
characters immediately if all relations in the target schema start with
the same prefix.  This actually worked before, but I unintentionally
broke it a few days ago.
Also, make completion schema-aware for GRANT, REVOKE, VACUUM.
2003-10-28 23:35:52 +00:00
Tom Lane
979b537522 Include -lkrb5 when needed for shlibs depending on libpq. Per report
from Johan Henselmans.
2003-10-28 21:55:58 +00:00
Tom Lane
e554e2b090 Don't choke when the handler for a procedural language is located in
the pg_catalog schema.  Per bug report some months back from Jochem van Dieten.
2003-10-28 21:05:29 +00:00
Bruce Momjian
700f7f4227 Change Solaris tests to test for SHM_SHARE_MMU, per Tom. 2003-10-27 18:30:07 +00:00
Tom Lane
f88c15991b Un-break Darwin port. 2003-10-27 07:42:34 +00:00
Michael Meskes
0262337ad3 Fixed bug with indicators when storage for the string is dynamically allocated. 2003-10-26 09:50:47 +00:00
Bruce Momjian
d47e9bd023 'sun' => '__sun__' 2003-10-26 04:54:44 +00:00
Bruce Momjian
15f98a3e51 Test for 'sun' rather than 'solaris' for intimate shared memory. 2003-10-26 04:53:24 +00:00
Bruce Momjian
3c9a32d4a2 Fix two bugs in funcs.source that made the tutorial script fail.
Make a LOT of fixes to syscat.source to:

* Set search_path properly (and reset it)
* Add schema name to all results
* Add schema name to ORDER BY first
* Make checks for user-defined objects match reality
* format_type all type names
* Respect attisdropped
* Change !~ to 'not like' since it's more standard


Christopher Kings-Lynne
2003-10-26 04:51:51 +00:00
Bruce Momjian
b80b384b78 Allow win32 client compiles with MSC.
Hiroshi Saito
2003-10-26 04:29:15 +00:00
Bruce Momjian
8b3414d247 Uppercase a few keywords in queries. 2003-10-26 02:53:45 +00:00
Bruce Momjian
ce26858fac Update for m68k from Peter. 2003-10-26 01:41:10 +00:00
Bruce Momjian
72ecc222b7 Fix #elif typo. 2003-10-26 00:27:59 +00:00
Bruce Momjian
1fdbc8cc20 Update linux/mips port.
Add m68k to linux port.
2003-10-26 00:26:13 +00:00
Peter Eisentraut
e9cd1c771f Get Tru64/cc to compile. Need to add -ieee so that it doesn't choke on
0.0/0.0.  That option appears to affect the regression test result as well.
The compiler documentation doesn't recommend -O4 for universal use, so
let's stick to the conservative -O (== -O2) by default.
2003-10-25 20:18:53 +00:00
Peter Eisentraut
8e8816c777 Translation update 2003-10-25 18:18:19 +00:00
Peter Eisentraut
002e7b3789 Translation updates 2003-10-25 18:03:21 +00:00
Peter Eisentraut
378f59904a Fix CFLAGS selection to actually work. Add test to detect whether gcc's
option -fno-strict-aliasing is available.
2003-10-25 15:32:11 +00:00
Bruce Momjian
6db0a6b035 Remove socket credentials defines not referenced. 2003-10-25 03:48:47 +00:00
Bruce Momjian
e69b2f3b0e Remove weird test in ccsym 2003-10-24 21:28:52 +00:00
Bruce Momjian
cded27cacd Don't reference pthread.h unless we have threads enabled, per Peter. 2003-10-24 20:48:10 +00:00
Peter Eisentraut
2034a87a53 Use AROPT, not hard-coded flags. 2003-10-24 20:31:43 +00:00
Peter Eisentraut
b3be5e65e8 Translation updates 2003-10-24 12:07:56 +00:00
Tom Lane
0634c01e3a Add missing semicolon, per Johann Uhrmann.
Avoids warnings from newer bisons.
2003-10-22 16:43:42 +00:00
Tom Lane
6fbb14a174 Update the complex-datatype example to V1 function calling conventions,
and add binary send/receive functions.  Fix some other grottiness such
as failure to mark the C functions STRICT.
2003-10-21 22:51:14 +00:00
Tom Lane
2b23bf376b Fix built-in SQL-language functions to ensure that referenced names
are properly schema-qualified.

Christopher Kings-Lynne
2003-10-21 16:23:16 +00:00
Tom Lane
7eb67fc98b Cope with platforms that offer LONGLONG_MIN in place of the C99-spec
LLONG_MIN.  One example is AIX, per report from Andreas.
2003-10-21 15:34:34 +00:00
Tom Lane
c9f8c2fd04 Revert to 7.3-and-before practice of only including <fcntl.h> in c.h
on Windows; per complaint from Andreas that it breaks AIX build.
2003-10-21 15:32:58 +00:00
Tom Lane
10add9d8ca Fix findLastBuiltinOid_V70() to deliver correct result when running
against a 7.0 server.

Christopher Kings-Lynne
2003-10-21 04:46:28 +00:00
Peter Eisentraut
fd90da7f94 Update catalog version after information schema changes. 2003-10-20 21:39:37 +00:00
Tom Lane
3b64171edb Complain if pg_restore is given both -d and -f options; this suggests
the user is confused about whether -f is input or output file.
2003-10-20 21:05:12 +00:00
Tom Lane
1df7a455dd It is possible for ResolveNew to be used to insert a sublink into a
subquery that didn't previously have one.  We have traditionally made
the caller of ResolveNew responsible for updating the hasSubLinks flag
of the outermost query, but this fails to account for hasSubLinks in
subqueries.  Fix ResolveNew to handle this.  We might later want to
change the calling convention of ResolveNew so that it can fix the
outer query too, simplifying callers.  But I went with the localized
fix for now.  Per bug report from J Smith, 20-Oct-03.
2003-10-20 20:01:59 +00:00
Tom Lane
17841ddbbf Improve error reporting in parseTypeString(), motivated by confusing
behavior reported by Martin Marques.
2003-10-20 17:25:42 +00:00
Michael Meskes
3b72087bf6 Install dummy sqlda.h file since this is needed for compatibility. 2003-10-20 12:54:29 +00:00
Tom Lane
41e6e36719 When building shared libraries on HPUX with gcc, forcibly include -lgcc
to ensure any needed compiler support routines are included.  This is
arguably appropriate on *every* gcc platform, but for the moment I'll take
the conservative approach of only doing it on a platform where it's
provably useful.  Per complaint from Heiko Lehmann, 13-Feb-03, as well
as personal experience --- contrib/pgstattuple has never worked for me,
but it does now.
2003-10-20 01:34:33 +00:00
Tom Lane
6f169057de Save_r, Save_t should be static not global variables. 2003-10-19 23:43:51 +00:00
Tom Lane
9dfdbef345 Adjust libpq to avoid deadlock when both client and server want to send
data, and both have filled the transmission buffers.  One scenario where
this can happen was illustrated here:
http://archives.postgresql.org/pgsql-hackers/2003-04/msg00979.php
2003-10-19 21:36:41 +00:00
Michael Meskes
d5353acbc3 Check for both Informix modes when parsing include files. 2003-10-19 13:22:33 +00:00
Peter Eisentraut
9d77708d83 Cleanup on --help-config: Now called --describe-config, no further options,
machine readable, without headers, not sorted.  Parameter descriptions
adjusted to fit first sentence + rest convention.
2003-10-18 22:59:09 +00:00
Tom Lane
e341cdb085 Further work on information_schema. _pg_keyissubset() wasn't quite
fully search-path-proof yet; also, element_types view did not work for
parameters and result types of functions, because it didn't generate
the object_name for the function the same way the data_type_privileges
view does.  While at it, centralize dependencies on INDEX_MAX_KEYS/
FUNC_MAX_ARGS into a function returning setof int, so that it will be
easier to fix information_schema for nonstandard values of these
parameters.
2003-10-18 19:06:10 +00:00
Tom Lane
eda80f09ff Repair interaction between IN-join processing and subselect pullup that
I inadvertently broke a few days ago (per report from Sean Thomas).
Add regression test case to try to catch any similar breakage in future.
2003-10-18 16:52:15 +00:00
Tom Lane
c02036b1d8 Simplify loop test to avoid bug in AIX compiler, per Andreas. 2003-10-18 15:38:06 +00:00
Peter Eisentraut
9ea6d0fc80 Information schema fixes:
Use pg_get_constraintdef instead of pg_constraint.consrc
Use UNION ALL instread of UNION
Make use of regclass type for getting OID of system catalogs
Add schema qualifications where necessary
Fix typos
2003-10-18 12:53:35 +00:00
Tom Lane
f2f7107024 Must free the pgParameterStatus chain in freePGconn(). My fault,
well spotted by Neil Conway.
2003-10-18 05:02:06 +00:00
Tom Lane
bbba5080b5 Fix elog tab-insertion code to insert tabs only where wanted. 2003-10-17 16:49:03 +00:00
Peter Eisentraut
1b7ac7f130 Remove automatic '()' in other branch of UNION as well. 2003-10-17 11:52:06 +00:00
Tom Lane
fe1b5034dd Adjust display of actual runtimes in EXPLAIN output to use three fractional
digits, and label it 'ms' not 'msec', for consistency with psql's \timing
display.  Per recent discussions.
2003-10-17 01:14:26 +00:00
Tom Lane
fa2356a1ac Use pg_get_constraintdef() rather than pg_constraint.consrc; this is
a portion of a patch recently submitted by Christopher Kings-Lynne.
Applied by agreement that this is a bug fix.
2003-10-17 00:57:04 +00:00
Peter Eisentraut
44430dbc15 Fix bugs in referential_constraints view. 2003-10-16 23:46:17 +00:00
Peter Eisentraut
4a48c671d2 There should not be an automatic '()' after a function name when
tab-completing.
2003-10-16 23:45:29 +00:00
Tom Lane
52b59a7bec Set attstattarget to -1 for all system catalog columns. All but a few
of the entries used to be zero, which I think I had deliberately done in
the name of saving cycles during ANALYZE, but it was really a rather
foolish decision.  Some of the more complex views in information_schema
were getting really bad plans for lack of statistics on the columns they
were joining over.

I'm not forcing an initdb for this, but I think there will be one soon
anyway to repair some bugs in the information_schema views.
2003-10-16 22:52:22 +00:00
Tom Lane
64c1fc7257 Avoid division by zero in estimate_num_groups() when table has no rows. 2003-10-16 21:37:54 +00:00
Tom Lane
624292aa35 Ensure that all places that are complaining about exhaustion of shared
memory say 'out of shared memory'; some were doing that and some just
said 'out of memory'.  Also add a HINT about increasing max_locks_per_transaction
where relevant, per suggestion from Sean Chittenden.  (The former change
does not break the strings freeze; the latter does, but I think it's
worth doing anyway.)
2003-10-16 20:59:35 +00:00
Tom Lane
2ec74435cd Cause tab completion to do something moderately reasonable with mixed-case
identifiers --- it will now complete these correctly with double quoting.
Fix a few other issues in passing.
2003-10-16 20:03:09 +00:00
Tom Lane
90b2202975 Fix bad interaction between NOTIFY processing and V3 extended query
protocol, per report from Igor Shevchenko.  NOTIFY thought it could
do its thing if transaction blockState is TBLOCK_DEFAULT, but in
reality it had better check the low-level transaction state is
TRANS_DEFAULT as well.  Formerly it was not possible to wait for the
client in a state where the first is true and the second is not ...
but now we can have such a state.  Minor cleanup in StartTransaction()
as well.
2003-10-16 16:50:41 +00:00
Peter Eisentraut
3992f1c50b Translation updates 2003-10-15 10:00:20 +00:00
Peter Eisentraut
e9b2b56c23 New translation 2003-10-15 09:49:07 +00:00
Peter Eisentraut
578774d5f5 Translation update 2003-10-15 09:45:34 +00:00
Peter Eisentraut
dee5b779fa New translation 2003-10-15 09:39:04 +00:00
Tom Lane
77c1791a58 Use PQescapeString to ensure that tab-completion queries are not messed
up by quotes or backslashes in words that are being matched to database
names (per gripe from Ian Barwick, though I didn't use his patch).
Also fix possible memory leakage if _complete_with_query isn't run to
completion (not clear if that can happen or not, but be safe).
2003-10-14 22:47:12 +00:00
Bruce Momjian
2a0f1c08d5 Remove void* in MemSet until we understand the gcc 3.3.1 problem better. 2003-10-14 19:08:00 +00:00
Tom Lane
d18ba3f452 pull_up_subqueries() should copy the subquery before starting to modify
it.  Not sure why I'd thought it would be a good idea to do differently
way back when, but Greg Stark exposed the folly of doing so ...
2003-10-13 23:48:16 +00:00
Bruce Momjian
4a39057e59 Back out makeNode() patch to fix gcc 3.3.1 warning. 2003-10-13 22:47:15 +00:00
Peter Eisentraut
27318d8873 Translation update 2003-10-13 21:38:37 +00:00
Tom Lane
87299583a5 Determine max_connections first, then see how large shared_buffers can
be made, to avoid corner cases where max_connections ends up unreasonably
small because shared_buffers is hogging too much shmem space.  Per pghackers
discussion about a week ago.  Also, fix the copy-newlines problem in a
more robust way, by using COPY FROM filename instead of COPY FROM STDIN;
per a suggestion from Peter.
2003-10-13 21:06:44 +00:00
Tom Lane
e7261c46aa Adjust setRelhassubclassInRelation() to not perform actual heap_update
when the pg_class.relhassubclass value is already correct.  This should
avoid most cases of the 'tuple concurrently updated' problem that
Robert Creager recently complained about.  Also remove a bunch of dead
code in StoreCatalogInheritance() --- it was still computing the complete
list of direct and indirect inheritance ancestors, though that list has
not been needed since we got rid of the pg_ipl catalog.
2003-10-13 20:02:52 +00:00
Bruce Momjian
4a2c34d4a0 Use makeNode() to allocate structures that have to be cast to Node *,
rather than allocating them on the stack.

Fixes complaint from gcc 3.3.1.
2003-10-12 23:19:21 +00:00
Peter Eisentraut
037468eff2 New translation 2003-10-12 19:16:36 +00:00
Michael Meskes
84b35a7f76 Added missing "commit" in test case. 2003-10-12 15:19:46 +00:00
Bruce Momjian
f22ddf70be Add void * cast to MemSet to silence compiler, and add comment that we
already check for alignment.
2003-10-11 19:53:45 +00:00
Bruce Momjian
7fb9893f42 Back out -fstrict-aliasing void* casting. 2003-10-11 18:04:26 +00:00
Peter Eisentraut
47ed43440e Translation updates 2003-10-11 17:11:02 +00:00
Bruce Momjian
d51368dbbd This patch will stop gcc from issuing warnings about type-punned objects
when -fstrict-aliasing is turned on, as it is in the latest gcc when you
use -O2

Andrew Dunstan
2003-10-11 16:30:55 +00:00
Peter Eisentraut
108f371769 Translation updates 2003-10-10 08:01:44 +00:00
Bruce Momjian
9821455425 Rename __arm__/__arm__ to __arm__/__arm, found by Neil Conway 2003-10-10 03:58:57 +00:00
Bruce Momjian
962987a1c2 Add NULL regression tests.
Manfred Koizar
2003-10-10 03:46:51 +00:00
Bruce Momjian
d7c971ab7d Change Win32 rename/unlink timeout to 3 seconds. 2003-10-10 03:27:58 +00:00
Bruce Momjian
99a53d89c8 Allow pg_id to compile on Win32.
Andrew Dunstan
2003-10-10 01:34:51 +00:00
Bruce Momjian
c568b8fbe7 Remove -pipe from compiles. 2003-10-09 22:55:46 +00:00
Peter Eisentraut
172b125578 Make sure that -- comments extend to the end of the line. This fixes the
misscanning of this construct:

SELECT ''hello world''
-- SELECT ''goodbye world''
::text;
2003-10-09 19:13:23 +00:00
Peter Eisentraut
034b065a66 Some updates 2003-10-09 19:11:03 +00:00
Bruce Momjian
dfafeb6a89 Update Solaris FAQ to mention -fast. 2003-10-09 17:11:13 +00:00
Bruce Momjian
b1d955ea7b Remove -pipe on Linux, per reports from Peter. 2003-10-09 16:52:45 +00:00
Bruce Momjian
85bd172c45 Add -pipe compile for Linux. 2003-10-09 14:47:59 +00:00
Bruce Momjian
7185455c08 Make template CFLAGS handling consistent. 2003-10-09 14:40:37 +00:00
Bruce Momjian
6687152582 Re-add -pipe compile flags for bsd's. 2003-10-09 04:34:02 +00:00
Bruce Momjian
0e22cb1232 This centralizes the optimization defaults into configure.in, rather
than having CFLAGS= in the template files.

It uses -O2 for gcc (generated by autoconf), and -O for non-gcc, unless
the template overrides it.
2003-10-09 03:20:34 +00:00
Bruce Momjian
dcad7949f8 Change "query:" to "statement:".
Have log_duration print when log_min_duration_statement prints.
2003-10-09 02:40:18 +00:00
Bruce Momjian
6acca5765e Add quotes to CFLAG define. 2003-10-09 02:37:09 +00:00
Jan Wieck
f8d90fcc0a Protected access to variable m_preparedCount via synchronized
function to prevent multiple threads using automatic cursors on
the same connection from stomping over each others cursor.

Jan
2003-10-09 01:17:07 +00:00
Peter Eisentraut
46c27c6997 New translations 2003-10-08 20:35:39 +00:00
Peter Eisentraut
c99a41be95 New translations 2003-10-08 18:38:49 +00:00
Bruce Momjian
2ff4091862 Add quotes around -O setting for consistency. 2003-10-08 18:23:08 +00:00
Michael Meskes
163f0b2d48 Removed my debug printf() call from numeric.c 2003-10-08 08:28:57 +00:00
Bruce Momjian
bdae05f5d1 Use calloc() to allocate empty structures.
Fix pg_restore tar log output bug where Special flag wasn't being
initialized; bug seen on XP.
2003-10-08 03:52:32 +00:00
Bruce Momjian
b8382c2688 Have log_min_duration_statement = 0 always print duration/statement.
Change log line to be "duration:  ms  query:"

Indent multi-line queries with a tab in the server logs.
2003-10-08 03:49:38 +00:00
Michael Meskes
cfd992ecba Fixed floating point exception in long=>numeric conversion. 2003-10-07 18:36:46 +00:00
Bruce Momjian
d665217278 Fix include used by entab. 2003-10-07 17:40:09 +00:00
Peter Eisentraut
06e6aa236c Add missing include file. 2003-10-07 08:07:56 +00:00
Michael Meskes
3cda980298 Fixed error handling in Informix compat str to date conversion. 2003-10-07 05:46:56 +00:00
Peter Eisentraut
34e9ab027b New Italian translation 2003-10-06 21:50:45 +00:00
Tom Lane
b05ff39d7c Fix binary_oper_exact() so that the heuristic 'an unknown literal on
one side of a binary operator is probably supposed to be the same type
as the other operand' will be applied for domain types.  This worked
in 7.3 but was broken in 7.4 due to code rearrangements.  Mea culpa.
2003-10-06 20:09:47 +00:00
Peter Eisentraut
f98cbb76a0 Translation updates 2003-10-06 17:37:39 +00:00
Tom Lane
fec58f6c3f During ALTER TABLE ADD FOREIGN KEY, try to check the existing rows using
a single LEFT JOIN query instead of firing the check trigger for each
row individually.  Stephan Szabo, with some kibitzing from Tom Lane and
Jan Wieck.
2003-10-06 16:38:28 +00:00
Peter Eisentraut
a0ab31dcc6 New Slovene translations 2003-10-06 16:31:16 +00:00
Michael Meskes
aeb1f6478e - Fixed constant listing in execute using clause.
- Fixed typo in ecpg for Informix dec_t type.
- Fixed precision handling in Informix compat funxtions.
2003-10-06 06:44:55 +00:00
Peter Eisentraut
5e3aaf5402 Translation updates 2003-10-06 06:20:11 +00:00
Tom Lane
0eceaaf9b7 Modify COPY FROM to match the null-value string against the column value
before it is de-backslashed, not after.  This allows the null string \N
to be reliably distinguished from the data value \N (which must be
represented as \\N).  Per bug report from Manfred Koizar ... but it's
amazing this hasn't been reported before ...
Also, be consistent about encoding conversion for null string: the form
specified in the command is in the server encoding, but what is sent
to/from client must be in client encoding.  This never worked quite
right before either.
2003-10-06 02:38:53 +00:00
Tom Lane
351adb8dfb Fix order of operations within SendQuery() so that the time spent in
data transfer during COPY is included in the \timing display.  Also
avoid portability problems if tv_usec is unsigned on some platform.
2003-10-06 01:11:12 +00:00
Tom Lane
a1dcd8f6dd Add a little more smarts to estimate_hash_bucketsize(): if there's no
statistics, but there is a unique index on the column, we can safely
assume it's well-distributed.
2003-10-05 22:44:25 +00:00
Bruce Momjian
22347dc102 Make psql \timing show three digits. 2003-10-05 22:36:00 +00:00
Peter Eisentraut
eceff4cc55 Translation updates 2003-10-05 21:52:37 +00:00
Peter Eisentraut
83a234926c When revoking privileges from the owner, don't revoke the grant options,
to avoid recursively revoking everything from everyone.
2003-10-05 21:49:12 +00:00
Michael Meskes
8e6b74e4fd Fixed bug in day of week processing. 2003-10-05 11:12:00 +00:00
Peter Eisentraut
f261af3f74 Translation update 2003-10-04 22:50:20 +00:00
Tom Lane
fa09ee6026 Document the always-true-but-previously-undocumented fact that PQfnumber()
will downcase the supplied field name unless it is double-quoted.  Also,
upgrade the routine's handling of double quotes to match the backend,
in particular support doubled double quotes within quoted identifiers.
Per pgsql-interfaces discussion a couple weeks ago.
2003-10-04 21:05:21 +00:00
Tom Lane
b833c3d4a4 Fix pg_get_constraintdef() to ensure CHECK constraints are always shown
with required outer parentheses.  Breakage seems to be leftover from
domain-constraint patches.  This could be smarter about suppressing
extra parens, but at this stage of the release cycle I want certainty
not cuteness.
2003-10-04 18:22:59 +00:00
Peter Eisentraut
0a14ffe5b5 Translation updates 2003-10-04 18:13:16 +00:00
Peter Eisentraut
8bc9fcb51f Translation update 2003-10-04 18:09:08 +00:00
Bruce Momjian
1c4d4cb17d Fix log_duration and log_min_duration_statement to print properly, as
pointed out by Peter.
2003-10-04 02:47:04 +00:00
Peter Eisentraut
75e76e1cf5 Translation updates 2003-10-04 01:07:05 +00:00
Peter Eisentraut
4cb67993a7 Format help message internally consistent. 2003-10-04 01:06:38 +00:00
Peter Eisentraut
9951474c71 Change transaction status indicator in prompt from %T to %x. 2003-10-04 01:04:46 +00:00
Peter Eisentraut
beb935148a New translation 2003-10-03 22:39:34 +00:00
Tom Lane
ef88199f61 Issue 'SET check_function_bodies = false' to suppress possible restore
failures in SQL functions, due to forward references or unqualified
references to objects in other schemas.  Per recent discussion.
2003-10-03 20:10:59 +00:00
Tom Lane
15c194c1d5 Add GUC parameter check_function_bodies to control whether validation
of function bodies is done at CREATE FUNCTION time.  This is normally
true but can be set false to avoid problems with forward references,
wrong schema search path, etc.  This is just the backend patch, still
need to adjust pg_dump to make use of it.
2003-10-03 19:26:49 +00:00
Tom Lane
251033186f Cause PQescapeString to stop processing at a null character, rather
than generating an invalid output string.  Per observation and patch
from Igor Shevchenko.  Further code cleanup and documentation by
Tom Lane.
2003-10-03 18:26:14 +00:00
Tom Lane
3b4c142030 Remove assorted compilation failures introduced by latest ecpg changes.
Also remove -g, which has no business in CPPFLAGS in the first place,
let alone being hardwired there by a sub-Makefile.
2003-10-03 17:04:48 +00:00
Michael Meskes
1bd5e054ed Hide Informix datatypes. They are not seen by our built process anymore. 2003-10-03 10:07:28 +00:00
Tom Lane
19c90bcc25 Add a bit more locking to vac_update_relstats and vac_update_dbstats
to make them comparable to what UpdateStats does in the same situation.
I'm not certain two instances of vac_update_relstats could run in
parallel for the same relation, but parallel invocations of vac_update_dbstats
do seem possible.
2003-10-02 23:19:44 +00:00
Tom Lane
bea8af9152 When dumping CREATE INDEX, must show opclass name if the opclass isn't
in the schema search path.  Otherwise pg_dump doesn't correctly dump
scenarios where a custom opclass is created in 'public' and then used
by indexes in other schemas.
2003-10-02 22:24:54 +00:00
Tom Lane
b4966453f6 Do not return from PQrequestCancel until postmaster has finished
processing the request; this ensures that the request won't be taken
to cancel a subsequently-issued query.  Race condition originally
noted by Oliver Jowett in the context of JDBC, but libpq has it too.
2003-10-02 19:52:44 +00:00
Tom Lane
bf2f5d9463 Don't use 0 as a spelling of NULL. 2003-10-02 14:47:44 +00:00
Peter Eisentraut
d938e8b0f4 Add documentation about \pset footer to \?.
from Patrick Welche
2003-10-02 06:39:31 +00:00
Peter Eisentraut
14528ffe6b String fixes/improvements found by Alvaro Herrera 2003-10-02 06:36:37 +00:00
Peter Eisentraut
e78b0079a2 Change some notices to warnings and vice versa according to criteria
developed on -hackers.
2003-10-02 06:34:04 +00:00
Peter Eisentraut
5b806ecf55 Remove NOTICE about foreign key creating implicit triggers, because it no
longer conveys useful information.
2003-10-02 06:32:46 +00:00
Tom Lane
04b40923d6 Add code to check that IF/WHILE/EXIT test expressions are boolean,
and try to coerce the values to boolean if not.  Per recent discussions.
2003-10-01 21:47:42 +00:00
Tom Lane
55d85f42a8 Repair RI trigger visibility problems (this time for sure ;-)) per recent
discussion on pgsql-hackers: in READ COMMITTED mode we just have to force
a QuerySnapshot update in the trigger, but in SERIALIZABLE mode we have
to run the scan under a current snapshot and then complain if any rows
would be updated/deleted that are not visible in the transaction snapshot.
2003-10-01 21:30:53 +00:00
Tom Lane
47ed658c59 heap_open => relation_open to avoid unwanted restriction on relkind.
Per gripe from Gaetano Mendola.
2003-09-30 00:59:51 +00:00
Tom Lane
e33f205a94 Adjust btree index build procedure so that the btree metapage looks
invalid (has the wrong magic number) until the build is entirely
complete.  This turns out to cost no additional writes in the normal
case, since we were rewriting the metapage at the end of the process
anyway.  In normal scenarios there's no real gain in security, because
a failed index build would roll back the transaction leaving an unused
index file, but for rebuilding shared system indexes this seems to add
some useful protection.
2003-09-29 23:40:26 +00:00
Tom Lane
0e319c7ad7 Improve context display for failures during COPY IN, as recently
discussed on pghackers.
2003-09-29 22:06:40 +00:00
Jan Wieck
36f15ddecd Fixed type lookup in spi_prepare for possible qualified
type name specification.

Jan
2003-09-29 19:24:06 +00:00
Bruce Momjian
2f98ece4de The brackets aren't put on the CHECK constraints properly.
Before patch:

test=# select pg_get_constraintdef(oid) from pg_constraint;
                                       pg_get_constraintdef
-------------------------------------------------------------------------------------------------
  CHECK (VALUE >= 0)
  CHECK ((((a)::text = 'asdf'::text) OR ((a)::text = 'fdsa'::text)) OR
((a)::text = 'dfd'::text))
  PRIMARY KEY (b)
  FOREIGN KEY (a) REFERENCES test2(b)
  UNIQUE (b)
(5 rows)

test=# select pg_get_constraintdef(oid, true) from pg_constraint;
                                pg_get_constraintdef
-----------------------------------------------------------------------------------
  CHECK VALUE >= 0
  CHECK a::text = 'asdf'::text OR a::text = 'fdsa'::text OR a::text =
'dfd'::text
  PRIMARY KEY (b)
  FOREIGN KEY (a) REFERENCES test2(b)
  UNIQUE (b)
(5 rows)

After patch:

test=# select pg_get_constraintdef(oid) from pg_constraint;
                                       pg_get_constraintdef
-------------------------------------------------------------------------------------------------
  CHECK (VALUE >= 0)
  CHECK ((((a)::text = 'asdf'::text) OR ((a)::text = 'fdsa'::text)) OR
((a)::text = 'dfd'::text))
  PRIMARY KEY (b)
  FOREIGN KEY (a) REFERENCES test2(b)
  UNIQUE (b)
(5 rows)

test=# select pg_get_constraintdef(oid, true) from pg_constraint;
                                pg_get_constraintdef
-----------------------------------------------------------------------------------
  CHECK (VALUE >= 0)

`  CHECK (a::text = 'asdf'::text OR a::text = 'fdsa'::text OR a::text =
'dfd'::text)
  PRIMARY KEY (b)
  FOREIGN KEY (a) REFERENCES test2(b)
  UNIQUE (b)
(5 rows)

It's important that those brackets are there to (a) match all other
constraints and (b) so that people can just copy and paste them and it
will work as SQL.


Christopher Kings-Lynne
2003-09-29 18:55:56 +00:00
Bruce Momjian
4b4c43b146 This patch fixes an obvious bug in the "should I print the duration of
this query?" logic in postgres.c

Also, make it print "duration:" like log_duration.

Neil Conway
2003-09-29 18:50:58 +00:00
Bruce Momjian
fc7a2affab I discovered that TupleDescGetAttInMetadata and BuildTupleFromCStrings
don't deal well with tuples having dropped columns. The attached fixes
the issue. Please apply.

Joe Conway
2003-09-29 18:22:48 +00:00
Bruce Momjian
f3db606592 > >
> >  a) Write documentation how the win32 console needs to be set up so that
> >     psql can handle 8-bit characters.
> >     Where should it be added? The Section "Installation on Windows" in the
> >     Administrator's Guide seems natural to me.
> >
> >  b) Add code to psql that prints a warning on startup of psql when the
> >     console codepage differs from the windows codepage, something like
> >
> >     Warning: Console codepage (850) differs from windows codepage (1252)
> >              8-bit characters will not work correctly. See PostgreSQL
> >              documentation "Installation on Windows" for details.
>
Attached are two patches:

 - installdoc.patch contains an additional paragraph on the win32 console
   codepage for the chapter "Installation on Windows"
   Due to a lack of SGML-tools, I have only edited the text and not tested
   the SGML code - please check it before merging into the CVS branch.

 - psqlcodepage.patch adds the warning about a problematic codepage to psql.


Christoph Dalitz
2003-09-29 18:21:33 +00:00
Peter Eisentraut
55fbc98b3f Adjust the new Norwegian translation for some of the easier message
changes between 7.3 and 7.4, for example quoting and function names.
2003-09-29 16:41:33 +00:00
Peter Eisentraut
275c909a8c Apparently, gettext doesn't like double parentheses around argument. What
were they doing here anyway?
2003-09-29 16:39:18 +00:00
Peter Eisentraut
f4d5d620f2 Make message fit guidelines. 2003-09-29 16:38:04 +00:00
Peter Eisentraut
2d480b92cf Eliminate another gratuitous message wording difference. 2003-09-29 16:37:29 +00:00
Peter Eisentraut
a776bd9b69 New Norwegian translation by Trond Endrestøl, actually made for 7.3, but
this should help people get started in 7.4 as well.
2003-09-29 10:57:06 +00:00
Peter Eisentraut
b994b143a6 New translations 2003-09-29 09:51:29 +00:00
Bruce Momjian
f7fca96366 Fix #error message to mention renamed option --disable-spinlocks. 2003-09-29 04:20:22 +00:00
Bruce Momjian
3e4b208285 Update docs that point to thread test program. 2003-09-29 03:32:05 +00:00
Tom Lane
5594aa6a6e Fix broken definition of :print: character class, per Bruno Wolff.
Also, make :alnum: character class directly dependent on isalnum()
rather than guessing.
2003-09-29 00:21:58 +00:00
Peter Eisentraut
3b97d9f525 Translation update 2003-09-29 00:17:42 +00:00
Peter Eisentraut
7438af96fa More message editing, some suggested by Alvaro Herrera 2003-09-29 00:05:25 +00:00
Tom Lane
8b510838f6 Restructure plpgsql's caching of 'simple' expression evaluation trees
to be less dangerous, and often faster as well.  ExprState trees are
not kept across transaction boundaries; this eliminates problems with
resource leakage in failed transactions.  But by keeping them in a
per-transaction EState, we can safely arrange for a single ExprState
to be shared by all the expression evaluations done in a given plpgsql
function call.  (Formerly it seemed necessary to create and destroy an
ExprState for each exec_eval_simple_expr() call.)  This saves time in
any scenario where a plpgsql function executes more than one expression.
Seems to be about as fast as 7.3 for simple cases, and significantly
faster for functions that do a lot of calculations.
2003-09-28 23:37:45 +00:00
Tom Lane
8934790052 Add a mechanism to let dynamically loaded modules register post-commit/
post-abort cleanup hooks.  I'm surprised that we have not needed this
already, but I need it now to fix a plpgsql problem, and the usefulness
for other dynamically loaded modules seems obvious.
2003-09-28 23:26:20 +00:00
Tom Lane
a15207f8d6 Now that we have UPDATE tab SET col = DEFAULT, get rid of horrid hack
in the RI triggers for ON DELETE/UPDATE SET DEFAULT.  The code depended
way too much on knowledge of plan structure, and yet still would fail
if the generated query got rewritten by rules.
2003-09-28 02:11:23 +00:00
Bruce Momjian
a994d5984f Adjust pgindent for newer awks.
Nigel J. Andrews
2003-09-28 00:25:22 +00:00
Bruce Momjian
b4ca39b956 Allow pgindent to work with newer BSD indents. 2003-09-28 00:22:58 +00:00
Bruce Momjian
74c8703031 Mark Linux for threads. 2003-09-27 22:23:35 +00:00
Tom Lane
0ac697b269 Remove erroneous restriction that -t cannot be used to select a
sequence for dumping.
2003-09-27 22:10:01 +00:00
Bruce Momjian
16e4adc38f Update bsd indent patch. 2003-09-27 21:26:09 +00:00
Bruce Momjian
ee84100cc1 Cleanup pgindent patch. 2003-09-27 21:19:47 +00:00
Tom Lane
e0736689a3 Got the link order wrong :-( 2003-09-27 20:38:19 +00:00
Tom Lane
cd75f94daf Adjust Darwin build to use the default 'two level namespace' linking
method.  Fix a number of places where shared libraries were linked without
mentioning all the libraries they depend on; the Darwin and AIX ports
are known to require this, and it doesn't seem to hurt any other supported
platforms.  (Hence, remove code in pl/tcl makefile that tried to avoid
mentioning other libs if not needed.)
2003-09-27 19:35:32 +00:00
Tom Lane
4f7a2fa0c3 Fix typo in message. 2003-09-27 18:16:35 +00:00
Bruce Momjian
bb9ec59419 Add compile step to instructions. 2003-09-27 17:29:30 +00:00
Bruce Momjian
e349584d5d Make dump files created by initdb have consistent EOL termination, to
pass COPY's EOL tests.
2003-09-27 16:27:57 +00:00
Bruce Momjian
391dceb462 Finalize configuration of thread_test program. 2003-09-27 16:24:45 +00:00
Jan Wieck
a6790ce857 Changed the logic when a CAST is dumped according to discussion
on pgsql-hackers.

A cast is included in the dump output if any of the objects does
not belong to a system namespace and all of the non-system namespace
objects belong to dumped namespaces. System namespace is defined
as nspname begins with "pg_".

Jan
2003-09-27 15:34:06 +00:00
Bruce Momjian
227dd9b427 Rename thread compile flag. Move thread test program to tools/thread,
and improve tests.
2003-09-27 15:32:48 +00:00
Peter Eisentraut
e05147e51a You can't NLS-enable a program component by just putting gettext() around
every string, especially if some of the output should be fixed-format
machine-readable.  This needs to be more carefully sorted out. Also, make
the help message generated by --help-config -h be more similar in style to
the others.
2003-09-27 09:29:31 +00:00
Peter Eisentraut
4af19a579d The formatting of the display of the locale names assumed that locale names
are not longer than 8 characters.  But sometimes they are, and that made
the display quite ugly.  So just format them vertically so that everyone
can read them.
2003-09-27 09:21:26 +00:00
Tom Lane
026f9c05d5 Move -D_GNU_SOURCE hack from port header to template, so that
configure's tests see the same compilation environment as the code.
Per discussion with Stephan Szabo.
2003-09-26 17:39:13 +00:00
Peter Eisentraut
d84b6ef56b Various message fixes, among those fixes for the previous round of fixes 2003-09-26 15:27:37 +00:00
Peter Eisentraut
98150f108f Translation update 2003-09-26 15:25:39 +00:00
Michael Meskes
e11136e4a5 Fixed segfault after error in parsing precision argument. 2003-09-26 15:16:29 +00:00
Tom Lane
8d108fb166 Fix tid scan evaluation of non-constant TID values; can't try to do it
during ExecInitTidScan, because the rest of the executor isn't ready.
2003-09-26 01:17:01 +00:00
Tom Lane
2848dc5fea Make the world safe (more or less) for dropped columns in plpgsql rowtypes. 2003-09-25 23:02:12 +00:00
Tom Lane
a039148cad tlist_matches_tupdesc() needs to defend itself against dropped columns. 2003-09-25 19:41:49 +00:00
Tom Lane
c63a5452d8 Get rid of ReferentialIntegritySnapshotOverride by extending Executor API
to allow es_snapshot to be set to SnapshotNow rather than a query snapshot.
This solves a bug reported by Wade Klaver, wherein triggers fired as a
result of RI cascade updates could misbehave.
2003-09-25 18:58:36 +00:00
Tom Lane
7ab5c5b83e Fix regression error messages for platforms Peter doesn't use. 2003-09-25 16:16:35 +00:00
Tom Lane
d332f7f610 Fix grammatical error introduced into error message. 2003-09-25 15:58:06 +00:00
Peter Eisentraut
be1d437e01 Forget to update the real source of the regression test results after
message editing.
2003-09-25 15:48:17 +00:00
Peter Eisentraut
feb4f44d29 Message editing: remove gratuitous variations in message wording, standardize
terms, add some clarifications, fix some untranslatable attempts at dynamic
message building.
2003-09-25 06:58:07 +00:00
Bruce Momjian
266664fcd2 Fix creation of temporary sequences in ecpg, per report from Edmund Bacon. 2003-09-24 19:05:32 +00:00
Tom Lane
a56a016ceb Repair some REINDEX problems per recent discussions. The relcache is
now able to cope with assigning new relfilenode values to nailed-in-cache
indexes, so they can be reindexed using the fully crash-safe method.  This
leaves only shared system indexes as special cases.  Remove the 'index
deactivation' code, since it provides no useful protection in the shared-
index case.  Require reindexing of shared indexes to be done in standalone
mode, but remove other restrictions on REINDEX.  -P (IgnoreSystemIndexes)
now prevents using indexes for lookups, but does not disable index updates.
It is therefore safe to allow from PGOPTIONS.  Upshot: reindexing system catalogs
can be done without a standalone backend for all cases except
shared catalogs.
2003-09-24 18:54:02 +00:00
Tom Lane
a9e9abebd9 Issue CREATE SCHEMA as the originally connecting user, with an
AUTHORIZATION clause to specify the desired owner.  This allows a
superuser to restore schemas owned by users without CREATE-SCHEMA
permissions (ie, schemas originally created by a superuser using
AUTHORIZATION).  --no-owner can be specified to suppress the
AUTHORIZATION clause if need be.
2003-09-23 23:31:52 +00:00
Tom Lane
6767cebc6f pg_dump/pg_restore now always use SET SESSION AUTHORIZATION, not \connect,
to control object ownership.  The use-set-session-authorization and
no-reconnect switches are obsolete (still accepted on the command line,
but they don't do anything).  This is a precursor to fixing handling
of CREATE SCHEMA, which will be a separate commit.
2003-09-23 22:48:53 +00:00
Tom Lane
dbf8259adf Tweak generic_type_consistency routines to avoid loss of functionality
since 7.3: 'select array_dims(histogram_bounds) from pg_stats' used to
work and still should.  Problem was that code wouldn't take input of
declared type anyarray as matching an anyarray argument.  Allow this
case as long as we don't need to determine an element type (which in
practice means as long as anyelement isn't used in the function signature).
2003-09-23 17:12:53 +00:00
Tom Lane
267924ead8 _SPI_cursor_operation forgot to check for failure return from
_SPI_begin_call.  Per gripe from Tomasz Myrta.
2003-09-23 15:11:33 +00:00
Michael Meskes
5a5f0a6168 - Changed struct definition handling so "struct foo {}" always gets defined. 2003-09-23 12:56:35 +00:00
Barry Lind
2ec8ee0c0c Fix to properly handle timezone offsets that are partial hours. If the offset
was a partial hour and less than gmt (i.e. -02:30) the code would corrupt the
minutes part.

 Modified Files:
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
2003-09-23 06:13:52 +00:00
Barry Lind
618d56d09a A fix for jdbc regression test submitted yesterday by Kim Ho at Redhat
Modified Files:
 	ResultSetTest.java
2003-09-23 06:11:06 +00:00
Hiroshi Inoue
f5c5c3c6f7 Putting back the previous change must be the first thing.
ALso put back a #ifndef ENABLE_REINDEX_NAILED_RELATIONS
which was removed about a year ago.
2003-09-23 01:51:09 +00:00
Michael Meskes
22c0b1f0f4 - Fixed order mismatch in processing "using" arguments.
- Fixed some minor things in test cases.
- Use defines for Informix error codes.
2003-09-22 13:19:39 +00:00
Barry Lind
8839b85ed8 Additional jdbc regression tests submitted by Oliver Jowett. Some tests are
currently commented out, pending fixes for the bugs these tests uncovered.

 Modified Files:
 	jdbc/org/postgresql/test/jdbc2/Jdbc2TestSuite.java
 	jdbc/org/postgresql/test/jdbc2/ServerPreparedStmtTest.java
 Added Files:
 	jdbc/org/postgresql/test/jdbc2/CursorFetchTest.java
2003-09-22 05:38:01 +00:00
Barry Lind
66d00417c9 Applied jdbc patch from Kim Ho at RedHat to improve boolean support, as well
as some additional regression tests for this an other recent changes.

 Modified Files:
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
 	jdbc/org/postgresql/test/jdbc2/DateTest.java
 	jdbc/org/postgresql/test/jdbc2/ResultSetTest.java
 	jdbc/org/postgresql/test/jdbc2/TimeTest.java
 	jdbc/org/postgresql/test/jdbc2/TimestampTest.java
2003-09-22 04:55:00 +00:00
Tom Lane
f03d2284c0 HeapTupleSatisfiesVacuum() needs to be more careful about the
difference between INSERT_IN_PROGRESS and DELETE_IN_PROGRESS for
tuples inserted and then deleted by a concurrent transaction.
Example of bug:
regression=# create table foo (f1 int);
CREATE TABLE
regression=# begin;
BEGIN
regression=# insert into foo values(1);
INSERT 195531 1
regression=# delete from foo;
DELETE 1
regression=# insert into foo values(1);
INSERT 195532 1
regression=# create unique index fooi on foo(f1);
ERROR:  could not create unique index
DETAIL:  Table contains duplicated values.
2003-09-22 00:47:23 +00:00
Peter Eisentraut
278a13fe47 Translation updates 2003-09-22 00:27:01 +00:00
Peter Eisentraut
6f57d63cb4 Message wording improvements 2003-09-22 00:23:35 +00:00
Tom Lane
5aa29e88e9 Arrange to align shared disk buffers on at least 32-byte boundaries,
not just MAXALIGN boundaries.  This makes a noticeable difference in
the speed of transfers to and from kernel space, at least on recent
Pentiums, and might help other CPUs too.  We should look at making
this happen for local buffers and buffile.c too.  Patch from Manfred Spraul.
2003-09-21 17:57:21 +00:00
Tom Lane
11b274f00f Fix some ill-considered ifdefs, per report from Hans-JÏrgen SchÎnig. 2003-09-21 17:42:22 +00:00
Tom Lane
58ad65ec2d Apply ranlib(1) after installing a static (.a) library on Darwin.
Per past complaints --- verified to still be a problem on OS X 10.2.6.
2003-09-20 21:26:20 +00:00
Tom Lane
776ec78e9d Attaching -lpq to LDFLAGS doesn't work, because the generated command
puts that before the .c file name.
2003-09-20 21:14:57 +00:00
Tom Lane
f3ad615ce8 Fix a batch of speling misteaks identified by Peter's spell-checker tool. 2003-09-20 20:12:05 +00:00
Michael Meskes
3438065eed - Renamed my own strndup() function because of a name clash. 2003-09-20 09:10:50 +00:00
Michael Meskes
f604b39c2f - Applied some bug fixing patches by Dave Cramer <dave@fastcrypt.com>.
- Added protecting defines to include files.
2003-09-20 09:10:09 +00:00
Tom Lane
f72a93b4c9 pg_dump missed comments attached to primary key or unique constraints
(as distinct from their underlying indexes).  Per bug report from
Hiroshi Saito.
2003-09-19 23:15:18 +00:00
Tom Lane
a13b018530 Disallow foreign-key references from temp tables to permanent tables.
Per recent discussion, this does not work because other backends can't
reliably see tuples in a temp table and so cannot run the RI checks
correctly.  Seems better to disallow this case than go back to accessing
temp tables through shared buffers.  Also, disallow FK references to
ON COMMIT DELETE ROWS tables.  We already caught this problem for normal
TRUNCATE, but the path used by ON COMMIT didn't check.
2003-09-19 21:04:20 +00:00
Tom Lane
fc6b7c550d Latest version of gcc from Apple does not work well with -traditional-cpp
(it rejects some system header files...).  Use -no-cpp-precomp instead.
I think it is okay to change this unconditionally, but if we hear
complaints from people still using very old compilers on Darwin,
we could put in a test to see which switch the compiler likes.
2003-09-19 20:47:59 +00:00
Tom Lane
28847ae77d Seems like a bad idea that REINDEX TABLE supports (or thinks it does)
reindexing system tables without ignoring system indexes, when the
other two varieties of REINDEX disallow it.  Make all three act the same,
and simplify downstream code accordingly.
2003-09-19 19:57:42 +00:00
Michael Meskes
580e08a98b One small typo in preprocessor. 2003-09-19 14:13:16 +00:00
Michael Meskes
df974272ec Removed superfluous return statement in get_data. 2003-09-19 14:06:21 +00:00
Michael Meskes
723a9bde33 - Accept output variables for FETCH in DECLARE statement.
- Synced parser.
- Allowed C variables to carry the name of prepared statements.
- Added Informix handling of datatype converion errors.
2003-09-18 13:12:23 +00:00
Barry Lind
215d965f0e Applied patch from Oliver Jowett to clean up some instances where the wrong
type was being reported for PREPAREs.

 Modified Files:
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
 	jdbc/org/postgresql/test/jdbc2/ServerPreparedStmtTest.java
2003-09-18 04:14:27 +00:00
Barry Lind
7da6afef26 Small jdbc patch from Kim Ho at RedHat to fix some boolean problems
Modified Files:
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
2003-09-18 04:09:02 +00:00
Barry Lind
47cb1c3f94 A minor fix to jdbc regression tests
Modified Files:
 	jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataPropertiesTest.java
2003-09-18 03:58:16 +00:00
Tom Lane
6b73da67b2 Disallow converting a table to a view if it has triggers, indexes, or
child tables --- all cases that will trip various sanity checks elsewhere
in the system, as well as cases that should not occur in the only intended
use of this feature, namely coping with ancient pg_dump representation
of views.  Per bug report from Chris Pizzi.
2003-09-17 17:19:17 +00:00
Barry Lind
e8839c2b6c Applied patch to jdbc from Kim Ho at RedHat, fixing improper handling of empty queries under the V3 protocol
Modified Files:
 	jdbc/org/postgresql/core/QueryExecutor.java
2003-09-17 08:21:36 +00:00
Barry Lind
c020d67bc6 Applied patch for jdbc from Kim Ho at RedHat to more correctly deal with boolean values
Modified Files:
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
2003-09-17 07:00:24 +00:00
Barry Lind
292048f186 Fixed jdbc to correctly report that constraints are supported
Modified Files:
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
2003-09-17 06:42:47 +00:00
Barry Lind
33815bf657 Applied patch from Fernando Nasser of RedHat to fix some error messages
that would not get correctly looked up in the translation files for jdbc

 Modified Files:
 	jdbc/org/postgresql/errors.properties
 	jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
2003-09-17 05:14:52 +00:00
Barry Lind
0671b65b81 Applied patch from Kim Ho at redhat to improve boolean and bit handling
in the jdbc driver

 Modified Files:
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
 	jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java
2003-09-17 05:07:38 +00:00
Tatsuo Ishii
ce90c0f504 Fix typo in comment 2003-09-17 04:25:29 +00:00
Tom Lane
7e06dbe1c2 Make psql correctly track the effects of SET CLIENT_ENCODING commands.
I thought I'd fixed this earlier, but I didn't get it right ...
2003-09-16 17:59:02 +00:00
Tatsuo Ishii
7b05ef5b63 fix typo in a comment 2003-09-16 07:47:06 +00:00
Tom Lane
fc73264005 I don't care whether it's informix-compatible or not: #defining a word
like 'date' in a public header file is a damn fool idea.
2003-09-16 04:32:28 +00:00
Tom Lane
b8f8896888 Fix some problems with dropped columns in plpython trigger functions. 2003-09-16 01:07:51 +00:00
Tom Lane
8723e37a26 Since SPI_modifytuple's natts argument is the number of attributes to be
changed, it should allow a zero value (implying no changes to make).
2003-09-16 00:50:09 +00:00
Tom Lane
db18703b5a Fix LISTEN/NOTIFY race condition reported by Gavin Sherry. While a
really general fix might be difficult, I believe the only case where
AtCommit_Notify could see an uncommitted tuple is where the other guy
has just unlistened and not yet committed.  The best solution seems to
be to just skip updating that tuple, on the assumption that the other
guy does not want to hear about the notification anyway.  This is not
perfect --- if the other guy rolls back his unlisten instead of committing,
then he really should have gotten this notify.  But to do that, we'd have
to wait to see if he commits or not, or make UNLISTEN hold exclusive lock
on pg_listener until commit.  Either of these answers is deadlock-prone,
not to mention horrible for interactive performance.  Do it this way
for now.  (What happened to that project to do LISTEN/NOTIFY in memory
with no table, anyway?)
2003-09-15 23:33:43 +00:00
Tom Lane
d73e1b33b5 Update regression test for message change. 2003-09-15 23:25:31 +00:00
Tom Lane
daed6f4b94 Improve a couple of error messages per suggestions from Alvaro Herrera. 2003-09-15 22:28:58 +00:00
Peter Eisentraut
7ce5f25b5b Translation updates 2003-09-15 20:42:40 +00:00
Peter Eisentraut
2d13472c9e OK, some of these syntax errors should be given other codes. 2003-09-15 20:03:37 +00:00
Bruce Momjian
72ed916a1f Add errno value for thread *_r function call buffer too small. Improve
thread comments.
2003-09-15 02:30:29 +00:00
Bruce Momjian
24d41a9efc NetBSD needs reentrant funcs. 2003-09-15 02:17:49 +00:00
Peter Eisentraut
a07c5a1225 Remove warnings for operations that have no effect when executed repeatedly. 2003-09-15 00:26:31 +00:00
Peter Eisentraut
2f9d32cded Run distprep target before creating list of files that contain translatable
strings in the backend, so that .l and .y files are included.  To that end,
don't make the .pot file a prerequisite on distprep.
2003-09-14 22:40:38 +00:00
Peter Eisentraut
20aaf64252 Allow translation of SQL help in psql. 2003-09-14 22:37:13 +00:00
Tom Lane
241cea18f7 Add missing support for Opteron (__x86_64__). 2003-09-14 20:21:18 +00:00
Tom Lane
0441e269ea Make pltcl create separate function objects when the same function is
used as trigger on different relations.  I am not convinced that Tcl
actually has to have this, but it seems a good idea to make it be
parallel to the other PLs that definitely do need it.
2003-09-14 17:25:54 +00:00
Tom Lane
96e63199f3 Fix plpython to generate separate cached procedure data for each
relation, when the same function is used as a trigger on more than
one relation.  This avoids crashes due to differing rowtypes for
different relations.  Per bug report from Lance Thomas, 7-Feb-03.
2003-09-14 17:13:06 +00:00
Bruce Momjian
efebe2605e Since I haven't gotten a reply, can someone REVERT the lines in
src/Makefile.shlib that adds $(libdir)/$(soname) for
port,eq,unixware to $(soname)?

Larry Rosenman
2003-09-14 13:33:08 +00:00
Tom Lane
b38c04335a Reconsider placement of MemoryContextCheck() call --- do after commit,
not before, to avoid duplication of effort.
2003-09-14 00:03:32 +00:00
Tom Lane
4cf6e9e081 Avoid corner cases where aset.c would unnecessarily make malloc()
requests of sizes that aren't powers of 2.  Per observation from
David Schultz, 28-Aug.
2003-09-13 22:25:38 +00:00
Tom Lane
94a13b8a11 Okay, I've had it with mktime() bugs. While chasing Torello Querci's
recent gripe, I discovered not one but two undocumented, undesirable
behaviors of glibc's mktime.  So, stop using it entirely, and always
rely on inversion of localtime() to determine the local time zone.
It's not even very much slower, as it turns out that mktime (at least
in the glibc implementation) also does repeated reverse-conversions.
2003-09-13 21:12:38 +00:00
Bruce Momjian
cd47a4d3c4 With pg_autovacuum becoming increasingly popular it's important to
have a working stats collector.  This test is able to discover the
problem that was present in 7.4 Beta 2.

Manfred Koizar
2003-09-13 16:44:49 +00:00
Bruce Momjian
c346ca8648 When I sent in the sslmode patch I forgot to update the
comments/examples in pg_hba.conf. This patch remedies that, adds a brief
explanation of the connection types, and adds a missing period in the
docs.

Jon Jensen
2003-09-13 16:43:38 +00:00
Bruce Momjian
d7635e5c4f autoconf/autoheader run. 2003-09-13 16:39:51 +00:00
Bruce Momjian
b041d3e3a1 Attempt threading in this order:
*      use non-*_r function names if they are all thread-safe
 *          (NEED_REENTRANT_FUNCS=no)
 *      use *_r functions if they exist (configure test)
 *      do our own locking and copying of non-threadsafe functions

New to this patch is the last option.
2003-09-13 14:49:51 +00:00
Barry Lind
509a9cd3f9 More SQLState updates from Kim Ho at Redhat.
Also a patch from Kris Jurka to correctly report SQLState support.

 Modified Files:
 	jdbc/org/postgresql/Driver.java.in
 	jdbc/org/postgresql/core/QueryExecutor.java
 	jdbc/org/postgresql/fastpath/Fastpath.java
 	jdbc/org/postgresql/geometric/PGbox.java
 	jdbc/org/postgresql/geometric/PGcircle.java
 	jdbc/org/postgresql/geometric/PGline.java
 	jdbc/org/postgresql/geometric/PGlseg.java
 	jdbc/org/postgresql/geometric/PGpath.java
 	jdbc/org/postgresql/geometric/PGpoint.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSetMetaData.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
 	jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
 	jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java
 	jdbc/org/postgresql/jdbc2/Array.java
 	jdbc/org/postgresql/jdbc3/AbstractJdbc3DatabaseMetaData.java
 	jdbc/org/postgresql/util/PGmoney.java
 	jdbc/org/postgresql/util/PSQLState.java
2003-09-13 04:02:16 +00:00
Tom Lane
8b43e325eb Revert to our pre-7.4 behavior of identifying Unix-socket connections in
ps status as '[local]', not as 'localhost' as the code has been doing
recently.  That's too easily confused with TCP loopback connections,
and there is no good reason to change the behavior anyway.
2003-09-12 20:18:51 +00:00
Tom Lane
b1d3de6b96 Someone (possibly me) foolishly reduced the response for failing
to create a TCP/IP socket from FATAL to LOG.  This was unwise;
historically we have expected socket conflicts to abort postmaster
startup.  Conflicts on port numbers with another postmaster can only
be detected reliably at the TCP socket level.
2003-09-12 19:33:59 +00:00
Bruce Momjian
9fc3b9330e Mark FreeBSD as non-thread-safe. 2003-09-12 16:49:34 +00:00
Bruce Momjian
06e3ec7a54 Implement compiler #error if spinlock code not found, add configure flag
to bypass the error, --without-spinlocks.
2003-09-12 16:10:27 +00:00
Bruce Momjian
69a46e9ce1 Enable Opteron/Itanium spinlocks. 2003-09-12 15:49:34 +00:00
Bruce Momjian
9182481bea Remove WIN32_CONSOLE support, at the request of the author. 2003-09-12 02:40:10 +00:00
Bruce Momjian
aaafbdcfd3 Fix old mention of exec() in AttachSharedMemoryAndSemaphores comment. 2003-09-12 02:13:23 +00:00
Tom Lane
8ff2005c67 Message in the other exit from acquire_sample_rows(), as per update
from Mark Kirkwood.  Also show the sample size.
2003-09-11 23:12:31 +00:00
Tom Lane
47c7f9ef1c Try to make recently-added analyze log message look something like
the others in style.
2003-09-11 22:59:28 +00:00
Bruce Momjian
188eda0df2 Consistenly lowercase GUC variable names, in docs and error messages. 2003-09-11 18:30:39 +00:00
Bruce Momjian
d768cb267b seemed like a typo in one of the appendix tables
Robert Treat
2003-09-11 16:22:42 +00:00
Tom Lane
fdd93470fa Fix missed message update, per Alvaro Herrera. 2003-09-11 02:40:13 +00:00
Bruce Momjian
d6a9b4e0b5 Update row count for \? output, used by pager. 2003-09-10 21:35:55 +00:00
Tom Lane
9cb4a28f47 Improve error message for cp or rm failur during create/drop database,
per recent discussions.
2003-09-10 20:24:09 +00:00
Tom Lane
336ebee2c0 copydir() is supposed to return on failure, not elog(ERROR). Reduce
ERROR to WARNING so we keep control.
2003-09-10 20:12:01 +00:00
Bruce Momjian
d16b877612 Add HINT if CREATE FUNCTION specifies a valid language, but the language
isn't loaded into the database.
2003-09-10 19:59:23 +00:00
Michael Meskes
573f4500a3 Some uppercase type definitions were left. 2003-09-10 18:03:08 +00:00
Bruce Momjian
0f310ee703 Here is a patch to make PostgreSQL use a full path in DT_SONAME for
UnixWare.

Larry Rosenman
2003-09-10 03:56:33 +00:00
Peter Eisentraut
33d4c828fd Some "feature not supported" errors are better syntax errors, because the
feature they complain about isn't a feature or cannot be implemented without
definitional changes.
2003-09-09 23:22:21 +00:00
Tom Lane
d0bfe7f100 Update comments about how locale settings are handled. 2003-09-09 15:19:31 +00:00
Barry Lind
62b53accd4 Clean up some unused import warnings in the example jdbc code 2003-09-09 11:24:04 +00:00
Barry Lind
5cdf771d8a Additional SQLState work for JDBC - thanks to Kim Ho at Redhat for input on this
Modified Files:
 	jdbc/build.xml jdbc/org/postgresql/core/QueryExecutor.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
 	jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java
 	jdbc/org/postgresql/util/PSQLState.java
2003-09-09 10:49:16 +00:00
Michael Meskes
fcdf0e22fc - Added Dave patch for Informix handling of numeric/int conversion.
- Changed all new datatypes to lowercase.
- Fixed rounding bug in numerical types.
2003-09-09 10:46:42 +00:00
Barry Lind
05dddf40c2 Opps, can't forget the new file. This is part of the last commit to apply
the redhat patch for SQLState support.

 Added Files:
 	PSQLState.java
2003-09-08 17:45:35 +00:00
Barry Lind
0378a269f3 This set of changes applies a patch from KHO at redhat to add some SQLState
support to the jdbc driver.
That patch needed some work: it assumed the sqlcode in a server message was
fixed in its position, the patch lost the ability to pass exceptions, and the
patch missed a couple of places where server errors where being received.
In addition to fixing the above, I also added full support for the V3 protocol
error message syntax, I reversed the order of arguments in the PSQLException
constructor to more closely follow the constructors for SQLException, I changed
the new constructors that take PSQLState to take Object for additional
parameters as the old ones did.
Still todo are to add SQLState values to all existing exceptions thrown in the
driver and add support for parsing the V3 protocol format for notices.

 Modified Files:
 	jdbc/build.xml jdbc/org/postgresql/Driver.java.in
 	jdbc/org/postgresql/errors.properties
 	jdbc/org/postgresql/core/Encoding.java
 	jdbc/org/postgresql/core/PGStream.java
 	jdbc/org/postgresql/core/QueryExecutor.java
 	jdbc/org/postgresql/fastpath/Fastpath.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
 	jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
 	jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java
 	jdbc/org/postgresql/util/MessageTranslator.java
 	jdbc/org/postgresql/util/PSQLException.java
2003-09-08 17:30:22 +00:00
Tom Lane
e702b04cf4 Avoid using s_addr as a local variable name, to work around broken
system headers on Unixware.
2003-09-08 00:56:13 +00:00
Tom Lane
48beecda7c Remove geqo_random_seed parameter. Having geqo reset the global random()
sequence every time it's called is bogus --- it interferes with user
control over the seed, and actually decreases randomness overall
(because a seed based on time(NULL) is pretty predictable).  If you really
want a reproducible result from geqo, do 'set seed = 0' before planning
a query.
2003-09-07 15:26:54 +00:00
Tom Lane
75c35e0f31 Remove check on source address of a statistics packet. Check was broken
by recent IPv6 changes, and since it's redundant with a kernel-level check
anyway, it seems not worth trying to fix it.  Per recent discussions.
2003-09-07 14:44:40 +00:00
Bruce Momjian
4b407f6c3c Changes for MinGW/WIN32:
o allow configure to see include/port/win32 include files
        o add matching Win32 accept() prototype
        o allow pg_id to compile with native Win32 API
        o fix invalide mbvalidate() function calls (existing bug)
        o allow /scripts to compile with native Win32 API
        o add win32.c to Win32 compiles (already in *.mak files)
2003-09-07 03:43:57 +00:00
Tom Lane
7703e55c32 Make the default pg_hba.conf include an entry for ::1 only if configure
set HAVE_IPV6.  Per recent discussions.
2003-09-07 03:36:03 +00:00
Tom Lane
f4ed650996 load_file() has to remove pre-existing shlibs that match the new file
on either name or inode; otherwise load_external_function() won't do
anything.  At least on Linux, it appears that recompiling a shlib leads
to a new file with a different inode, so the old code failed to detect
a match.
2003-09-07 02:18:01 +00:00
Peter Eisentraut
3e20a72603 Make all valid uses of the COLLATE clause yield the same result: a syntax
error.  There is no point in providing some kind of forward compatibility
now, because no one can tell what a future implementation will look like.
2003-09-06 14:01:51 +00:00
Bruce Momjian
4060f07578 Rename variables for clarity. 2003-09-06 01:41:56 +00:00
Tom Lane
92aa462247 Second try at IPv4-to-v6 mapping code; avoid assuming that the struct
returned by getaddrinfo_all will have enough room for an IPv6 address.
2003-09-05 23:07:21 +00:00
Tom Lane
3c9bb8886d Allow IPv4-format entries in pg_hba.conf to match IPv6 connections
that have IPv4-embedded-in-IPv6 addresses.  Per idea of Andreas Pflug.
2003-09-05 20:31:36 +00:00
Bruce Momjian
e26af972b5 ifdef out pqGetpwuid() because Win32 doesn't have struct passwd.
Needed for libpq builds, not just for native Win32 port, and probably
for cygwin too.
2003-09-05 17:43:40 +00:00
Bruce Momjian
702c91b4ff This fixes three minor typos in hba.c.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
2003-09-05 03:57:13 +00:00
Bruce Momjian
04aabb034f Clean up WIN32_CONSOLE code. 2003-09-05 02:31:10 +00:00
Bruce Momjian
2dc9437160 Enable Win32 to compile libpq again, and enable SSL compiles on that
platform.

Andreas Pflug
2003-09-05 02:08:36 +00:00
Bruce Momjian
1709fde56a Improve prototype casting for thread calls. 2003-09-05 01:53:41 +00:00
Tom Lane
7a3693716d Reimplement hash index locking algorithms, per my recent proposal to
pghackers.  This fixes the problem recently reported by Markus KrÌutner
(hash bucket split corrupts the state of scans being done concurrently),
and I believe it also fixes all the known problems with deadlocks in
hash index operations.  Hash indexes are still not really ready for prime
time (since they aren't WAL-logged), but this is a step forward.
2003-09-04 22:06:27 +00:00
Tom Lane
ca43f71ca5 Avoid consuming unreasonable amounts of memory when GRANT has many
grantees.
2003-09-04 15:53:04 +00:00
Tom Lane
fe055e9280 Looks like plperl has same bug as pltcl. 2003-09-04 15:16:39 +00:00
Tom Lane
9dbfcc2261 Fix some problems with dropped columns in pltcl functions. 2003-09-04 15:10:10 +00:00
Bruce Momjian
6d239ee4b4 Allow non-super users to set log_duration to true, then false, when the
administrator has not turned it on, and fix other PGC_USERLIMIT
variables.
2003-09-04 05:11:20 +00:00
Bruce Momjian
b8245766ab Re-upper case CHECKPOINT_SEGMENTS. 2003-09-04 03:38:55 +00:00
Bruce Momjian
cac43aefd8 Lowercase CHECKPOINT_SEGMENTS. 2003-09-04 00:36:46 +00:00
Bruce Momjian
38eb18092c Tighten casting of function call pointers for threads. 2003-09-03 22:34:08 +00:00
Peter Eisentraut
29a20145fd Pass session_authorization to the client and make psql update its prompt
accordingly.
2003-09-03 22:05:09 +00:00
Bruce Momjian
4928856fc4 Mark unixware as verified. 2003-09-03 20:54:21 +00:00
Bruce Momjian
e57c9fa6b8 Add Unixware as verified. 2003-09-03 20:51:40 +00:00
Bruce Momjian
47e6609c54 Mark BSD/OS as verified not needing reentrant function names. 2003-09-03 19:40:56 +00:00
Bruce Momjian
2310dd3af2 Add reporting of specificy threading failure functions. 2003-09-03 19:36:31 +00:00
Bruce Momjian
4cc247f74b Add test for thread-safeness of libc functions. 2003-09-03 19:30:31 +00:00
Bruce Momjian
c351729e1e Mark Unixware as not requiring *_r functions. 2003-09-03 17:55:43 +00:00
Tom Lane
b96e32ebf8 Work around ENOTEMPTY being an alias for EEXIST on some platforms. 2003-09-03 15:49:42 +00:00
Tom Lane
5840b89373 Repair problems with to_char() overrunning its input string.
From Karel Zak.
2003-09-03 14:59:41 +00:00
Tom Lane
5ac2d7c0eb In _bt_check_unique() loop, don't bother applying _bt_isequal() to
killed items; just skip to the next item immediately.  Only check for
key equality when we reach a non-killed item or the end of the index
page.  This saves key comparisons when there are lots of killed items,
as for example in a heavily-updated table that's not been vacuumed lately.
Seems to be a win for pgbench anyway.
2003-09-02 22:10:16 +00:00
Peter Eisentraut
30b4abf5d0 Remove outdated CLI things. 2003-09-02 21:45:37 +00:00
Tom Lane
b916cc435a Cause standalone backend (including bootstrap case) to read the GUC
config file if it exists.  This was already discussed as being a good
idea, and now seems the cleanest way to deal with initdb-time failures
on machines with small SHMMAX.  (The submitted patches instead modified
initdb.sh to pass the correct sizing parameters, but that would still
leave standalone backends prone to failure later.  An admin who needs
to use a standalone backend has enough trouble already, he shouldn't
have to manually configure its shmem settings...)
2003-09-02 19:04:12 +00:00
Tom Lane
d70610c4ee Several fixes for hash indexes that involve changing the on-disk index
layout; therefore, this change forces REINDEX of hash indexes (though
not a full initdb).  Widen hashm_ntuples to double so that hash space
management doesn't get confused by more than 4G entries; enlarge the
allowed number of free-space-bitmap pages; replace the useless bshift
field with a useful bmshift field; eliminate 4 bytes of wasted space
in the per-page special area.
2003-09-02 18:13:32 +00:00
Tom Lane
8b2450c831 Fix a couple typos, add some more comments. 2003-09-02 03:29:01 +00:00
Tom Lane
39673ca47b Rewrite hashbulkdelete() to make it amenable to new bucket locking
scheme.  A pleasant side effect is that it is *much* faster when deleting
a large fraction of the indexed tuples, because of elimination of
redundant hash_step activity induced by hash_adjscans.  Various other
continuing code cleanup.
2003-09-02 02:18:38 +00:00
Peter Eisentraut
5f65345a57 Do not pass server_encoding to the client.
libpq, talking to an old server, should assume SQL_ASCII as the default
client encoding, because that is what the server will actually use (not
the server encoding).
2003-09-01 23:04:49 +00:00
Peter Eisentraut
f10a9033bf Clean up after pygresql removal: adjust/remove documentation and remove
unneeded configure work.
2003-09-01 23:01:49 +00:00
Tom Lane
65c2d427fb Preliminary cleanup for hash index code (doesn't attack the locking problem
yet).  Fix a couple of bugs that would only appear if multiple bitmap pages
are used, including a buffer reference leak and incorrect computation of bit
indexes.  Get rid of 'overflow address' concept, which accomplished nothing
except obfuscating the code and creating a risk of failure due to limited
range of offset field.  Rename some misleadingly-named fields and routines,
and improve documentation.
2003-09-01 20:26:34 +00:00
Tom Lane
eaeb8621f8 Add some internals documentation for hash indexes, including an
explanation of the remarkably confusing page addressing scheme.
The file also includes my planned-but-not-yet-implemented revision
of the hash index locking scheme.
2003-09-01 20:24:49 +00:00
Michael Meskes
05f4b03b23 Fixed two bugs in pgtypes library. 2003-09-01 12:37:40 +00:00
Bruce Momjian
11c2f1900a Rename DoIt to changeVar, for clarity. 2003-09-01 04:15:51 +00:00
Peter Eisentraut
defc7a972d Translation update 2003-08-31 17:38:06 +00:00
Bruce Momjian
5a288903b9 Guard against pgindent changing =- to = -. 2003-08-30 14:59:34 +00:00
Bruce Momjian
ceacae7734 Fix unixware template --- had spaces around equals. 2003-08-30 03:19:47 +00:00
Tom Lane
209a8d63df pg_dump and pg_restore -r had managed to diverge on the ordering of
different object types.  Fix, and centralize logic to try to prevent
the same mistake in future.
2003-08-28 20:21:34 +00:00
Tom Lane
80bc61c849 Ensure that FK constraints are dumped after primary/unique constraints,
rather than relying on OID order of pg_constraint entries.  Per gripe
from Greg Stark.
2003-08-28 18:59:06 +00:00
Tom Lane
ce2ab4131a Fix stupid typo (mine I suppose) in CopyGetData. Per report from Dave Cramer. 2003-08-28 13:52:34 +00:00
Tom Lane
d1031cdef2 Adjust date/time input parsing code to correctly distinguish the four
SQLSTATE error codes required by SQL99 (invalid format, datetime field
overflow, interval field overflow, invalid time zone displacement value).
Also emit a HINT about DateStyle in cases where it seems appropriate.
Per recent gripes.
2003-08-27 23:29:29 +00:00
Tom Lane
64a32f9df8 Department of second thoughts: can't reorder merge-join clauses. 2003-08-27 12:44:12 +00:00
Peter Eisentraut
f2c2943aae Share PG_DIAG_* macros between client and server and use them internally. 2003-08-27 00:33:34 +00:00
Tom Lane
73e3edf2e6 Push subplan clauses to the back in qual lists for join plans, not
only scan plans.  Per observation from Rod Taylor.
2003-08-26 22:56:51 +00:00
Bruce Momjian
147c16497b Call it Linux, not GNU/Linux. 2003-08-26 21:31:11 +00:00
Tom Lane
1de9615a58 Use separate SQLSTATE codes for file not found/file exists, rather than
lumping them into ERRCODE_UNDEFINED_OBJECT/ERRCODE_DUPLICATE_OBJECT.
This seems reasonable since 'object' was meant to refer to 'object in the
database' and a file is outside the database.  Per request from Dave
Cramer.
2003-08-26 21:15:27 +00:00
Bruce Momjian
0b511f07e3 psql's HISTSIZE from .psqlrc do not want to be set so I did it for psql
that HISTSIZE might take effect from my .psqlrc

Andriy Tkachuk
2003-08-26 18:35:31 +00:00
Bruce Momjian
1e100176c4 This patch adds a new regression test for the UPDATE command. Right
now all that is tested is Rod Taylor's recent addition to allow
this syntax:

    UPDATE ... SET <col> = DEFAULT;

If anyone else would like to add more UPDATE tests, go ahead --
I just wanted to write a test for the above functionality, and
couldn't see an existing test that it would be appropriate
to add to.

Neil Conway
2003-08-26 18:32:23 +00:00
Michael Meskes
47a4e2ed1c Fixed connect statement with username in variable. 2003-08-26 16:09:02 +00:00
Bruce Momjian
cd0f42e87c Attached is a (very small) patch to make analyze display some
interesting info in verbose mode about the analyzed relation (pages,
rows per block and rows).

Mark Kirkwood
2003-08-26 15:38:42 +00:00
Tom Lane
f63cbccac7 Mop-up for previous change to determine default shared_buffers and
max_connections at initdb time.  Get rid of DEF_NBUFFERS and DEF_MAXBACKENDS
macros, which aren't doing anything useful anymore, and put more likely
defaults into postgresql.conf.sample.
2003-08-26 15:38:25 +00:00
Barry Lind
06bbd98a15 Attempt to fix setMaxFieldSize() logic that was checked in yesterday.
I think this should fix the problem, but since I don't have a reproducable test
case, I can't be sure.  This problem is reported by Kim Ho of redhat, who will
test this fix.  This also includes a test case for the original functionality.

 Modified Files:
 	jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
 	jdbc/org/postgresql/test/jdbc2/ResultSetTest.java
2003-08-26 06:50:39 +00:00
Tom Lane
3e51c1553c Add the Brazilian time zone abbreviations BRT, BRST, FNT, FNST.
ACT and ACST were already present.  AMT and AMST conflict with the
existing entries for Armenia; no change there for the moment.
2003-08-25 23:30:27 +00:00
Tom Lane
412c57b15f Allow parsing of time and timetz inputs to accept the documented input
syntax '040506' for '04:05:06', as well as '0405' for '04:05:00'.  This
has been broken since 7.2 but was only recently complained of.
2003-08-25 22:47:34 +00:00
Peter Eisentraut
3b87c1f8b6 Translation updates 2003-08-25 21:29:53 +00:00
Tom Lane
a17f2d76cc Refactor code so that to_date() does not call to_timestamp() and then
perform a timestamp-to-date coercion.  Instead both routines share a
subroutine that delivers the parsing result as a struct tm.  This avoids
problems with timezone dependency of to_date's result, and should be
at least marginally faster too.
2003-08-25 16:13:27 +00:00
Michael Meskes
4b02f3c4eb Synced parser and fixed a bug in error output to log file. 2003-08-25 13:44:00 +00:00
Bruce Momjian
f3dda96452 Fix unixware thread test. 2003-08-25 02:48:25 +00:00
Tatsuo Ishii
0c9f978c0c Fix GB18030 to UTF-8 mapping table 2003-08-25 01:46:16 +00:00
Bruce Momjian
eb4dded09e Add quotes to += of unixware threads define. 2003-08-24 23:21:05 +00:00
Barry Lind
2495365df1 Applied patches from Oliver Jowett to fix the following bugs:
- adds a finalizer method to AbstractJdbc1Statement to clean up in the case of
   poor user code which fails to close the statement object
 - fix ant build file to correctly detect dependencies across jdbc1/jdbc2/jdbc3
 - fix a coupld of server prepared statement bugs and added regression test for
   them
Applied patch from Kim Ho:
 - adds support for get/setMaxFieldSize().
Also fixed build.xml to provide a better error message in the event that an
older version of the driver exists in the classpath when trying to build.
2003-08-24 22:10:09 +00:00
Peter Eisentraut
478bb0268f Fix translation mistake. 2003-08-24 21:26:34 +00:00
Peter Eisentraut
903fe8fc6f Translation updates 2003-08-24 21:18:53 +00:00
Peter Eisentraut
693aad413b Change warnings for non-existing or pre-existing cursors to errors. 2003-08-24 21:02:43 +00:00
Peter Eisentraut
c3664c0c00 Add macros for error result fields to libpq. 2003-08-24 18:36:38 +00:00
Tatsuo Ishii
b4ab39ff05 Fix GB18030 to UTF-8 mapping table 2003-08-24 05:18:04 +00:00
Peter Eisentraut
200b7d11af Fix uninstall target. 2003-08-23 04:22:34 +00:00
Peter Eisentraut
588970c399 Correct uninstall target. 2003-08-23 04:21:59 +00:00
Tom Lane
29a43f398a Tweak grammar to use FastAppend rather than lappend when constructing
expr_lists.  This appears to be the only remaining O(N^2) bottleneck
in processing many-way 'x IN (a,b,c,...)' conditions.
2003-08-22 20:34:33 +00:00
Tom Lane
92ee2528d8 Tweak processing of multiple-index-scan plans to reduce overhead when
handling many-way scans: instead of re-evaluating all prior indexscan
quals to see if a tuple has been fetched more than once, use a hash table
indexed by tuple CTID.  But fall back to the old way if the hash table
grows to exceed SortMem.
2003-08-22 20:26:43 +00:00
Peter Eisentraut
ef38ca9b3d Translation updates 2003-08-20 21:10:01 +00:00
Tom Lane
80860c32d9 Improve dynahash.c's API so that caller can specify the comparison function
as well as the hash function (formerly the comparison function was hardwired
as memcmp()).  This makes it possible to eliminate the special-purpose
hashtable management code in execGrouping.c in favor of using dynahash to
manage tuple hashtables; which is a win because dynahash knows how to expand
a hashtable when the original size estimate was too small, whereas the
special-purpose code was too stupid to do that.  (See recent gripe from
Stephan Szabo about poor performance when hash table size estimate is way
off.)  Free side benefit: when using string_hash, the default comparison
function is now strncmp() instead of memcmp().  This should eliminate some
part of the overhead associated with larger NAMEDATALEN values.
2003-08-19 01:13:41 +00:00
Tom Lane
23e10843db When compiling a plpgsql trigger function, include the OID of the table
the trigger is attached to in the hashkey.  This ensures that we will
create separate compiled trees for each table the trigger is used with,
avoiding possible datatype-mismatch problems if the tables have different
rowtypes.  This is essentially the same bug recently identified in plpython
--- though plpgsql doesn't seem as prone to crash when the rowtype changes
underneath it.  But failing robustly is no substitute for just working.
2003-08-18 19:16:02 +00:00
Tom Lane
e945246321 Fix ARRAY[] construct so that in multidimensional case, elements can
be anything yielding an array of the proper kind, not only sub-ARRAY[]
constructs; do subscript checking at runtime not parse time.  Also,
adjust array_cat to make array || array comply with the SQL99 spec.

Joe Conway
2003-08-17 23:43:27 +00:00
Tom Lane
de9c553f6b Clean up locktable init code per recent gripe from Kurt Roeckx.
No change in behavior, but old code would have failed to detect
overrun of MAX_LOCKMODES.
2003-08-17 22:41:12 +00:00
Tom Lane
c771838106 Somebody forgot to include any actual documentation for ADD_MISSING_FROM. 2003-08-17 22:19:15 +00:00
Tom Lane
ec646dbc65 Create a 'type cache' that keeps track of the data needed for any particular
datatype by array_eq and array_cmp; use this to solve problems with memory
leaks in array indexing support.  The parser's equality_oper and ordering_oper
routines also use the cache.  Change the operator search algorithms to look
for appropriate btree or hash index opclasses, instead of assuming operators
named '<' or '=' have the right semantics.  (ORDER BY ASC/DESC now also look
at opclasses, instead of assuming '<' and '>' are the right things.)  Add
several more index opclasses so that there is no regression in functionality
for base datatypes.  initdb forced due to catalog additions.
2003-08-17 19:58:06 +00:00
Bruce Momjian
d4be99f63d (I always forget what the magic numbers 0 through 2 means for the
"syslog" option.)

By the way: The "virtual_host" parameter is a bad name for that
particular option, I think. "Virtual host" signals that PostgreSQL will
behave differently according to which IP address it's contacted (like
Apache's virtual host support which makes the web-server serve different
sites according to different criteria). A better word for the options
would be "tcpip_listen_addr" or something like that.

Troels Arvin
2003-08-17 03:17:22 +00:00
Bruce Momjian
4369432405 Not needed, already in CVS. 2003-08-17 00:14:13 +00:00
Bruce Momjian
bfeabcc84f Add description of error style. 2003-08-16 23:53:54 +00:00
Bruce Momjian
edc999b09a Make NEED_REENTRANT_FUNC_NAMES _require_ *_r functions, and add tests to
configure to report if they are not found.
2003-08-16 15:35:51 +00:00
Barry Lind
dcfa89537a Updated the blob regression test to actually use the getBlob/getClob methods
and test them, in addition to testing the underlying LargeObject API methods.

 Modified Files:
 	jdbc/build.xml jdbc/org/postgresql/test/jdbc2/BlobTest.java
2003-08-15 18:45:11 +00:00
Barry Lind
5cad6813fb Fixed improper message length for the connection termination message 'X' when
using the V3 protocol.

 Modified Files:
 	jdbc1/AbstractJdbc1Connection.java
2003-08-15 18:36:58 +00:00
Tom Lane
432ca9116b Rewrite array_cmp to not depend on deconstruct_array. Should be a little
faster, but more importantly does not leak memory.  Still needs more work
though, per my recent note to pgsql-hackers.
2003-08-15 00:22:26 +00:00
Bruce Momjian
b72c1b9f63 Adjustment for unixware threading. 2003-08-14 21:24:38 +00:00
Bruce Momjian
bb0b73cd73 Mark unixware as having threaded support. 2003-08-14 21:14:17 +00:00
Tom Lane
4529d2cf27 Add missing quotes. 2003-08-14 18:56:41 +00:00
Tom Lane
80cedf9ba0 Someone moved PageOutput here from common.c, but forgot to move all
the #includes it depends on.
2003-08-14 18:49:42 +00:00
Tom Lane
dbb4dd29e9 Remove unnecessary #include's (see c.h). 2003-08-14 18:48:35 +00:00
Tom Lane
71b0fe5b2e Workaround for platforms that have getaddrinfo() without AI_NUMERICHOST.
We don't actually need the flag, so just #define it as zero in such cases.
2003-08-14 18:32:55 +00:00
Tom Lane
2b5f049f7c Handle double-quotes correctly in user names in ACL lists.
Christopher Kings-Lynne
2003-08-14 14:19:11 +00:00
Bruce Momjian
8e97f45f88 Document threading status.
Update to POSIX getpwuid_r() function.
2003-08-14 05:27:18 +00:00
Bruce Momjian
a4a31d3967 Adjust for compiler options for compiler bug.
Larry Rosenman
2003-08-13 23:59:49 +00:00
Tom Lane
c01641f8ae libpq failed to cope with COPY FROM STDIN if the command was issued
via extended query protocol, because it sends Sync right after Execute
without realizing that the command to be executed is COPY.  There seems
to be no reasonable way for it to realize that, either, so the best fix
seems to be to make the backend ignore Sync during copy-in mode.  Bit of
a wart on the protocol, but little alternative.  Also, libpq must send
another Sync after terminating the COPY, if the command was issued via
Execute.
2003-08-13 18:56:21 +00:00
Tom Lane
0be731ad44 Add PQexecPrepared() and PQsendQueryPrepared() functions, to allow
libpq users to perform Bind/Execute of previously prepared statements.
Per yesterday's discussion, this offers enough performance improvement
to justify bending the 'no new features during beta' rule.
2003-08-13 16:29:03 +00:00
Tom Lane
5be44fa453 Move MemoryContextCheck() call from bottom of PostgresMain loop to
just before CommitTransactionCommand().  This is a more sensible place
to put it since commit discards a lot of contexts, and we'd not find
out about stomps affecting only transaction-local contexts.
2003-08-13 16:16:23 +00:00
Bruce Momjian
c090b053fe I'm quite fond of doing VPATH builds, i.e. building outside the source
tree. This also catches lots of little Makefile bugs, so here's a small
patch for one of them (replacing an explicit reference to thread.c with
a reference to it as the first prerequsite of the rule makes make look
for it in the place where it was found (the source tree) rather than in
the build tree. (using GNU make 3.79.1)

John Gray
2003-08-13 03:12:04 +00:00
Tom Lane
9234591071 Include 'IPv4', 'IPv6', or 'Unix' in socket-creation failure messages,
in hopes of soothing fears of those with partial IPv6 support.  Still an
open question whether we should report EAFNOSUPPORT errors at all,
though.
2003-08-12 22:42:01 +00:00
Tom Lane
90ade5b775 Cope with NoData message from backend. Needed for case where
PQexecParams is used with a statement that doesn't return data.
2003-08-12 21:34:44 +00:00
Tom Lane
b6e5823eda Marginal hacks to move some processing out of the per-client-message
processing loop; avoids extra overhead when using parse/bind/execute
messages instead of single Query message.
2003-08-12 18:52:38 +00:00
Tom Lane
fcb90fdc95 Change some frequently-reached elog(DEBUG...) calls to ereport(DEBUG...)
for speed reasons.  (ereport falls out much more quickly when no output
is needed than elog does.)
2003-08-12 18:23:21 +00:00
Tom Lane
1c6702f6fc Avoid unnecessary work when stats collection is disabled. Tighten
search loop in pgstat_initstats.  Per report from Gavin Sherry.
2003-08-12 16:21:18 +00:00
Barry Lind
e3d97d7da2 Applied patch from Oliver Jowett to clean up the jdbc regression test build
Modified Files:
 	jdbc/build.xml
 	jdbc/org/postgresql/test/jdbc3/Jdbc3TestSuite.java
2003-08-11 23:42:04 +00:00