Commit Graph

7524 Commits

Author SHA1 Message Date
Tom Lane ff6012e275 Reverse #if test to be defined(__osf__) rather than not-any-of-a-lot-
of-others.
2000-12-31 18:04:35 +00:00
Peter Eisentraut 3b2b7eb19e Remove incorrect use of rl_special_prefixes until further evaluation. 2000-12-31 11:57:58 +00:00
Tom Lane fada8ee41f NetBSD/Alpha porting fixes from tom@minnesota.com. 2000-12-31 03:34:01 +00:00
Tom Lane 4723b2b99b Be more careful about the difference between signed and unsigned ints.
Bug is revealed by OID regress test on 64-bit platforms.
2000-12-30 19:17:47 +00:00
Peter Eisentraut 74e2bf95ec Remove C++ comment. 2000-12-30 16:48:49 +00:00
Vadim B. Mikheev 3e059b3802 1. WAL needs in zero-ed content of newly initialized page.
2. Log record for PageRepaireFragmentation now keeps array
   of !LP_USED offnums to redo cleanup properly.
2000-12-30 15:19:57 +00:00
Peter Eisentraut 874b4fd618 Remove incorrect assert. 2000-12-30 14:47:06 +00:00
Vadim B. Mikheev c193f19a39 Fixed misprint in heap update WALoging. 2000-12-30 06:52:34 +00:00
Tatsuo Ishii c0f9597b31 Imporve messages. 2000-12-30 06:10:43 +00:00
Tom Lane ee6a91682d Apparently, special float8 comparison file for Alpha is only needed
when using vendor cc, not gcc.
2000-12-30 02:48:04 +00:00
Tom Lane f83b221598 Clean up spinlock assembly code slightly (just cosmetic improvements)
for Alpha gcc case.  For Alpha non-gcc case, replace use of
__INTERLOCKED_TESTBITSS_QUAD builtin with __LOCK_LONG_RETRY and
__UNLOCK_LONG.  The former does not execute an MB instruction and
therefore was guaranteed not to work on multiprocessor machines.
The LOCK_LONG builtins produce code that is the same in all essential
details as the gcc assembler code.
2000-12-30 02:34:56 +00:00
Tom Lane c23851bbe0 Paranoia about possible values of errno after a shmget/semget failure.
In theory we should always get EEXIST if there's a key collision, but
if the kernel code tests error conditions in a weird order, perhaps
EACCES or EIDRM could occur too.
2000-12-30 01:20:55 +00:00
Tom Lane 2153d1c106 Remove obsolete and unportable enable_plpgsql script. createlang has
been the supported and documented way to do this for a long time...
2000-12-30 00:50:44 +00:00
Peter Eisentraut ab432f204a Fix unportable use of '!' in shell commands. 2000-12-30 00:24:09 +00:00
Tom Lane aa44078e21 column and tuple numbers should be int not size_t. 2000-12-29 22:46:37 +00:00
Tom Lane 7f60b81e1a Fix failure in CreateCheckPoint on some Alpha boxes --- it's not OK to
assume that TAS() will always succeed the first time, even if the lock
is known to be free.  Also, make sure that code will eventually time out
and report a stuck spinlock, rather than looping forever.  Small cleanups
in s_lock.h, too.
2000-12-29 21:31:21 +00:00
Vadim B. Mikheev 7d363c4c33 MUST update (in-memory) data page BEFORE XLogInsert to log
NEW page content if WAL will decide to backup page.
2000-12-29 20:47:17 +00:00
Tom Lane b05b981924 stamp-h needs to be made by config.status, not elsewhere, per recipe in
Autoconf manual.  In particular, touching it before creating config.status
is guaranteed to lose.
2000-12-29 20:39:09 +00:00
Vadim B. Mikheev b3c4f03c9c nbtree_xlog_newroot: set meta flag in meta page opaque. 2000-12-29 08:08:59 +00:00
Bruce Momjian 49740c5fb9 Attached are patches for two fixes to reduce memory usage by the JDBC
drivers.

The first fix fixes the PreparedStatement object to not allocate
unnecessary objects when converting native types to Stings.  The old
code used the following format:
        (new Integer(x)).toString()
whereas this can more efficiently be occompilshed by:
        Integer.toString(x);
avoiding the unnecessary object creation.

The second fix is to release some resources on the close() of a
ResultSet.  Currently the close() method on ResultSet is a noop.  The
purpose of the close() method is to release resources when the ResultSet
is no longer needed.  The fix is to free the tuples cached by the
ResultSet when it is closed (by clearing out the Vector object that
stores the tuples).  This is important for my application, as I have a
cache of Statement objects that I reuse.  Since the Statement object
maintains a reference to the ResultSet and the ResultSet kept references
to the old tuples, my cache was holding on to a lot of memory.

Barry Lind
2000-12-28 23:56:46 +00:00
Vadim B. Mikheev 7ceeeb662f New WAL version - CRC and data blocks backup. 2000-12-28 13:00:29 +00:00
Tom Lane c996c7f573 Let's try this again on accepting the correct range of Oid input values
for 64-bit platforms ...
2000-12-28 01:51:15 +00:00
Tom Lane 8609d4abf2 Fix portability problems recently exposed by regression tests on Alphas.
1. Distinguish cases where a Datum representing a tuple datatype is an OID
from cases where it is a pointer to TupleTableSlot, and make sure we use
the right typlen in each case.
2. Make fetchatt() and related code support 8-byte by-value datatypes on
machines where Datum is 8 bytes.  Centralize knowledge of the available
by-value datatype sizes in two macros in tupmacs.h, so that this will be
easier if we ever have to do it again.
2000-12-27 23:59:14 +00:00
Tom Lane e58badfbe7 Improve comments. 2000-12-23 19:55:16 +00:00
Tom Lane 7df721af0e Compute reasonable cost and output-row-count estimates for LIMIT plan
nodes.
2000-12-23 18:49:41 +00:00
Tom Lane a412749812 Replace overly-cute coding with code that (a) has defined behavior
according to the ANSI C spec, (b) gets the boundary conditions right,
and (c) is about a third as long and three times more intelligible.
2000-12-23 04:05:31 +00:00
Tom Lane 90f42847b5 Small cleanup of temp-table handling. Disallow creation of a non-temp
table that inherits from a temp table.  Make sure the right things happen
if one creates a temp table, creates another temp that inherits from it,
then renames the first one.  (Previously, system would end up trying to
delete the temp tables in the wrong order.)
2000-12-22 23:12:07 +00:00
Tom Lane 0db1a951d5 Repair not-too-well-thought-out code to do rangechecking of OIDs on
64-bit machines.  Also, make oidvectorin use the same code as oidin.
2000-12-22 21:36:09 +00:00
Vadim B. Mikheev 369aace5f3 Avoid XLogFlush for clean buffers in BufferSync. 2000-12-22 20:04:43 +00:00
Tom Lane 046848c272 Improve error message for case where DROP TABLE is rejected because
table has a child table.
2000-12-22 19:21:37 +00:00
Tom Lane 04b31609b6 Add 'ONLY' to queries generated by RI triggers, so as to preserve pre-7.1
semantics of RI operations.  Eventually we ought to look at making RI
work properly across inheritance trees, but not for 7.1 ...
2000-12-22 18:35:09 +00:00
Tom Lane 61784c54b5 Change default output formatting for CIDR to be unabbreviated, per
recommendation from Paul Vixie.  Add a new abbrev() function to produce
abbreviated format as text.  No forced initdb, but new function is not
available unless you do an initdb or add the pg_proc row manually.
2000-12-22 18:00:24 +00:00
Michael Meskes 13b78a2400 - Fixed bug in a connect statement using varchars.
- Synced parser.
2000-12-22 12:43:14 +00:00
Tatsuo Ishii 1deb6e7d41 Fix PQsetdbLogin() backward compatibility problem.
If pghost == "" and pgport == "" then PQsetdbLogin() fails with a
error message:

 Is the postmaster running locally
        and accepting connections on Unix socket '/tmp/.s.PGSQL.0'?

I see many applications such as PHP fails due to this behavior.
Now if pgport == "", then it is assumed to be a DEF_PGPORT_STR. This
is the same behavior as the version prior 7.1.
2000-12-22 07:59:32 +00:00
Tom Lane 317215fc55 Clean up CREATE TYPE/OPERATOR/AGGREGATE productions, so that parser
will not accept types named with operator names or vice versa.
2000-12-22 07:07:58 +00:00
Bruce Momjian 4ce226eeb7 In looking at the 7.1beta1 code for JDBC, I noticed that support was
added to support character set encodings.  However I noticed that the
encoding that is used isn't obtained from the DB.  Since Java uses
unicode UCS2 internally the character set encoding is used to translate
strings from/to the DB encoding.  So it seems logical that the code
would get the encoding from the DB instead of the current method of
requiring the user pass it as a parameter.

Attached is a patch that gets the DB encoding from the DB in the same
manner as is done in libpq/fe-connect.c.  The patch is created off of
the latest CVS sources (Connection.java version 1.10).

Barry Lind
2000-12-22 03:08:52 +00:00
Tom Lane 6cc842abd3 Revise lock manager to support "session level" locks as well as "transaction
level" locks.  A session lock is not released at transaction commit (but it
is released on transaction abort, to ensure recovery after an elog(ERROR)).
In VACUUM, use a session lock to protect the master table while vacuuming a
TOAST table, so that the TOAST table can be done in an independent
transaction.

I also took this opportunity to do some cleanup and renaming in the lock
code.  The previously noted bug in ProcLockWakeup, that it couldn't wake up
any waiters beyond the first non-wakeable waiter, is now fixed.  Also found
a previously unknown bug of the same kind (failure to scan all members of
a lock queue in some cases) in DeadLockCheck.  This might have led to failure
to detect a deadlock condition, resulting in indefinite waits, but it's
difficult to characterize the conditions required to trigger a failure.
2000-12-22 00:51:54 +00:00
Peter Eisentraut d7b161031d Repair round(numeric) function. An initdb would be required to get the
fixed version, otherwise you'll continue to encounter breakage.
2000-12-21 20:48:16 +00:00
Tom Lane 0e952cdb90 Fix longstanding bug with VIEW using BETWEEN: OffsetVarNodes would get
applied to the duplicated subtree twice.  Probably someday we should
fix the parser not to generate multiple links to the same subtree,
but for now a quick copyObject() is the path of least resistance.
2000-12-21 17:36:15 +00:00
Tom Lane e6e9e18e9e Remove multi.c and single.c, which have been dead code for
over two years.
2000-12-20 22:54:02 +00:00
Tom Lane 39b547f430 Prevent freshly-started backend from ignoring SIGUSR1, per race condition
observed by Inoue.  Also, don't call ProcRemove() from postmaster if we
have detected a backend crash --- too risky if shared memory is corrupted.
It's not needed anyway, considering we are going to reinitialize shared
memory and semaphores as soon as the last child is dead.
2000-12-20 21:51:52 +00:00
Peter Mount 751959436c Finished build.xml and updated Driver.java.in and buildDriver to match how Makefile and ANT operate. 2000-12-20 16:22:49 +00:00
Peter Eisentraut 28e9e9a24e Rename --accounts-only to --globals-only, polish documentation. 2000-12-19 22:12:47 +00:00
Peter Eisentraut f824d4a363 Polish PL/Perl documentation. The README file got shrunk to being a
pointer into the real documentation.
2000-12-19 18:16:26 +00:00
Peter Eisentraut 109cdbb4f7 Remove inclusions of <malloc.h>. 2000-12-19 17:52:27 +00:00
Peter Mount 42d26fb9f7 Finally created ant build.xml file 2000-12-19 17:33:39 +00:00
Bruce Momjian 1f159e562b >> Here is a patch for the beos port (All regression tests are OK).
>>     xlog.c : special case for beos to avoid 'link' which does not work yet
>>     beos/sem.c : implementation of new sem_ctl call (GETPID) and a new
>sem_op
>> flag (IPCNOWAIT)
>>     dynloader/beos.c : add a verification of symbol validity (seem that
the
>> loader sometime return OK with an invalid symbol)
>>     postmaster.c :  add beos forking support for the new checkpoint
process
>>     postgres.c : remove beos special case for getrusage
>>     beos.h : Correction of a bas definition of AF_UNIX, misc defnitions
>>
>>
>>     thanks
>>
>>
>>             cyril

Cyril VELTER
2000-12-18 18:45:05 +00:00
Tom Lane 5491233f52 Ensure that 'errno' is saved and restored by all signal handlers that
might change it.  Experimentation shows that the signal handler call
mechanism does not save/restore errno for you, at least not on Linux
or HPUX, so this is definitely a real risk.
2000-12-18 17:33:42 +00:00
Bruce Momjian c431db9714 Updates for 7.1 branding. 2000-12-18 16:30:07 +00:00
Michael Meskes 77145ac824 - Synced gram.y and preproc.y.
- Synced keyword.c.
        - Added several small patches from Christof.
2000-12-18 11:33:55 +00:00
Tom Lane 97cfb9d606 Make sure make_rels_by_clause_joins doesn't return multiple references
to same joinrel.  Although make_rels_by_joins doesn't mind, GEQO has
an Assert that doesn't like this.
2000-12-18 06:50:51 +00:00
Tom Lane c77e2e42fb Tweak regressplans.sh to use any already-set PGOPTIONS. 2000-12-18 02:45:47 +00:00
Tom Lane 42d5e34e77 Repair mishandling of PRIMARY KEY declaration that references an
inherited column, per bug report from Elphick 12/15/00.
2000-12-18 01:37:56 +00:00
Tom Lane a626b78c89 Clean up backend-exit-time cleanup behavior. Use on_shmem_exit callbacks
to ensure that we have released buffer refcounts and so forth, rather than
putting ad-hoc operations before (some of the calls to) proc_exit.  Add
commentary to discourage future hackers from repeating that mistake.
2000-12-18 00:44:50 +00:00
Tom Lane cfa4d4d040 Tweak select_common_type() to deal with possibility of multiple preferred
types in a category --- it was taking the last preferred type among the
inputs, rather than the first one as intended.
2000-12-17 04:32:29 +00:00
Peter Eisentraut 9cf0a82fc3 Fix linker options for ODBC driver. See comment in
src/interfaces/odbc/GNUmakefile.
2000-12-16 18:14:25 +00:00
Peter Eisentraut 2a81896a2a Fix rules to re-generate config.h. The examples in the Autoconf manual are
flawed because the timestamp file is already updated when Makefile.global
is remade, and the rule for config.h never gets run.
2000-12-16 13:03:25 +00:00
Bruce Momjian 85934d1bdb Remove current->old mapping. 2000-12-15 23:36:20 +00:00
Bruce Momjian 23bd779176 Change ET_WARN to ET_NOTICE to match internal codes, leave message as
WARNING.  Fix German FAQ mention about warning.
2000-12-15 20:01:55 +00:00
Tom Lane 7d6af50f43 Make algorithm for resolving UNKNOWN function/operator inputs be
insensitive to the order of arguments.  Per pghackers discussion 12/10/00.
2000-12-15 19:22:03 +00:00
Bruce Momjian ff783fbae0 here is a patch fixing today's bug report:
> Date: Thu, 14 Dec 2000 12:44:47 +0100 (CET)
> From: Kovacs Zoltan Sandor <tip@pc10.radnoti-szeged.sulinet.hu>
> To: pgsql-bugs@postgresql.org
> Subject: [BUGS] to_char() causes backend to close connection
>
> Hi, this query gives different strange results:
>
> select to_char(now()::abstime,'YYMMDDHH24MI');
>
> I get e.g. a "backend closed the channel unexpectedly..." error with
> successful or failed resetting attempt (indeterministic)

 Again thanks Kovacs, you found really designing bug, that appear
if anyone write bad format template to "number" version of to_char()
(as you with 'DD').

                                        Karel
2000-12-15 19:15:09 +00:00
Bruce Momjian 0cf37659c4 there is one problem with Zoltan patches commited into the tree:
if we set autocommit off and issued COMMIT (or ROLLBACK) on a connection
new transaction is not started

Max Khon
2000-12-15 19:11:28 +00:00
Peter Eisentraut 326fbd8837 List .o file explicitly as dependency, to work around a gmake bug
(intermediate .o file gets deleted and rebuild on next make invocation).
2000-12-15 18:50:35 +00:00
Tom Lane b260c18cbc Remove obsolete comment. 2000-12-15 18:02:47 +00:00
Peter Eisentraut 207f6ed3f1 Print the error message before attempting to reset the connection after a
backend crash.
2000-12-15 17:54:43 +00:00
Tom Lane 352cd1f1c5 Remove a few remaining vestiges of elog(WARN). 2000-12-15 04:08:15 +00:00
Jan Wieck 4ea746a84f Bugfix
Trying to connect to template0 left a global referenced buffer
because the scan of pg_database wasn't ended properly before
elog(FATAL).

Jan
2000-12-14 23:51:35 +00:00
Tom Lane ea166f1146 Planner speedup hacking. Avoid saving useless pathkeys, so that path
comparison does not consider paths different when they differ only in
uninteresting aspects of sort order.  (We had a special case of this
consideration for indexscans already, but generalize it to apply to
ordered join paths too.)  Be stricter about what is a canonical pathkey
to allow faster pathkey comparison.  Cache canonical pathkeys and
dispersion stats for left and right sides of a RestrictInfo's clause,
to avoid repeated computation.  Total speedup will depend on number of
tables in a query, but I see about 4x speedup of planning phase for
a sample seven-table query.
2000-12-14 22:30:45 +00:00
Hiroshi Inoue db11f4382a Make sure to not handle deactivated system indexes 2000-12-14 07:02:42 +00:00
Tom Lane 468a970409 Change StoreCatalogInheritance() to work from a list of parent relation
OIDs rather than names.  Aside from being simpler and faster, this way
doesn't blow up in the face of 'create temp table foo () inherits (foo)'.
Which is a rather odd thing to do, but it seems some people want to.
2000-12-14 00:41:09 +00:00
Tom Lane 780992316f Fix thinko for case of outer join where inner table is empty: should
output first outer tuple before advancing...
2000-12-13 23:45:46 +00:00
Tom Lane 17b843d677 Cache eval cost of qualification expressions in RestrictInfo nodes to
avoid repeated evaluations in cost_qual_eval().  This turns out to save
a useful fraction of planning time.  No change to external representation
of RestrictInfo --- although that node type doesn't appear in stored
rules anyway.
2000-12-12 23:33:34 +00:00
Vadim B. Mikheev 5bb4f723d2 Remove elog for online log files. 2000-12-11 19:27:42 +00:00
Bruce Momjian f01f08b8b5 Make all ODBCVER = 2.50 2000-12-11 19:06:11 +00:00
Tom Lane b9110b97d9 Allow resultmap file to be missing, for use in contrib self-tests. 2000-12-11 19:00:33 +00:00
Bruce Momjian 01b5efa5e3 Fix ODBC compile, prevent ODBCVER warning, though the version numbers go
not match.
2000-12-11 18:51:26 +00:00
Vadim B. Mikheev dae369d390 elog(LOG)-->elog(DEBUG) for skipped logs. 2000-12-11 18:02:25 +00:00
Tom Lane 70c5fdd2f6 Add Darwin-specific geometry test file. 2000-12-11 16:45:16 +00:00
Tom Lane 2cf8064af8 Tweak Darwin patch to get right include order. 2000-12-11 16:35:59 +00:00
Hiroshi Inoue 6ef0219c34 Resolve complie error(was my fault). 2000-12-11 09:14:03 +00:00
Hiroshi Inoue a8824ff257 *redo: Heap move* neglects to set t_cmin for MOVED_IN tuples. 2000-12-11 05:25:23 +00:00
Tatsuo Ishii d81fd94d40 Fix ILIKE bug (only in multi-byte case) 2000-12-11 05:00:18 +00:00
Tom Lane 41fe2a2a03 Darwin porting patches from Peter Bierman <bierman@apple.com> 2000-12-11 00:49:54 +00:00
Bruce Momjian 839de3c577 Here is patch to the ODBC driver to update the version to 2.5 and allow
all forms of foreign keys be exposed to SQLForeignKeys.  This patch is in
addition to the ones I mailed yesterday (forget had I changed that as
well....)

Michael Fork - CCNA - MCP - A+
Network Support - Toledo Internet Access - Toledo Ohio
2000-12-10 23:54:28 +00:00
Bruce Momjian f8abefe460 Here is a diff to info.c in interfaces/odbc that updates SQLForeignKeys to
return foreign key information based on the pg_trigger system table.  I
have tested the patch with (what I believe) is all possible
primary/foreign key combinations -- however I may have missed some, so if
anyone feels like taking the patch for a test drive, here are some useful
links:

Michael Fork
2000-12-10 22:59:10 +00:00
Peter Eisentraut c9b17d0815 Correct one description, add one. 2000-12-10 21:19:02 +00:00
Tom Lane 8fdd794d97 Portability fix from Ryan Kirkpatrick's Alpha patches. I believe this
is the only diff not accounted for by fmgr rewrite...
2000-12-09 20:40:57 +00:00
Tom Lane 228c1e74a7 Suppress compiler warnings. 2000-12-09 20:32:44 +00:00
Tatsuo Ishii cfe26c0fb1 Fix a bug in conversion from big5 to EUC_TW (CNS 11643-1992 Plane 3)
Thanks Chih-Chang Hsieh <cch@cc.kmu.edu.tw> for finding the bug.
2000-12-09 04:27:36 +00:00
Tom Lane 376784cf8a Repair erroneous use of hashvarlena() for MACADDR, which is not a
varlena type.  (I did not force initdb, but you won't see the fix
unless you do one.)  Also, make sure all index support operators and
functions are careful not to leak memory for toasted inputs; I had
missed some hash and rtree support ops on this point before.
2000-12-08 23:57:03 +00:00
Tom Lane fb47385fc8 Resurrect -F switch: it controls fsyncs again, though the fsyncs are
mostly just on the WAL logfile nowadays.  But if people want to disable
fsync for performance, why should we say no?
2000-12-08 22:21:33 +00:00
Tom Lane 90bdb64be8 Add missing copyright and RCS identification header. 2000-12-08 20:10:19 +00:00
Tom Lane b44e46cfce Remove error check that disallowed setval() on a sequence with cache
value greater than one.  The behavior this sought to disallow doesn't
seem any less confusing than the other behaviors of cached sequences.
Improve wording of some error messages, too.
Update documentation accordingly.  Also add an explanation that
aborted transactions do not roll back their nextval() calls; this
seems to be a FAQ, so it ought to be mentioned here...
2000-12-08 20:06:58 +00:00
Hiroshi Inoue ce1748406b Cache invalidation for vacuum of system tables. 2000-12-08 06:43:44 +00:00
Hiroshi Inoue d7892e0263 REINDEX under WAL. 2000-12-08 06:17:58 +00:00
Tom Lane 8d7c0851a3 Improve error message for erroneous use of 'opaque' as plperl argument
or return type.
2000-12-08 00:11:55 +00:00
Tom Lane 6e646c7313 Improve error message for erroneous use of 'opaque' as pltcl argument
or return type.
2000-12-08 00:09:07 +00:00
Tom Lane 74c14995f1 Improve error message for erroneous use of 'opaque' as plpgsql argument
or return type.
2000-12-08 00:03:02 +00:00
Tom Lane 2a7a75ee7e Change lpad() and rpad() to behave more Oracle-compatibly when target
length is less than original string length.
2000-12-07 23:22:56 +00:00
Peter Eisentraut 289e6fd2a4 Do not use 'ar cq' to build library archives, use 'ar cr' instead. 2000-12-07 19:43:49 +00:00
Tom Lane cbc5f4f127 checkretval() failed to cope with an empty SQL function body. 2000-12-07 19:40:56 +00:00
Tom Lane 821f4673ff Make OVERLAPS operators conform to SQL92 spec regarding NULL handling.
As I read it, the spec requires a non-null result in some cases where
one of the inputs is NULL: specifically, if the other endpoint of that
interval is between the endpoints of the other interval, then the result
is known TRUE despite the missing endpoint.  The spec could've been a
lot simpler if they did not intend this behavior.
I did not force an initdb for this change, but if you don't do one you'll
still see the old strict-function behavior.
2000-12-07 18:38:59 +00:00
Hiroshi Inoue 8bb4dab94d RecordTransactionAbort() shouldn't log XLOG_XACT_ABORT
if the transaction has already been committed ?
2000-12-07 10:03:46 +00:00
Tom Lane 5cf81b3c06 Silence compiler warning. 2000-12-07 02:52:27 +00:00
Tom Lane 06dde51ef0 Silence compiler warning. 2000-12-07 02:04:30 +00:00
Tom Lane 7711e40b9f Make application of FOR UPDATE to a view work exactly like the parser's
transformForUpdate does: it should recurse into subqueries.
2000-12-07 01:22:25 +00:00
Tom Lane 0a844e84a1 transformForUpdate() mustn't assume rowMarks list is initially empty.
It could be recursing into a sub-query where there was already a FOR
UPDATE clause.
2000-12-07 01:12:08 +00:00
Tom Lane 73d2a3595a Clean up handling of FOR UPDATE inside views and subselects ... make it
work where we can (given that the executor only handles it at top level)
and generate an error where we can't.  Note that while the parser has
been allowing views to say SELECT FOR UPDATE for a few weeks now, that
hasn't actually worked until just now.
2000-12-06 23:55:19 +00:00
Peter Eisentraut ecab48f5ec -L linker options are now in LDFLAGS, not LIBS. The word hadn't gotten
through to here yet.
2000-12-06 19:37:08 +00:00
Tom Lane 5fb1022212 Don't include miscadmin.h in elog.h, since the former is not part of
the installed header file set.
2000-12-06 17:25:46 +00:00
Tom Lane a0f863637f I've just seen what happens when the MEMORY_CONTEXT_CHECKING code fires
an error at end of transaction ... and I did *not* like it.  Reduce ERROR
to NOTICE so that this situation doesn't cause an infinite loop.
2000-12-05 23:40:36 +00:00
Tom Lane 614d951a54 In SELECT FOR UPDATE, silently ignore null CTIDs, rather than generating
an error as we used to.  In an OUTER JOIN scenario, retrieving a null
CTID from one of the input relations is entirely expected.  We still
want to lock the input rows from the other relations, so just ignore
the null and keep going.
2000-12-05 22:03:57 +00:00
Tom Lane 981a7d32d1 From Stephan Szabo:
I believe this should fix the issue that Philip Warner
noticed about the check for unique constraints meeting the
referenced keys of a foreign key constraint allowing the
specification of a subset of a foreign key instead of
rejecting it.  I also added tests for a base case of
this to the foreign key and alter table tests and patches
for expected output.
2000-12-05 19:57:56 +00:00
Tom Lane 5ce8ab96f5 Add regress test case for INSERT ... SELECT in rules. 2000-12-05 19:15:49 +00:00
Tom Lane a51f004d29 Repair breakage of rules containing INSERT ... SELECT actions, per bug
report from Joel Burton.  Turns out that my simple idea of turning the
SELECT into a subquery does not interact well *at all* with the way the
rule rewriter works.  Really what we need to make INSERT ... SELECT work
cleanly is to decouple targetlists from rangetables: an INSERT ... SELECT
wants to have two levels of targetlist but only one rangetable.  No time
for that for 7.1, however, so I've inserted some ugly hacks to make the
rewriter know explicitly about the structure of INSERT ... SELECT queries.
Ugh :-(
2000-12-05 19:15:10 +00:00
Peter Eisentraut 3d0e49623b corrections 2000-12-03 21:12:19 +00:00
Tom Lane a27b691e29 Ensure that all uses of <ctype.h> functions are applied to unsigned-char
values, whether the local char type is signed or not.  This is necessary
for portability.  Per discussion on pghackers around 9/16/00.
2000-12-03 20:45:40 +00:00
Tom Lane 4d2a506526 Update for new tests. These are extrapolations and will need to be confirmed
correct on the relevant platforms.
2000-12-03 17:53:26 +00:00
Tom Lane f3e988443c Update for new tests. 2000-12-03 17:37:26 +00:00
Tom Lane 68ed296301 Don't use 'private' as a parameter name in visible headers ... makes C++
very unhappy ...
2000-12-03 17:18:10 +00:00
Peter Eisentraut e7c80220d3 Fix counting of lines in scripts with 'copy from stdin'. 2000-12-03 15:39:38 +00:00
Thomas G. Lockhart 6969b8fa11 Repair usage of the OVERLAPS operator.
Allow some operator-like tokens to be used as function names.
Flesh out support for time, timetz, and interval operators
 and interactions.
Regression tests pass, but non-reference-platform horology test results
 will need to be updated.
2000-12-03 14:51:12 +00:00
Thomas G. Lockhart 20efb264f6 Convert files from DOS format to normal text. 2000-12-03 14:43:59 +00:00
Thomas G. Lockhart 48781d44e4 Support IBM S/390. Patches from Neale Ferguson@softwareAG-usa.com. 2000-12-03 14:41:47 +00:00
Peter Eisentraut 13dbd0276a Final(?) GUC clean-up. Update psql tab completion. 2000-12-03 14:36:47 +00:00
Vadim B. Mikheev 65b362fae1 Disable elog(ERROR|FATAL) in signal handlers in
critical sections of code.
2000-12-03 10:27:29 +00:00
Tom Lane 5e3bc5ebcd Avoid memory leakage during regular COPY when outputting toasted values.
COPY BINARY is still broken for toasted data, however.
2000-12-02 20:49:24 +00:00
Tom Lane 77698e11a9 Avoid repeated detoasting (and possible memory leaks) when processing
a toasted datum in VACUUM ANALYZE.
2000-12-02 19:38:34 +00:00
Tom Lane 079c60abc0 Don't cause --enable-cassert to define COPY_PARSE_PLAN_TREES automatically
anymore.  That won't teach us anything new for the rest of this release
cycle, so it seems better to keep the --assert environment more like the
non-assert environment for beta.
I'm going to leave CLOBBER_FREED_MEMORY and MEMORY_CONTEXT_CHECKING
turned on by --enable-cassert for now, however.
2000-12-02 18:16:40 +00:00
Tom Lane 217d1566bf Make tuple receive/print routines TOAST-aware. Formerly, printtup would
leak memory when printing a toasted attribute, and printtup_internal
didn't work at all...
2000-12-01 22:10:31 +00:00
Tom Lane f5371feef9 Fix inadequate tree-walking code in exec_eval_clear_fcache. 2000-12-01 20:43:59 +00:00
Tom Lane 08ede423d1 Make elog() switch to ErrorContext while invoking libpq output routines,
since those routines may do palloc's.  We want to be fairly sure we can
send the error message to the client even under low-memory conditions.
That's what we stashed away 8K in ErrorContext for, after all ...
2000-12-01 19:52:04 +00:00
Tom Lane a49436d7e9 Pursuant to a pghackers discussion back around 11-Jul-00, get rid of aset.c's
not-very-good handling of mid-size allocation requests.  Do everything via
either the "small" case (chunk size rounded up to power of 2) or the "large"
case (pass it straight off to malloc()).  Increase the number of freelists
a little to set the breakpoint between these behaviors at 8K.
2000-12-01 18:14:29 +00:00
Tom Lane eb743d0f98 It seems appropriate that the extended MEMORY_CONTEXT_CHECKING code
immediately uncovered three of Karel's own bugs, including a routine
that scribbled on its input (naughty naughty!)
2000-12-01 05:17:19 +00:00
Tom Lane dd2b56d623 Clean up MEMORY_CONTEXT_CHECKING code, and apply it more thoroughly. Also,
apply Karel Zak's patch to recycle residual space in an exhausted allocation
block.  (Bet you thought I'd forgot about that, Karel?)
2000-12-01 05:16:45 +00:00
Tom Lane b7c3784417 Repair residual sillinesses from UUNET virtual host/socket path patch.
I hope all the dust has settled out now ...
2000-11-30 23:20:51 +00:00
Tom Lane 73d0514dea Make default socket directory location configurable from config.h.
If we're going to let it be run-time configurable, might as well allow
this too...
2000-11-30 23:19:04 +00:00
Peter Eisentraut 37b7d5c39e Remove DISABLE_COMPLEX_MACRO definitions, since people seem to be getting
by without them.

Don't check for preprocessor symbols from system header files in port
include files, since those header files aren't included at this point.
2000-11-30 21:16:12 +00:00
Peter Eisentraut bf14fb8fa3 Remove old regression test drivers. 2000-11-30 20:43:31 +00:00
Peter Eisentraut e5ba2fc5b5 Make all commands that link a program look like
$(CC) $(CFLAGS) $(LDFLAGS) <object files> <extra-libraries> $(LIBS) -o $@

This form seemed to be the most portable, readable, and logical, but in any
case it's better than having a dozen different ones in the tree.
2000-11-30 20:36:13 +00:00
Vadim B. Mikheev 309112267f misc 2000-11-30 19:06:37 +00:00
Vadim B. Mikheev 8247f47fc7 Hope that this is valid localbuf.c version 2000-11-30 19:03:26 +00:00
Tom Lane 1f5cc8c78a Remove VARLENA_FIXED_SIZE hack, which is irreversibly broken now that
both MULTIBYTE and TOAST prevent char(n) from being truly fixed-size.
Simplify and speed up fastgetattr() and index_getattr() macros by
eliminating special cases for attnum=1.  It's just as fast to handle
the first attribute by presetting its attcacheoff to zero; so do that
instead when loading the tupledesc in relcache.c.
2000-11-30 18:38:47 +00:00
Peter Eisentraut ef54e0d08e Remove remaining unixsocket-setting interfaces, since the host parameter
does that.  Disable URL-style connection parameter specification code,
which doesn't work.
2000-11-30 18:32:52 +00:00
Vadim B. Mikheev 81c8c244b2 No more #ifdef XLOG. 2000-11-30 08:46:26 +00:00
Tom Lane b16516b887 It seems some platforms declare kill(2) in signal.h not unistd.h. 2000-11-30 03:11:24 +00:00
Vadim B. Mikheev 741510521c XLOG stuff for sequences.
CommitDelay in guc.c
2000-11-30 01:47:33 +00:00
Tom Lane 680b7357ce Rearrange bufmgr header files so that buf_internals.h need not be
included by everything that includes bufmgr.h --- it's supposed to be
internals, after all, not part of the API!  This fixes the conflict
against FreeBSD headers reported by Rosenman, by making it unnecessary
for s_lock.h to be included by plperl.c.
2000-11-30 01:39:08 +00:00
Vadim B. Mikheev 9f20852f87 all options are allowed if not under postmaster:
SetConfigOption(name, value,
        (IsUnderPostmaster) ? PGC_BACKEND : PGC_POSTMASTER);
2000-11-30 01:27:19 +00:00
Tom Lane 3c0f3c9a7e Just noticed that with -S switch, MyProcPid is permanently wrong in
postmaster, because it isn't updated after forking away from the terminal.
Apparently it's not used anyplace in the postmaster ... but seems best
to make it show the correct PID ...
2000-11-29 22:04:04 +00:00
Tom Lane 792b0f4666 Get rid of not-very-portable fcntl(F_SETLK) mechanism for locking the Unix
socket file, in favor of having an ordinary lockfile beside the socket file.
Clean up a few robustness problems in the lockfile code.  If postmaster is
going to reject a connection request based on database state, it will now
tell you so before authentication exchange not after.  (Of course, a failure
after is still possible if conditions change meanwhile, but this makes life
easier for a yet-to-be-written pg_ping utility.)
2000-11-29 20:59:54 +00:00
Tom Lane 175f52083b aclitemout() shouldn't coredump when it finds an ACL item
for a now-vanished group.  Instead, display the numeric group ID, same
as it does for vanished users.
2000-11-28 23:42:31 +00:00
Tom Lane c715fdea26 Significant cleanups in SysV IPC handling (shared mem and semaphores).
IPC key assignment will now work correctly even when multiple postmasters
are using same logical port number (which is possible given -k switch).
There is only one shared-mem segment per postmaster now, not 3.
Rip out broken code for non-TAS case in bufmgr and xlog, substitute a
complete S_LOCK emulation using semaphores in spin.c.  TAS and non-TAS
logic is now exactly the same.
When deadlock is detected, "Deadlock detected" is now the elog(ERROR)
message, rather than a NOTICE that comes out before an unhelpful ERROR.
2000-11-28 23:27:57 +00:00
Bruce Momjian 914822713c Remove PQunixsocket from dll file. 2000-11-28 07:27:01 +00:00
Bruce Momjian 0791b6de51 Remove PQunixsocket prototype 2000-11-28 07:25:08 +00:00
Bruce Momjian 5173fc411f Remove PQunixsocket, per Peter's recommendation. PQhost shows the socket directory. 2000-11-28 06:53:33 +00:00
Bruce Momjian f6a756e49a Make PQhost return socket path. 2000-11-27 21:12:25 +00:00
Bruce Momjian 6f11e6dffa This patch allow pg_dump save name of primary key constraint (if primary
key exist).

awn@bcs.zp.ua
2000-11-27 20:51:40 +00:00
Jan Wieck 579f8f09fa Added pg_execute command behaving like spi_exec of PL/Tcl
Made pg_lo_read and pg_lo_write binary data safe when libpgtcl
is compiled against Tcl version 8.0 or higher.


Jan
2000-11-27 13:29:32 +00:00
Tom Lane 230cf8d373 Check for link(2) failure. 2000-11-27 05:36:12 +00:00
Hiroshi Inoue 9ee598e0ee Not invoke CheckPoint process while postmaster is waiting for all backends
to die.
2000-11-27 04:03:20 +00:00
Tom Lane c6f0bff1f1 Pay attention to fgets() failure return. 2000-11-27 03:58:58 +00:00
Tom Lane c5bbbb2845 Pay attention to fgets() failure return. 2000-11-27 03:53:13 +00:00
Tom Lane a568b2273c Be a little more careful with strtok(). 2000-11-27 03:46:01 +00:00
Tom Lane f749b4ca9c Pay attention to fgets() failure return. 2000-11-27 03:43:49 +00:00
Tom Lane 92fd384779 After going to the trouble of finding where psql lives, seems like
pg_ctl should invoke it from there, not use whatever random psql might
(or might not) live in its $PATH.
2000-11-27 02:50:17 +00:00
Tom Lane 9c5327b99b Pay attention to failure returns from fgets() in all cases.
Avoid infinite loop prompting for password at stdin EOF.
2000-11-27 02:20:36 +00:00
Tom Lane e8a72c0db2 Prevent simple_prompt() from locking up in a tight loop at stdin EOF. 2000-11-27 01:28:40 +00:00
Bruce Momjian 0a829cb865 current cvs tree does build because of a small problem in ECPG. Here is a
little patch which correct that.

    thanks

                cyril
2000-11-26 20:45:19 +00:00
Tatsuo Ishii dc779228f2 Fix for inserting/copying longer multibyte strings into bpchar data
types.
2000-11-26 11:35:23 +00:00
Peter Eisentraut ca1c7e662f Silence warning 2000-11-26 11:09:32 +00:00
Tatsuo Ishii 188065cb5c Unicode conversion fix suggested by Jan Varga...
--------------------------------------------------
Subject: Bug in unicode conversion ...
From: Jan Varga <varga@utcru.sk>
To: t-ishii@sra.co.jp
Date: Sat, 18 Nov 2000 17:41:20 +0100 (CET)


Hi,

I tried this new feature in PostgreSQL. I found one bug.
Script UCS_to_8859.pl skips input lines which
1. code <0x80 or
2. ucs <0x100

I think second one is not good idea because some codes in ISO8859-2
have ucs <0x100 (e.g. 0xE9 - 0x00E9)
--------------------------------------------------
2000-11-26 10:40:43 +00:00
Tom Lane e3269cab31 Make PGLC_setlocale() static, and document that it can't be used safely
for any other purpose than PGLC_localeconv()'s internal save/restore of
locale settings.  Fix cash.c to call PGLC_localeconv() rather than
making a direct call to localeconv() --- the old way, if PGLC_localeconv()
had already cached a locale result, it would be overwritten by the first
cash_in or cash_out operation, leading to wrong-locale results later.
Probably no demonstrable bug today, since we only appear to be looking
at the LC_MONETARY results which should be the same anyway, but definitely
a gotcha waiting to strike.
2000-11-25 22:43:08 +00:00
Bruce Momjian 74dc04a034 Move connection defines to miscadmin.h. 2000-11-25 22:34:14 +00:00
Tom Lane d8bc37eb16 Correct portability-related errors in inet expected output. I'm not
sure that broadcast('foo/32') means anything, but if it does, surely
it ought to return foo, not 255.255.255.255.
2000-11-25 21:32:25 +00:00
Tom Lane 5dfcbdde70 Fix some portability bugs I'd introduced into inet/cidr code ---
shifting by the word width is not defined by ANSI C...
2000-11-25 21:30:54 +00:00
Tom Lane bbea3643a3 Store current LC_COLLATE and LC_CTYPE settings in pg_control during initdb;
re-adopt these settings at every postmaster or standalone-backend startup.
This should fix problems with indexes becoming corrupt due to failure to
provide consistent locale environment for postmaster at all times.  Also,
refuse to start up a non-locale-enabled compilation in a database originally
initdb'd with a non-C locale.  Suppress LIKE index optimization if locale
is not "C" or "POSIX" (are there any other locales where it's safe?).
Issue NOTICE during initdb if selected locale disables LIKE optimization.
2000-11-25 20:33:54 +00:00
Tom Lane 0432ce994d Fix elog logic so that error messages displayed during initdb (or
other standalone-backend situations) are not duplicated.  Remove some
dead code, add some comments, too.
2000-11-25 19:09:22 +00:00
Peter Eisentraut fc6603ff75 Advertise --help (rather than '-?') as help option (problems with csh).
Accept --help even if no general long options support exists.
2000-11-25 19:05:44 +00:00
Peter Eisentraut c25b4dbf03 Update pg_ctl ref page, help output, messages. Some repair to work better
with current postmaster.
2000-11-25 17:17:30 +00:00
Bruce Momjian 63edc5c4e0 Fix security problem with psql \e where temp file could be an existing
symlink created by someone else, and therefore modifyable by someone else.
2000-11-25 06:21:54 +00:00
Bruce Momjian 3f1998727d here is a patch for formatting.c (to_char/timestampt()), for 7.1
it fixing Y,YY,YYY,YYYY conversion, the docs and regress tests update
 are included too.

  During the patch testing I found small bug in miscadmin.h in
convertstr() declaration. Here it's fixed too.

 Thanks

        Karel
2000-11-25 05:00:33 +00:00
Bruce Momjian 91ba4cc761 > > Looking some more, I found some other places that need a space (I
> > suspect...), so here is an updated patch.
>
> This seems like the wrong way to go about it, because anytime anyone
> changes any elog output anywhere, we'll risk another failure.  If
> syslog can't cope with empty lines, I think the right fix is for the
> output-to-syslog routine to change the data just before sending ---
> then there is only one place to fix.  See the syslog output routine in
> src/backend/utils/error/elog.c.
Makes sense.  Here's a new patch, now the output even looks better:

Larry Rosenman
2000-11-25 04:38:00 +00:00
Bruce Momjian d5d23dde25 Allow jdbc to return proper server version number
Anders Bengtsson
2000-11-25 04:32:12 +00:00
Bruce Momjian 9d5098ca78 Rename GUC name from unixsocket to unix_socket_directory 2000-11-25 04:13:18 +00:00
Tom Lane 7a161ac3b7 Clean up comments, organize code snippets added at different times into
a slightly less random order.
2000-11-25 03:45:47 +00:00
Peter Eisentraut 249fe81c99 Print bit strings as B'...' when INSERT commands are dumped. 2000-11-24 22:32:26 +00:00
Peter Eisentraut 5b00ea9e50 Make SET SESSION CHARACTERISTICS compliant with SQL 99. Remove redundant,
non-standard clauses.  Allow CHARACTERISTICS as unquoted identifier.
Merge related reference pages.
2000-11-24 20:16:40 +00:00
Peter Eisentraut f1ddc19b10 update list of places to change version numbers; reformat 2000-11-24 18:28:20 +00:00
Peter Eisentraut 4cbeefb1e8 Remove obsolete test suite 2000-11-24 17:14:07 +00:00
Tom Lane 80dab5bd69 A catalog cache that never caches isn't much of a cache :-(. Mea culpa.
Thanks to Brian Hirt for pointing out the performance lossage.
2000-11-24 04:16:12 +00:00
Tom Lane 48437f5c3a Ensure that mergejoin plan will be considered for FULL OUTER JOIN even
if enable_mergejoin = OFF.  Must do this, because we have no other
implementation method for full joins.
2000-11-23 03:57:31 +00:00
Vadim B. Mikheev 5479c11bfa Set fdstate in fileNameOpenFile. 2000-11-23 01:08:57 +00:00
Peter Eisentraut dc3fb8b152 Fix output file names for new driver 2000-11-22 16:40:22 +00:00
Peter Eisentraut f31844f15f Bit string regression test
from Adriaan Joubert <a.joubert@albourne.com>
2000-11-22 13:37:44 +00:00
Peter Eisentraut 0edf928f58 Fix for bitsubstr when third argument is missing (i.e., -1).
From Adriaan Joubert <a.joubert@albourne.com>
2000-11-22 13:35:35 +00:00
Peter Eisentraut cf4ad01d36 Point runtest and runcheck targets at new regression test driver. 2000-11-22 13:16:24 +00:00
Bruce Momjian 287fd7a995 Recommit socket path fix. It works now. 2000-11-22 03:40:19 +00:00
Bruce Momjian e921ff1779 Back out socket path until it works. 2000-11-22 02:47:30 +00:00
Bruce Momjian c8b9b14df1 Back out socket file path change until it works. 2000-11-22 02:38:25 +00:00
Hiroshi Inoue 36933b4628 avoid opening view files. 2000-11-22 02:19:14 +00:00
Peter Eisentraut 5ce0804b51 Allow running without a "schedule" file. This enables you to run tests
standalone, e.g., "./pg_regress int2".
2000-11-22 01:47:47 +00:00
Bruce Momjian 98e195d23b Make socket option specify just the directory, not the full path. 2000-11-22 01:41:14 +00:00
Peter Eisentraut 9bc6fb37b9 geometry result files for unixware 2000-11-22 01:00:54 +00:00
Tom Lane 11391685d1 Tweak resultmap documentation, add to README too. 2000-11-22 00:58:47 +00:00
Peter Eisentraut 90cfa9ac19 Allow for different result files when using GCC versus native compiler. 2000-11-21 23:40:28 +00:00
Peter Eisentraut fd05f89645 Extend accept/AF_UNIX bug workaround to SCO OpenServer. 2000-11-21 23:03:54 +00:00
Peter Eisentraut 403abf1ca5 Refine log/error messages. Print out the errno message, not the number.
Remove timestamps from messages where this would be redundant with the
log_timestamp option.
2000-11-21 22:27:26 +00:00
Peter Eisentraut a70e74b060 Put external declarations into header files. 2000-11-21 21:16:06 +00:00
Tom Lane 040bb787bc Install the sample pg_ident.conf file into /home/postgres/testversion/data, just like pg_hba.conf. 2000-11-21 20:55:57 +00:00
Tom Lane 74299f66d5 Improve comments. 2000-11-21 20:48:38 +00:00
Tom Lane c1257d4c5c Improve comments in pg_hba.conf.sample and the associated SGML
documentation.
2000-11-21 20:44:32 +00:00
Peter Eisentraut 22c528fc5a Don't hide error message from dropdb. 2000-11-21 17:34:21 +00:00
Vadim B. Mikheev 2536267404 misc 2000-11-21 10:17:57 +00:00
Vadim B. Mikheev e8ff221d8b Fix OID bootstraping. 2000-11-21 09:39:57 +00:00
Tom Lane b31e83f461 Adjust opr_sanity.out for small change in OID allocation. 2000-11-21 04:29:44 +00:00
Tom Lane 837f33cfd9 Add missing #include <errno.h>. 2000-11-21 04:27:39 +00:00
Hiroshi Inoue c4bc9a8505 keep relations open until they are no longer needed. 2000-11-21 04:01:09 +00:00
Tom Lane 93fcbd140a Make oidin/oidout produce and consume unsigned representation of Oid,
rather than just being aliases for int4in/int4out.  Give type Oid a
full set of comparison operators that do proper unsigned comparison,
instead of reusing the int4 comparators.  Since pg_dump is now doing
unsigned comparisons of OIDs, it is now *necessary* that we play by
the rules here.  In fact, given that btoidcmp() has been doing unsigned
comparison for quite some time, it seems likely that we have index-
corruption problems in 7.0 and before once the Oid counter goes past
2G.  Fixing these operators is a necessary step before we can think
about 8-byte Oid, too.
2000-11-21 03:23:21 +00:00
Vadim B. Mikheev 01f2547c6b Init ShmemVariableCache in BootStrapXLOG()
(should fix OID bootstraping).
2000-11-21 02:11:06 +00:00
Tom Lane fdbd6ca75e Simplify definition of pg_tables and pg_views views by making use of
new separate relkind for views (per some discussion back in September).
I didn't force initdb, but rules regress test will show differences
until you do one.
2000-11-21 01:11:50 +00:00
Tom Lane 3030189b69 Fix erroneous handling of parameters at SubqueryScan plan nodes,
per bug report from Don Baccus.
2000-11-21 00:17:59 +00:00
Tom Lane 712af72c77 Fix yacc failures in preproc.y. 2000-11-20 22:03:06 +00:00
Tom Lane 3568cf50e5 Silence gcc warnings. 2000-11-20 21:14:13 +00:00
Vadim B. Mikheev c07bb9e0ad No casting to LSN (XLogRecPtr) is required. 2000-11-20 21:12:26 +00:00
Tom Lane 5bb2300b59 Revise handling of oldstyle/newstyle functions per recent discussions
in pghackers list.  Support for oldstyle internal functions is gone
(no longer needed, since conversion is complete) and pg_language entry
'internal' now implies newstyle call convention.  pg_language entry
'newC' is gone; both old and newstyle dynamically loaded C functions
are now called language 'C'.  A newstyle function must be identified
by an associated info routine.  See src/backend/utils/fmgr/README.
2000-11-20 20:36:57 +00:00
Peter Eisentraut 99198ac6b8 Enable WAL in config.h, not Makefile.global. 2000-11-20 16:52:54 +00:00
Peter Eisentraut 2b1d8bd29a Include postgres.h before checking #ifdef XLOG. 2000-11-20 16:47:32 +00:00
Peter Eisentraut 9394d391b8 Add configure checks for strtoll, strtoull (or strto[u]q). Disable
'long long int' portions of ecpg if the type or these functions don't
exist.
2000-11-20 15:56:14 +00:00
Michael Meskes 2d248d6585 Parser synced. 2000-11-20 10:50:42 +00:00
Peter Mount 08ea624a06 Encoding patch to Connection by wrobell@posexperts.com.pl 2000-11-20 08:15:30 +00:00
Vadim B. Mikheev a221d95f28 Compile WAL by default. 2000-11-20 05:18:40 +00:00
Tom Lane f084a18af5 Eliminate unused-variable warning. 2000-11-20 03:51:33 +00:00
Tom Lane 3e09584fd3 Fix typo. 2000-11-19 22:11:56 +00:00
Tom Lane 959851272d Update README with proposed new method for determining calling convention
of user-defined functions (forget 'C' vs 'newC', instead require an info
function to be present for new-style functions).  Also update some other
out-of-date commentary.
2000-11-19 22:07:16 +00:00
Peter Eisentraut 714384a0b2 Polish error messages, help output, give marginal clue about command line
option conventions.  (E.g., "pg_passwd -?" should not write to a file named
"-?".)
2000-11-18 19:02:03 +00:00
Peter Eisentraut f999912658 Simplification: Build executable directly from .c file. 2000-11-18 19:00:23 +00:00
Peter Eisentraut bd9d9621dc Modify input and output routines to print plain binary strings without any
'b' prefixes.
2000-11-18 16:18:41 +00:00
Peter Eisentraut 0f3720edf6 Treat plain 'BIT' as 'BIT(1)'. 2000-11-18 16:17:20 +00:00
Tom Lane 0514ad126b Tweak AbsoluteTimeIsReal() to avoid compiler bugs on machines where
a > comparison against INT_MIN may do the wrong thing.  Per suggestion
from Andreas.
2000-11-18 05:41:45 +00:00
Tom Lane 6ba959eee0 AIX patches from Andreas. 2000-11-18 05:40:03 +00:00
Tom Lane 31e3634a05 Suppress 'comparison-is-always-true' warning on machines
where char is signed by default.
2000-11-18 04:40:18 +00:00
Tom Lane 75c147e753 Modify locale code to defend against possibility that it was compiled
with an -fsigned-char/-funsigned-char setting opposite to that of libc,
thus breaking the convention that 'undefined' values returned by
localeconv() are represented by CHAR_MAX.  It is sheer stupidity that
gcc even has such a switch --- it's just as bad as the structure-packing
control switches offered by the more brain-dead PC compilers --- and
as for the behavior of Linux distribution vendors who set RPM_OPT_FLAGS
differently from the way they built libc, well, words fail me...
2000-11-18 03:55:51 +00:00
Tom Lane aa21da208c Put back BufferSync() for WAL after database creation.
Also, add some comments about what it's for...
2000-11-18 03:36:48 +00:00
Peter Eisentraut 52aa720320 Add separate type category for bit string types, allowing mixed bit/varbit
function calls to work.
2000-11-17 19:57:48 +00:00
Tatsuo Ishii 8a35ac24f8 Fix bugs in EUC_TW support. This fix includes patches contributed
by Chih-Chang Hsi. See "A Patch for MIC to EUC_TW code converting in
mb support" posting in pgsql-patches list dated 09 Nov 2000.
2000-11-17 04:42:10 +00:00
Tatsuo Ishii afde2acc50 Recongizing PGCLIENTENCODING has been broken since 7.0. 2000-11-17 04:22:52 +00:00
Tom Lane 2912c287fe Fix spelling errors in error message. 2000-11-17 01:24:46 +00:00
Tom Lane 4e5146b883 Suppress occasional failure of final DROP DATABASE due to
race condition --- old backend may not have shut down by the time we
try to do the DROP.
2000-11-17 00:24:03 +00:00
Tom Lane 55d5b58538 GNUmakefile failed to provide a way to invoke perl Makefile's
'make test' target.
2000-11-17 00:08:57 +00:00
Tom Lane 9a561357e2 Forgot to add ppport.h to MANIFEST. 2000-11-17 00:02:02 +00:00
Peter Eisentraut 6b19803e06 Make a pstrdup copy of the literalbuf when scanning a bit string. Other-
wise the next bit string in the same command clobbers the previous ones.
2000-11-16 22:47:44 +00:00
Tom Lane a933ee38bb Change SearchSysCache coding conventions so that a reference count is
maintained for each cache entry.  A cache entry will not be freed until
the matching ReleaseSysCache call has been executed.  This eliminates
worries about cache entries getting dropped while still in use.  See
my posting to pg-hackers of even date for more info.
2000-11-16 22:30:52 +00:00
Peter Eisentraut cff23842a4 Print bit values as binary strings (not hex) 2000-11-16 21:43:28 +00:00
Peter Eisentraut 7852a35515 Add support for casting bit string constants. 2000-11-16 17:27:10 +00:00
Peter Eisentraut 0f5c1b251d Clean files after installing, since those files will most likely be root
owned, which can be annoying.
2000-11-16 16:21:55 +00:00
Bruce Momjian a5046ad13a That variable I removed broke XLOG, that part of the delta
should have read:

Alfred Perlstein
2000-11-16 06:16:00 +00:00
Bruce Momjian 312063c97b Make pgsql compile on FreeBSD-alpha.
Context diff this time.

Remove -m486 compile args for FreeBSD-i386, compile -O2 on i386.

Compile with only -O on alpha for codegen safety.

Make the port use the TEST_AND_SET for alpha and i386 on FreeBSD.

Fix a lot of bogus string formats for outputting pointers (cast to int
and %u/%x replaced with no cast and %p), and 'Size'(size_t) are now
cast to 'unsigned long' and output with %lu/

Remove an unused variable.

Alfred Perlstein
2000-11-16 05:51:07 +00:00
Bruce Momjian 580d2bc60f Syslog Facility Patch
Here is one with a stray character removed.

Larry Rosenman
2000-11-16 05:50:01 +00:00
Peter Eisentraut 76920de895 Rename parameter "hostname" to "virtual_host". Seemed very ambiguous... 2000-11-15 18:36:06 +00:00
Tom Lane 85b762b499 Clean up array-dimensions parser a bit.
This code still needs a lot of love, however ...
2000-11-14 23:28:13 +00:00
Peter Eisentraut 12b401f739 Fix return type 2000-11-14 21:26:21 +00:00
Peter Eisentraut bea3b8ea35 spaces to tab 2000-11-14 21:23:47 +00:00
Peter Eisentraut d8a11b29c1 Give GCC on Irix a (theoretical) chance. 2000-11-14 21:12:00 +00:00
Tom Lane 21e1e6643c Minor cleanup of tableOid-related coding. 2000-11-14 21:04:32 +00:00
Tom Lane b0d243e420 Clean up comments. 2000-11-14 20:47:34 +00:00
Peter Eisentraut 0937bf9544 Small polishing of syslog facility and ident settings. Only allow setting
at postmaster start, rename syslog_progid to syslog_ident, since syslog
itself uses that term, fix doc markup.
2000-11-14 19:13:27 +00:00
Tom Lane 2cf48ca04b Extend CREATE DATABASE to allow selection of a template database to be
cloned, rather than always cloning template1.  Modify initdb to generate
two identical databases rather than one, template0 and template1.
Connections to template0 are disallowed, so that it will always remain
in its virgin as-initdb'd state.  pg_dumpall now dumps databases with
restore commands that say CREATE DATABASE foo WITH TEMPLATE = template0.
This allows proper behavior when there is user-added data in template1.
initdb forced!
2000-11-14 18:37:49 +00:00
Peter Eisentraut 8a9315ca92 Update and polish postmaster and postgres help output and man pages. 2000-11-14 18:11:32 +00:00
Hiroshi Inoue 3eaf3363d7 Fix illegal combination of SearchSysCacheTuple() and heap_freetuple()
in AlterTableOwner().
2000-11-14 01:57:30 +00:00
Bruce Momjian 026643a6e7 Rename PortName to PortNumber. 2000-11-14 01:15:06 +00:00
Bruce Momjian ebd61ac03f Remove -k unix socketpath option from client side, allow hostname with
leading slash to behave as a unix socket path.
2000-11-13 23:37:54 +00:00
Bruce Momjian d63a762f79 Ok, You guys are probably tired of me, BUT, here is another one, that
adds the facility to set the program name used in syslog.
(this includes the other ones).

One gotcha, the parser doesn't like special characters in strings.
For example, i tried to use pg-test, and if failed the parse coming
from the postgresql.conf file.

I don't think it's a showstopper..

Larry Rosenman
2000-11-13 21:35:03 +00:00
Bruce Momjian b557be50a0 Fix for no hterror(). 2000-11-13 21:31:46 +00:00
Bruce Momjian 2150c2edf1 UUNET is looking into offering PostgreSQL as a part of a managed web
hosting product, on both shared and dedicated machines.  We currently
offer Oracle and MySQL, and it would be a nice middle-ground.
However, as shipped, PostgreSQL lacks the following features we need
that MySQL has:

1. The ability to listen only on a particular IP address.  Each
   hosting customer has their own IP address, on which all of their
   servers (http, ftp, real media, etc.) run.
2. The ability to place the Unix-domain socket in a mode 700 directory.
   This allows us to automatically create an empty database, with an
   empty DBA password, for new or upgrading customers without having
   to interactively set a DBA password and communicate it to (or from)
   the customer.  This in turn cuts down our install and upgrade times.
3. The ability to connect to the Unix-domain socket from within a
   change-rooted environment.  We run CGI programs chrooted to the
   user's home directory, which is another reason why we need to be
   able to specify where the Unix-domain socket is, instead of /tmp.
4. The ability to, if run as root, open a pid file in /var/run as
   root, and then setuid to the desired user.  (mysqld -u can almost
   do this; I had to patch it, too).

The patch below fixes problem 1-3.  I plan to address #4, also, but
haven't done so yet.  These diffs are big enough that they should give
the PG development team something to think about in the meantime :-)
Also, I'm about to leave for 2 weeks' vacation, so I thought I'd get
out what I have, which works (for the problems it tackles), now.

With these changes, we can set up and run PostgreSQL with scripts the
same way we can with apache or proftpd or mysql.

In summary, this patch makes the following enhancements:

1. Adds an environment variable PGUNIXSOCKET, analogous to MYSQL_UNIX_PORT,
   and command line options -k --unix-socket to the relevant programs.
2. Adds a -h option to postmaster to set the hostname or IP address to
   listen on instead of the default INADDR_ANY.
3. Extends some library interfaces to support the above.
4. Fixes a few memory leaks in PQconnectdb().

The default behavior is unchanged from stock 7.0.2; if you don't use
any of these new features, they don't change the operation.

David J. MacKenzie
2000-11-13 15:18:15 +00:00
Hiroshi Inoue 7633cada54 SearchSysCacheTupleCopy() instead of SearchSysCache() 2000-11-13 09:16:55 +00:00
Hiroshi Inoue c7eb18fcf4 prevent open failure of VIEW 2000-11-13 09:06:36 +00:00
Tom Lane ebb0a20149 Keep track of the last active slot in the shared ProcState array, so
that search loops only have to scan that far and not through all maxBackends
entries.  This eliminates a performance penalty for setting maxBackends
much higher than the average number of active backends.  Also, eliminate
no-longer-used 'backend tag' concept.  Remove setting of environment
variables at backend start (except for CYR_RECODE), since none of them
are being examined by the backend any longer.
2000-11-12 20:51:52 +00:00
Tom Lane 6543d81d65 Restructure handling of inheritance queries so that they work with outer
joins, and clean things up a good deal at the same time.  Append plan node
no longer hacks on rangetable at runtime --- instead, all child tables are
given their own RT entries during planning.  Concept of multiple target
tables pushed up into execMain, replacing bug-prone implementation within
nodeAppend.  Planner now supports generating Append plans for inheritance
sets either at the top of the plan (the old way) or at the bottom.  Expanding
at the bottom is appropriate for tables used as sources, since they may
appear inside an outer join; but we must still expand at the top when the
target of an UPDATE or DELETE is an inheritance set, because we actually need
a different targetlist and junkfilter for each target table in that case.
Fortunately a target table can't be inside an outer join...  Bizarre mutual
recursion between union_planner and prepunion.c is gone --- in fact,
union_planner doesn't really have much to do with union queries anymore,
so I renamed it grouping_planner.
2000-11-12 00:37:02 +00:00
Peter Eisentraut 8095924bdd Make sure shell scripts send error messages to stderr.
Improve help output.
Teach droplang to remove 'pltclu'.
2000-11-11 22:59:48 +00:00
Thomas G. Lockhart b9c8faedde Allow more timezone-like interpretation of INTERVALs.
Fix up labeling of some new test cases.
2000-11-11 19:57:03 +00:00
Thomas G. Lockhart d74c52c357 Allow more timezone-like interpretation of INTERVALs. 2000-11-11 19:56:43 +00:00
Thomas G. Lockhart a669bd74ee Check for existence of the results directory before invoking mkdir. 2000-11-11 19:56:20 +00:00
Thomas G. Lockhart 17d63245c7 Define conversions to and from text for date, time, and timetz. 2000-11-11 19:55:39 +00:00
Thomas G. Lockhart 89a99cb686 Allow interpretation of INTERVALs with more timezone-like syntax.
Define conversions to and from text for date, time, and timetz.
Have millisecond and microsecond return full # of seconds in those units.
 Previously, only returned full fractional part in those units.
2000-11-11 19:55:19 +00:00
Thomas G. Lockhart bc20c41275 Fix bug in recent improvement to type resolution code. Forgot to retain
"best choice" type category when resolving UNKNOWN function and operator
 arguments. Thanks to Tom Lane for finding test case.
2000-11-11 19:49:26 +00:00
Tom Lane 9e877702fc Update expected output to track recent code changes. 2000-11-10 23:19:46 +00:00
Bruce Momjian eafb636435 Update to PyGreSQL 3.1:
Fix some quoting functions. In particular handle NULLs better.

Use a method to add primary key information rather than direct
manipulation of the class structures.

Break decimal out in _quote (in pg.py) and treat it as float.

Treat timestamp like date for quoting purposes.

Remove a redundant SELECT from the get method speeding it, and
insert since it calls get, up a little.

Add test for BOOL type in typecast method to pgdbTypeCache class.
(tv@beamnet.de)

Fix pgdb.py to send port as integer to lower level function
(dildog@l0pht.com)

Change pg.py to speed up some operations

Allow updates on tables with no primary keys.

D'Arcy J.M. Cain
2000-11-10 22:29:21 +00:00
Bruce Momjian 960c186184 the bug was not fixed in the snapshot of November 5th. Also the enterprise
edition of the driver did not compile. I have fixed both issues again. I have
attached the modified files to this email, maybe you can check them into the
repository. (Fixes are marked with //FIXME). Enterprise edition driver now
compiles and seems to work.

Jan Thomae
2000-11-10 22:06:26 +00:00
Tom Lane a210023008 Adjust INET/CIDR display conventions and reimplement some INET/CIDR
functions, per recent discussions on pghackers.  For now, I have called
the verbose-display formatting function text(), but will reconsider if
enough people object.
initdb forced.
2000-11-10 20:13:27 +00:00
Hiroshi Inoue 27026fef60 Use SearchSysCacheTupleCopy() instead of SearchSysCacheTuple() in
order to continue to access the tuple more than now.
This would resolve a segmentation fault error.
2000-11-10 09:38:21 +00:00
Vadim B. Mikheev 92875e6f44 pg_fsync is fsync in WAL version. 2000-11-10 03:53:45 +00:00
Tom Lane ddeab22565 Clean up syscache so that recursive invocation is safe, and remove error
message about recursive use of a syscache.  Also remove most of the
specialized indexscan routines in indexing.c --- it turns out that
catcache.c is perfectly able to perform the indexscan for itself,
in fact has already looked up all the information needed to do so!
This should be faster as well as needing far less boilerplate code.
2000-11-10 00:33:12 +00:00
Peter Eisentraut 700032ad6f Real dynamic loader code 2000-11-09 19:00:50 +00:00
Peter Eisentraut 6b70f3862c Also test for 'void *' as third arg of accept() (as on Solaris 7 and 8),
but take it as 'int *' instead.

Add real test for whether ld -R works on Unixware.

Rename --enable-uniconv to --enable-unicode-conversion.

Install shlibs mode 755 by default, since 644 causes gratuitous complaints
from ldd et al. on some systems.
2000-11-09 18:18:42 +00:00
Tom Lane 343f615e3a ExecEndAppend() neglected to close indices on appended result rels,
and improperly prevented the main result rel from being closed if it
wasn't one of the Append's own result rels.  Per report from Hiroshi.
2000-11-09 18:12:53 +00:00
Michael Meskes 5cbbdd2ecb Applied yet another patch by Christof. Thanks Cristof!
Synced parser.
2000-11-09 14:06:57 +00:00
Vadim B. Mikheev b0299c5d37 Auto checkpoint creation. 2000-11-09 11:26:00 +00:00
Bruce Momjian a0951eec08 Please apply this patch to current, to fix a problem with runcheck,
that installs into a different path than is configured.

With this applied both postmaster and the shared libs are location
independent
for AIX 4.2 and up.

Thanks
Andreas
2000-11-09 04:17:53 +00:00
Tom Lane 372e598c44 Arrange for CASE or UNION with only untyped literal constants as input
to resolve the unknown constants as type TEXT.
2000-11-09 04:14:32 +00:00
Tom Lane 9bbca2c0f0 Add some more union/intersect/except test cases, per suggestions
from Kevin O'Gorman.
2000-11-09 02:47:49 +00:00
Tom Lane a1d133990f Repair some bugs in new union/intersect/except code.
Thanks to Kevin O'Gorman for finding these...
2000-11-09 02:46:17 +00:00
Tom Lane 26adbc7b48 Clean up compiler warnings. 2000-11-08 23:24:24 +00:00
Tom Lane 3908473c80 Make DROP TABLE rollback-able: postpone physical file delete until commit.
(WAL logging for this is not done yet, however.)  Clean up a number of really
crufty things that are no longer needed now that DROP behaves nicely.  Make
temp table mapper do the right things when drop or rename affecting a temp
table is rolled back.  Also, remove "relation modified while in use" error
check, in favor of locking tables at first reference and holding that lock
throughout the statement.
2000-11-08 22:10:03 +00:00
Bruce Momjian ebe0b23690 Add ANALYSE spelling of ANALYZE for vacuum. 2000-11-08 21:28:06 +00:00
Peter Eisentraut 9c0eacb434 Only use ld -R flag in UW 7.1*, since it's new. 2000-11-08 20:27:38 +00:00
Peter Eisentraut 0225d1f01e Fix 'soname's for various platforms, so that libpq.so.2.0 is considered
compatible with libpq.so.2.1, etc.
2000-11-08 20:18:49 +00:00
Peter Eisentraut 5e00df3568 Add dependencies required for parallel make 2000-11-08 18:56:25 +00:00
Peter Eisentraut c6d103a494 Dump identity of alternative location, if any. 2000-11-08 18:23:44 +00:00
Peter Eisentraut 929a599369 Add '-c name=val' flag for setting run-time parameters. 2000-11-08 17:57:46 +00:00
Peter Eisentraut 3304341700 Reimplement alternative database locations with symlinks. No changes in
user interface.
2000-11-08 16:59:50 +00:00
Tom Lane 218f357d82 CLUSTER did no permissions checking, forsooth ... 2000-11-08 16:31:06 +00:00
Thomas G. Lockhart e6e893e74f Enable fallback to string type when argument(s) are of UNKNOWN type.
Same code exactly as for function resolution.
 An obvious example is for
  select '1' = '01';
 which used to throw an error and which now resolves to two text strings.
2000-11-07 16:01:01 +00:00
Bruce Momjian 3af2827f5b This somehow gets moot. Is there a way to make gcc reject those comments?
Andreas
2000-11-07 11:35:16 +00:00
Michael Meskes f27da05c00 Undo incorrectly committed Makefile. 2000-11-07 08:52:22 +00:00
Michael Meskes df8789bb15 Third try. Sorry, I had a wrong path in my copy statement. 2000-11-07 08:46:27 +00:00
Michael Meskes c823b1eedc Added more patches by Cristif Petig. 2000-11-07 08:41:15 +00:00
Tom Lane 5781dbc061 Update for new results. 2000-11-07 06:51:21 +00:00
Tom Lane 52386df4b9 DropErrorMsg() died with assert failure if try to drop a toast table...
mea culpa...
2000-11-07 02:17:50 +00:00
Peter Eisentraut ff0bca613f Update geometry for FreeBSD 4.1 (same as 4.0) 2000-11-06 22:40:30 +00:00
Peter Eisentraut 306c44eead Add -V option to backend, to show version, since --version doesn't seem
to work everywhere.  Also, on FreeBSD you need to set the optreset variable
to 1 before parsing the command line a second time with getopt().
2000-11-06 22:18:10 +00:00
Peter Eisentraut 6f2f169015 Fix GNU make detection.
(The test 'make --version' with FreeBSD make (and potentially others)
would just reinvoke make on the same Makefile, resulting in an infinite
loop.)
2000-11-06 18:18:22 +00:00
Tom Lane db631de531 Add explicit ORDER BYs in a couple of cases --- seems to be necessary
to get platform-independent results.
2000-11-06 18:11:46 +00:00
Tom Lane e8f1340fe0 I think Thomas missed an update here... 2000-11-06 18:11:03 +00:00
Bruce Momjian a9d5289d3c Back out aix makefile patch. 2000-11-06 18:06:58 +00:00
Bruce Momjian 712c8bba84 Makefile.ports (copied from makefiles/Makefile.aix) is included before
the default target in GNUmakefile is reached.  This patch calls that
default target.

Pete Forman
2000-11-06 17:07:43 +00:00
Thomas G. Lockhart d9ef7e9ec7 Add support for AT TIME ZONE syntax. 2000-11-06 16:05:25 +00:00
Thomas G. Lockhart 07272c6f8b Add tests for more INTERVAL syntax.
Add more tests for JOIN syntax.
All tests pass on my Linux box (except for the usual couple of lines
 for geometry).
2000-11-06 16:03:47 +00:00
Thomas G. Lockhart 8e8fc32bec Add functions to support AT TIME ZONE syntax.
Update catalog version to today.
2000-11-06 15:58:46 +00:00
Thomas G. Lockhart 2cf1642461 Fix INTERVAL output when year/month has different sign as day/hour etc.
Previously, all fields were unsigned, with only a trailing "ago" to
 indicate negative intervals. Now, ISO format does not use "ago", and
 and the traditional PostgreSQL format has the first numeric field unsigned
 with "ago" supporting that field. So "1 month - 2 days ago" is two days
 less than a month in the past.
Fix interval arithmetic across daylight savings time boundaries.
 Previously, most math across boundaries introduced a one hour offset.
Allow some date/time functions to return NULL if called with NULL args.
Implement functions for AT TIME ZONE support.
Support "SAT" as an Australian time zone if USE_AUSTRALIAN_RULES
 is defined.
2000-11-06 15:57:00 +00:00
Thomas G. Lockhart df9462ac05 Implement AT TIME ZONE SQL9x syntax.
AT is now a keyword but is not a reserved word.
2000-11-06 15:47:17 +00:00
Thomas G. Lockhart 155e0b998a Allow type resolution for UNKNOWN arguments to functions to fall back to
any available string type. Previously, all candidate choices must have
 fallen within the same "type category" for PostgreSQL to be willing to
 choose any of them.
Need to apply the same fixup to operator type resolution.
2000-11-06 15:42:30 +00:00
Vadim B. Mikheev f0e37a8531 New CHECKPOINT command.
Auto removing of offline log files and creating new file
at checkpoint time.
2000-11-05 22:50:21 +00:00
Peter Eisentraut 7267fdd7a3 Add some configure checks for DocBook and related tools. With a somewhat
standard installation layout it should be possible to build the HTML
and print documentation without additional manual setup.
2000-11-05 21:04:07 +00:00
Tom Lane dd03129b9f UNION select in a CREATE RULE caused a weird error, because transformRuleStmt
got confused by 'dummy' targetlist built for the UNION's toplevel query.
Fix by making dummy targetlist a little less cheesy.
2000-11-05 01:42:07 +00:00
Tom Lane 11f7b29054 Allow ORDER BY, LIMIT in sub-selects. Fix most (not all) cases where
the grammar did not allow redundant parentheses around sub-selects.
Distinguish LIMIT ALL from LIMIT 0; make the latter behave as one would
expect.
2000-11-05 00:15:54 +00:00
Bruce Momjian 4b71943bb2 Make PROCEDURAL optional in CREATE/DROP LANGUAGE. 2000-11-04 21:04:56 +00:00
Bruce Momjian 90c63942c4 This patch should allow primary/foreign key
definitions using inherited columns in the
create table statement.

Stephan Szabo
2000-11-04 18:29:09 +00:00
Peter Eisentraut b61f681f23 Remove .SECONDARY: target again, because GNU make 3.78.1 will get mighty
confused in src/interfaces/libpq for some reason.  Seemingly, different
GNU make versions have several mutually conflicting problems with implicit
rule chains.  Words are not sufficient...
2000-11-04 16:39:02 +00:00
Peter Eisentraut c7a794998a Separate CFLAGS_SL and CXXFLAGS_SL, to allow building with C and C++
compilers from different providers.  (Especially important since the
C++ compiler that goes with your favourite C compiler might not work.)
2000-11-04 16:35:55 +00:00
Peter Eisentraut 1fdf2edc9d Put -Ae into CC not CFLAGS, since it's not optional. 2000-11-04 14:34:54 +00:00
Peter Eisentraut 4aa1aabd7a This is no longer used since we have the 'resultmap'. 2000-11-04 13:37:39 +00:00
Peter Eisentraut 1f2f53c648 Since the backend now handles relative PGDATA, initdb doesn't have to work
around anymore.
2000-11-04 12:47:48 +00:00
Peter Eisentraut abfb417574 Make the backend grok relative paths for the data directory by converting
it to an absolute path.
2000-11-04 12:43:24 +00:00
Tatsuo Ishii 6862a05364 Fix for missing EUC_TW encoding 2000-11-04 02:27:56 +00:00
Peter Eisentraut 7301660048 outdated and obsolete 2000-11-03 20:38:42 +00:00
Peter Eisentraut a18490b73d Add global .SECONDARY: target to not allow make to delete intermediate
target files in implicit rule chains.  That might have been a cool idea
but it seems to be too buggy to work, as it caused spurious recompiles in
several places.
2000-11-03 20:27:40 +00:00
Tom Lane 6be6a185d9 Minor code cleanups, make in_group() check faster. 2000-11-03 19:02:18 +00:00
Tom Lane aceec9ae1a Fix bug reported by bobson: aclinsert3 would delete the 'world' entry
from an ACL list if it had no permissions remaining, which confused
aclcheck terribly.  Also clean up code a little.
2000-11-03 19:01:36 +00:00
Peter Eisentraut dfda21e7a6 Add configure check to see whether <string.h> and <strings.h> may both be
included, and then include <strings.h> if so.  Several systems already
needed <strings.h> anyway.  Some new systems that claim to conform to the
Unix 9x "standard" do not declare str[n]casemp() in string.h, and C99
compilers will not like that.
2000-11-03 18:43:52 +00:00