Commit Graph

9465 Commits

Author SHA1 Message Date
Bruce Momjian
560a2c017c Correct optional args in psql \? as pointed out by Ian Barwick. 2002-03-11 18:22:03 +00:00
Bruce Momjian
80bbfe76d5 Inlined a patch to add the libpq setNoticeProcessor capability to
libpq++.

Ofir Reichenberg
2002-03-11 15:08:18 +00:00
Michael Meskes
9f9e3c9803 Changed the version numbers, but did not commit the Makefiles. 2002-03-11 12:56:02 +00:00
Hiroshi Inoue
dadb718b10 Bug fixes for the 2002-03-08 change.
1) Put back the error message for SQLError().
2) Change Disallow premature to handle the SELECTed
   result.
3) Put back the behavior of AUTUCOMMIT mode change.
4) Fix SQLColumns for ODBC3.0.

5) Improve the handling of variable bookmark in ODBC3.0.
6) Enable Recognize Unique Index Button.
2002-03-11 10:25:57 +00:00
Michael Meskes
7f7fb4e64c Fixed two bugs in define command in pgc.l 2002-03-10 12:09:54 +00:00
Bruce Momjian
a35b6b6418 Add DEFAULT_INDEX_TYPE == "btree", for clarity. 2002-03-10 06:02:24 +00:00
Bruce Momjian
ee27436f6c Disable brackets in multi-statement rules, as discussed. 2002-03-10 06:00:15 +00:00
Thomas G. Lockhart
f20509551d Guard against NULL strings in SET key=val constructs.
Problem noted by Fernando Nasser.
2002-03-09 17:37:16 +00:00
Dave Cramer
ee2154829e Added a check for not calling next() before getting objects from the result set,
moved the check for columnIndex into same call
check at the top of all getXXX
added appropriate error
2002-03-09 17:36:14 +00:00
Tom Lane
c422b5ca6b Code review for improved-hashing patch. Fix some portability issues
(char != unsigned char, Datum != uint32); make use of new hash code in
dynahash hash tables and hash joins.
2002-03-09 17:35:37 +00:00
Dave Cramer
1eb31d197d Here is a small patch that cleans up some error reporting in the JDBC driver. PSQLExceptions are thrown instead of SQLExceptions and if a warning is received while waiting for the backend secret key, that warning is chained to the new Connection object instead of generating an exception. A couple new error messages have been added. 2002-03-09 17:08:39 +00:00
Bruce Momjian
fdcb8516d4 Wording improvements to runtime.sgml. Add mention in postgresql.conf
file that SIGHUP or "pg_ctl reload" are required for changes to take
affect on a running server.
2002-03-09 05:11:38 +00:00
Bruce Momjian
db1d7a9ada Improve wording of pg_hba.conf file. 2002-03-08 20:36:58 +00:00
Hiroshi Inoue
fc70104725 Remove compile errors. 2002-03-08 09:50:39 +00:00
Hiroshi Inoue
4b47467a6b 1) Implement SQLParamOptions().
2) Handle Multiple results and implement SQLMoreResult().
3) Improve multibyte handling thanks to Eiji Tokuya.
4) Add new options.
   LF <-> CR/LF converion.
   TRUE is -1 (for VB).
5) Introduce unicode(UCS-2) support.
6) Reduce the length of connection strings.
7) Improve SQLError, SQLGetDiagRec(ODBC 3.0).
8) Implement SQLTablePrivileges().
9) Miscellaneous changes for ODBC 3.0 support.
2002-03-08 08:52:55 +00:00
Tom Lane
21f8aa396f analyze.o need not depend on parser.h. 2002-03-08 07:12:11 +00:00
Tom Lane
01fe40f5c5 Remove unnecessary inclusion. 2002-03-08 06:55:08 +00:00
Tom Lane
cf68a686a6 Fix copying/equality-check bugs in GrantStmt and ConstraintsSetStmt,
per reports from Fernando Nasser.  Also, rearrange order of declarations
in parsenodes.h as suggested by Fernando.
2002-03-08 04:37:18 +00:00
Bruce Momjian
ee81126d1f TODO item done:
* Change FIXED_CHAR_SEL to 0.20 from 0.04 to give better selectivity (Bruce)
2002-03-08 04:29:01 +00:00
Tom Lane
98b3ae7378 Add missing colon to getopt() arg. 2002-03-08 00:42:09 +00:00
Bruce Momjian
08e1664ab4 Add FULL in VACUUM psql completion. 2002-03-07 20:48:41 +00:00
Bruce Momjian
7ce0f9c375 Adjust elog() tags so source and regression tests match. 2002-03-07 20:18:15 +00:00
Bruce Momjian
7d1b8fe716 Back out psql domain improvements until domain is applied. 2002-03-07 17:54:42 +00:00
Bruce Momjian
b976b8af80 Back out domain patch until it works properly. 2002-03-07 16:35:41 +00:00
Bruce Momjian
609f71b760 Also an small change to the tab-complete feature of psql which allows to
use tables and views interchangeably.

Manuel Sugawara
2002-03-07 04:45:53 +00:00
Bruce Momjian
9178b7fcea Fix syntax error introduced by patch. 2002-03-06 21:49:52 +00:00
Bruce Momjian
7ab7467318 I've attached a patch which implements Bob Jenkin's hash function for
PostgreSQL. This hash function replaces the one used by hash indexes and
the catalog cache. Hash joins use a different, relatively poor-quality
hash function, but I'll fix that later.

As suggested by Tom Lane, this patch also changes the size of the fixed
hash table used by the catalog cache to be a power-of-2 (instead of a
prime: I chose 256 instead of 257). This allows the catcache to lookup
hash buckets using a simple bitmask. This should improve the performance
of the catalog cache slightly, since the previous method (modulo a
prime) was slow.

In my tests, this improves the performance of hash indexes by between 4%
and 8%; the performance when using btree indexes or seqscans is
basically unchanged.

Neil Conway <neilconway@rogers.com>
2002-03-06 20:49:46 +00:00
Bruce Momjian
5b5cef9abd Enable ALTER TABLE ADD PRIMARY KEY for pg_dump, for performance reasons
so index is not on table during COPY.

> > AFAICT, the patch I posted to -patches a little while to enable the
> > usage of ALTER TABLE ADD PRIMARY KEY by pg_dump hasn't been applied, nor
> > is it in the unapplied patches list. I was under the impression that
> > this was in the queue for application -- did it just get lost?

Neil Conway <neilconway@rogers.com>
2002-03-06 20:48:42 +00:00
Bruce Momjian
c666d6fd41 Here is a diff of changes to the psql source code implementing a simple
'list domains' command '\dD'. This is the interface component of
rbt@zort.ca's domain backend modifications.

Jonathan Eisler
2002-03-06 20:39:45 +00:00
Bruce Momjian
01c76f7411 Ok. Updated patch attached.
- domain.patch -> source patch against pgsql in cvs
- drop_domain.sgml and create_domain.sgml -> New doc/src/sgml/ref docs

- dominfo.txt -> basic domain related queries I used for testing
[ ADDED TO /doc]

Enables domains of array elements -> CREATE DOMAIN dom int4[3][2];

Uses a typbasetype column to describe the origin of the domain.

Copies data to attnotnull rather than processing in execMain().

Some documentation differences from earlier.

If this is approved, I'll start working on pg_dump, and a \dD <domain>
option in psql, and regression tests.  I don't really feel like doing
those until the system table structure settles for pg_type.


CHECKS when added, will also be copied to to the table attributes.  FK
Constraints (if I ever figure out how) will be done similarly.  Both
will lbe handled by MergeDomainAttributes() which is called shortly
before MergeAttributes().

Rod Taylor
2002-03-06 20:35:02 +00:00
Bruce Momjian
3d9f865e94 Modify ALTER TABLE OWNER to change index ownership; code cleanup.
Neil Conway
2002-03-06 19:58:26 +00:00
Bruce Momjian
7d5edf2ba7 Add new elog() levels to stored procedure languages. plperl DEBUG hack
still needed because only removed in 7.4.
2002-03-06 18:50:33 +00:00
Bruce Momjian
9956c566e3 Add libpgeasy example file. 2002-03-06 14:40:05 +00:00
Michael Meskes
5ca7c8e314 Synced parser with backend. 2002-03-06 10:10:52 +00:00
Bruce Momjian
4e15b9233d Improve elog descriptions. 2002-03-06 06:23:20 +00:00
Bruce Momjian
e6227fd0ec Add missing Unicode multibyte files. 2002-03-06 06:12:59 +00:00
Bruce Momjian
92288a1cf9 Change made to elog:
o  Change all current CVS messages of NOTICE to WARNING.  We were going
to do this just before 7.3 beta but it has to be done now, as you will
see below.

o Change current INFO messages that should be controlled by
client_min_messages to NOTICE.

o Force remaining INFO messages, like from EXPLAIN, VACUUM VERBOSE, etc.
to always go to the client.

o Remove INFO from the client_min_messages options and add NOTICE.

Seems we do need three non-ERROR elog levels to handle the various
behaviors we need for these messages.

Regression passed.
2002-03-06 06:10:59 +00:00
Dave Cramer
39c58b9065 changed Cancel to cancel 2002-03-06 03:07:45 +00:00
Dave Cramer
ffe356b5dd backed out changes for cancel, no need to look for two 'Z' responses 2002-03-05 20:11:57 +00:00
Dave Cramer
29ea8ff9b1 Patch by Nicolas Verger to correctly propogate SQLWarning to the Statement and ResultSet 2002-03-05 18:02:44 +00:00
Dave Cramer
ff2f9b663f fixed cancel query bug introduced by patch 2002-03-05 18:01:27 +00:00
Bruce Momjian
0416641baa At this moment, --enable-debug adds debugging information to most of the
parts o f postgresql. The jdbc drivers are never compiled with debugging
support. This p atch make sure that debugging information is added to
the jdbc jar when the --en able-debug is added. This was usefull for me
for debugging some java jdbc poolin g objects but this might perhaps be
usefull for other people too?

Dries Verachtert
2002-03-05 17:55:23 +00:00
Bruce Momjian
af41101a40 Prevent failed passwords from being echoed to server logs, for security. 2002-03-05 07:57:45 +00:00
Bruce Momjian
16d6615b41 Prevent failed passwords from being echoed to server logs, for security. 2002-03-05 06:52:05 +00:00
Bruce Momjian
ed5eb09cce Adds \du documentation line for \? in psqls help.c
Thought I saw a patch earlier converting docs to use []s, so this uses
them.

Rod Taylor
2002-03-05 06:13:19 +00:00
Bruce Momjian
6024ac1ba0 Back out old version and update with newer patch of:
Fix for non-blocking connections in libpq

Bernhard Herzog
2002-03-05 06:07:27 +00:00
Bruce Momjian
a8bd7e1c6e > Tatsuo Ishii wrote:
> > > > It was made to cope with encoding such as an Asian bloc in 7.2Beta2.
> > > >
> > > > Added ServerEncoding
> > > >         Korean (JOHAB), Thai (WIN874),
> > > >         Vietnamese (TCVN), Arabic (WIN1256)
> > > >
> > > > Added ClientEncoding
> > > >         Simplified Chinese (GBK), Korean (UHC)
> > > >
> > > >
> > > >
> http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2b2.newencoding.diff.tar.gz
> > > > (608K)
> > >
> > > Looks good.  I need some people to review this for me.
> >
> > For me they look good too. The only missing part is a
> > documentation. I will ask him to write it up. If he couldn't, I will
> > do it for him.
> > > The diff is 3mb
> > > but appears to address only additions to multibyte.  I have attached a
> > > list of files it modifies.  Also, look at the sizes of the mb/
> > > directory.  It is getting large:
> > >
> > >   4       ./CVS
> > >   6       ./Unicode/CVS
> > >   3433    ./Unicode
> > >   6197    .
> >
> > Yes. We definitely need the on-the-fly encoding addition capability:
> > i.e. CREATE CHRACTER SET in the future...
> > --
> > Tatsuo Ishii
> >
> >

Address chainge.

http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2.newencoding.diff.gz

Add PsqlODBC and document ...etc patch.

Eiji Tokuya
2002-03-05 05:52:50 +00:00
Bruce Momjian
03194432de I attach a version of my toast-slicing patch, against current CVS
(current as of a few hours ago.)

This patch:

1. Adds PG_GETARG_xxx_P_SLICE() macros and associated support routines.

2. Adds routines in src/backend/access/tuptoaster.c for fetching only
necessary chunks of a toasted value. (Modelled on latest changes to
assume chunks are returned in order).

3. Amends text_substr and bytea_substr to use new methods. It now
handles multibyte cases -and should still lead to a performance
improvement in the multibyte case where the substring is near the
beginning of the string.

4. Added new command: ALTER TABLE tabname ALTER COLUMN colname SET
STORAGE {PLAIN | EXTERNAL | EXTENDED | MAIN} to parser and documented in
alter-table.sgml. (NB I used ColId as the item type for the storage
mode string, rather than a new production - I hope this makes sense!).
All this does is sets attstorage for the specified column.

4. AlterTableAlterColumnStatistics is now AlterTableAlterColumnFlags and
handles both statistics and storage (it uses the subtype code to
distinguish). The previous version of my patch also re-arranged other
code in backend/commands/command.c but I have dropped that from this
patch.(I plan to return to it separately).

5. Documented new macros (and also the PG_GETARG_xxx_P_COPY macros) in
xfunc.sgml. ref/alter_table.sgml also contains documentation for ALTER
COLUMN SET STORAGE.

John Gray
2002-03-05 05:33:31 +00:00
Bruce Momjian
276fc7ce82 I was digging through the GiST code, and figured I'd fix up some of the
"bad smell" in that code. Stuff like function parameters that aren't
used, typos in the comments, comparison between signed and unsigned
ints, etc.

Attached is a pretty trivial patch; it compiles, but beyond that
completely untested. Unless anyone sees any problems, please apply for
7.3.

Neil Conway
2002-03-05 05:30:40 +00:00
Bruce Momjian
33766e680d Here's a patch against 7.1.3 that fixes a problem with sending larger
queries over non-blocking connections with libpq. "Larger" here
basically means that it doesn't fit into the output buffer.

The basic strategy is to fix pqFlush and pqPutBytes.

The problem with pqFlush as it stands now is that it returns EOF when an
error occurs or when not all data could be sent. The latter case is
clearly not an error for a non-blocking connection but the caller can't
distringuish it from an error very well.

The first part of the fix is therefore to fix pqFlush. This is done by
to renaming it to pqSendSome which only differs from pqFlush in its
return values to allow the caller to make the above distinction and a
new pqFlush which is implemented in terms of pqSendSome and behaves
exactly like the old pqFlush.

The second part of the fix modifies pqPutBytes to use pqSendSome instead
of pqFlush and to either send all the data or if not all data can be
sent on a non-blocking connection to at least put all data into the
output buffer, enlarging it if necessary. The callers of pqPutBytes
don't have to be changed because from their point of view pqPutBytes
behaves like before. It either succeeds in queueing all output data or
fails with an error.

I've also added a new API function PQsendSome which analogously to
PQflush just calls pqSendSome. Programs using non-blocking queries
should use this new function. The main difference is that this function
will have to be called repeatedly (calling select() properly in between)
until all data has been written.

AFAICT, the code in CVS HEAD hasn't changed with respect to non-blocking
queries and this fix should work there, too, but I haven't tested that
yet.

Bernhard Herzog
2002-03-05 05:20:12 +00:00
Tom Lane
944671820f Previous patch to mark UNION outputs with common typmod (if any) breaks
three-or-more-way UNIONs, as per example from Josh Berkus.  Cause is a
fragile assumption that one tlist's entries will exactly match another.
Restructure code to make that assumption a little less fragile.
2002-03-05 05:10:24 +00:00
Dave Cramer
17b6baf17d Doug Fields patch to prevent exception being thrown on zero length arrays 2002-03-05 03:46:03 +00:00
Dave Cramer
fe4e95f682 patch from Zhenbang Wei
The errors_zh_TW.properties must be translated using native2ascii or it
will raise an exception. Please replace the old file.
2002-03-05 03:33:29 +00:00
Dave Cramer
8f83590aa1 Patch from Ryouichi Matsuda
An attached patch corrects problem of this bug and fractional second.


 The handling of time zone was as follows:

   (a) with time zone
       using  SimpleDateFormat("yyyy-MM-dd HH:mm:ss z")
   (b) without time zone
       using  SimpleDateFormat("yyyy-MM-dd HH:mm:ss")


 About problem of fractional second,
 Fractional second was changed from milli-second to nano-second
2002-03-05 03:29:30 +00:00
Dave Cramer
7aa6270fc7 patch from Mitchel Friedman to fix getTables 2002-03-05 03:02:52 +00:00
Bruce Momjian
925d60ee53 Showing index details with \d on psql.
Greg Sabino Mullane
2002-03-05 02:42:56 +00:00
Dave Cramer
521017c5d0 patch from Vicktor to fix Numeric decimal digits in getColumns 2002-03-05 02:14:08 +00:00
Bruce Momjian
fef790cc03 Back out python patch:
Elliot Lee wrote:
> This patch to the python bindings adds C versions of the often-used
query
> args quoting routines, as well as support for quoting lists e.g.
> dbc.execute("SELECT * FROM foo WHERE blah IN %s", ([1,2,3],))
2002-03-05 02:01:44 +00:00
Bruce Momjian
14b05248cc This patch to the python bindings adds C versions of the often-used
query args quoting routines, as well as support for quoting lists e.g.
dbc.execute("SELECT * FROM foo WHERE blah IN %s", ([1,2,3],))

Elliot Lee
2002-03-05 00:23:13 +00:00
Bruce Momjian
25b0b09fd3 Add \timing patch to psql. Times all queries.
Greg Sabino Mullane
2002-03-05 00:01:03 +00:00
Bruce Momjian
294f0d4bd6 Add PQunescapeBytea libpq function.
Everyone using libpq and bytea is probably having to invent this wheel..

Patrick Welche
2002-03-04 23:59:14 +00:00
Bruce Momjian
b2aade0e4b Improve libpgeasy API for multiple result sets, add example. 2002-03-04 18:50:21 +00:00
Tom Lane
e7db8fa80e Add Assert check to catch vsnprintf overrunning its buffer. (Seen to
occur on Solaris 7 in 64-bit mode, for one.)
2002-03-04 18:34:02 +00:00
Tom Lane
dd178e37f0 Make port makefile slightly less crufty. 2002-03-04 17:43:32 +00:00
Tom Lane
26c246036d Fix very ancient breakage in alter-table tests: apparently, there was a
type named 'dt' back in Postgres 4.2, and the regression test wasn't
updated when it was removed.  Per report from Patricia Holben of Great
Bridge.
2002-03-04 05:17:55 +00:00
Tom Lane
653556cc26 If presented db path has a trailing slash, remove it to avoid generating
double slashes in generated filenames.  This is not strictly necessary
on standard Unixen, but I'm being a neatnik...
2002-03-04 04:45:27 +00:00
Tatsuo Ishii
3382fbb60d Fix bug in extract/date_part for milliseconds/miscroseconds and
timestamp/timestamptz combo. Now extract/date_part returns
seconds*1000 or 1000000 + fraction part as the manual stats.
regression test are also fixed.

See the thread in pgsql-hackers:

Subject: Re: [HACKERS] timestamp_part() bug?
Date: Sat, 02 Mar 2002 11:29:53 +0900
2002-03-04 03:55:50 +00:00
Tom Lane
a616cbc5e3 Fix bogus error check in pg_execute, per report from lbayuk@mindspring.com. 2002-03-04 02:41:49 +00:00
Tom Lane
36f693ec69 Further work on elog cleanup: fix some bogosities in elog's logic about
when to send what to which, prevent recursion by introducing new COMMERROR
elog level for client-communication problems, get rid of direct writes
to stderr in backend/libpq files, prevent non-error elogs from going to
client during the authentication cycle.
2002-03-04 01:46:04 +00:00
Tom Lane
26ac217173 Catcaches can now store negative entries as well as positive ones, to
speed up repetitive failed searches; per pghackers discussion in late
January.  inval.c logic substantially simplified, since we can now treat
inserts and deletes alike as far as inval events are concerned.  Some
repair work needed in heap_create_with_catalog, which turns out to have
been doing CommandCounterIncrement at a point where the new relation has
non-self-consistent catalog entries.  With the new inval code, that
resulted in assert failures during a relcache entry rebuild.
2002-03-03 17:47:56 +00:00
Bruce Momjian
343e47c27d Default server_min_messages is NOTICE. 2002-03-03 02:11:09 +00:00
Tom Lane
ce7a4f06a2 Cause regression tests to pass again after elog changes. 2002-03-03 01:05:22 +00:00
Tom Lane
cfae62c476 Some kibitzing about appropriate elog levels for sinval messages. 2002-03-02 23:35:57 +00:00
Bruce Momjian
a033daf566 Commit to match discussed elog() changes. Only update is that LOG is
now just below FATAL in server_min_messages.  Added more text to
highlight ordering difference between it and client_min_messages.

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

REALLYFATAL => PANIC
STOP => PANIC
New INFO level the prints to client by default
New LOG level the prints to server log by default
Cause VACUUM information to print only to the client
NOTICE => INFO where purely information messages are sent
DEBUG => LOG for purely server status messages
DEBUG removed, kept as backward compatible
DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added
DebugLvl removed in favor of new DEBUG[1-5] symbols
New server_min_messages GUC parameter with values:
        DEBUG[5-1], INFO, NOTICE, ERROR, LOG, FATAL, PANIC
New client_min_messages GUC parameter with values:
        DEBUG[5-1], LOG, INFO, NOTICE, ERROR, FATAL, PANIC
Server startup now logged with LOG instead of DEBUG
Remove debug_level GUC parameter
elog() numbers now start at 10
Add test to print error message if older elog() values are passed to elog()
Bootstrap mode now has a -d that requires an argument, like postmaster
2002-03-02 21:39:36 +00:00
Tom Lane
8d8aa931ef Add code to allow profiling of backends on Linux: save and restore the
profiling timer setting across fork().  The correct way to build a
profilable backend on Linux is now gmake PROFILE="-pg -DLINUX_PROFILE"
2002-03-02 20:46:12 +00:00
Tom Lane
78ab803402 Don't bother to request SSL connection over a Unix socket, since the
postmaster won't accept the request anyway.  (If your kernel can't
be trusted, SSL will not help you.)
2002-03-02 00:49:22 +00:00
Tom Lane
608d843e61 Array slice extraction should produce a result array with index lower
bounds of 1, not the lower bound subscripts of the original slice.
Per bug report from Andre Holzner, 1-Feb-02.
2002-03-02 00:34:24 +00:00
Peter Eisentraut
1aac2c852a User and database-specific session defaults for run-time configuration
variables.  New commands ALTER DATABASE ... SET and ALTER USER ... SET.
2002-03-01 22:45:19 +00:00
Peter Eisentraut
851f766115 array_ref() should set isNull to false explicitly if it's not going to
return NULL.
2002-03-01 22:17:10 +00:00
Tom Lane
54f7f62d4a Fix thinko: cost_mergejoin must pay attention to which side of the
mergeclause is which when extracting selectivity info.
2002-03-01 20:50:20 +00:00
Hiroshi Inoue
e1716475e4 Add files for Unicode support. 2002-03-01 07:18:34 +00:00
Tom Lane
8f0a9e85b3 Second thoughts dept: arrange to cache mergejoin scan selectivity
in RestrictInfo nodes, instead of recomputing on every use.
2002-03-01 06:01:20 +00:00
Tom Lane
f8c109528c Teach planner about the idea that a mergejoin won't necessarily read
both input streams to the end.  If one variable's range is much less
than the other, an indexscan-based merge can win by not scanning all
of the other table.  Per example from Reinhard Max.
2002-03-01 04:09:28 +00:00
Tom Lane
fdc60bd9d9 Tweak pg_exec_query_string so that we close down transaction command
before reporting command-complete message for the final command of a
query string.  This way, any errors detected during finish_xact_command
(such as RI violations) will appear to be part of the final command,
rather than coming out after the command is reported complete.  This
avoids confusing PQendcopy and other not-overly-bright clients.
Per Lee Harr's bug report of 25-Feb-02.
2002-02-27 23:16:07 +00:00
Tom Lane
af1b72d83b #ifdef out pg_dump's check on whether a sequence's sequence_name field
matches the sequence name from pg_class.  This fails if the sequence has
been renamed, and seems rather pointless in any case.
Also improve a couple of error messages about inconsistencies.
2002-02-27 20:59:05 +00:00
Tom Lane
04cb9a6a16 Paranoia about data structure lifetime ... 2002-02-27 19:52:41 +00:00
Tom Lane
6779c55c22 Clean up BeginCommand and related routines. BeginCommand and EndCommand
are now both invoked once per received SQL command (raw parsetree) from
pg_exec_query_string.  BeginCommand is actually just an empty routine
at the moment --- all its former operations have been pushed into tuple
receiver setup routines in printtup.c.  This makes for a clean distinction
between BeginCommand/EndCommand (once per command) and the tuple receiver
setup/teardown routines (once per ExecutorRun call), whereas the old code
was quite ad hoc.  Along the way, clean up the calling conventions for
ExecutorRun a little bit.
2002-02-27 19:36:13 +00:00
Hiroshi Inoue
fc3726b4b9 Improve the handling of ODBC escape(a request from Marcelo Aceto).
Change SQLGetFunctions() to reply not yet implemented ODBC 3.0
functions precisely.
2002-02-27 01:43:24 +00:00
Tatsuo Ishii
21f9a654f0 Fix bug in COPY FROM when DELIMITER is not in ASCII range.
See pgsql-bugs/pgsql-hackers discussion "COPY FROM is not 8bit clean"
around 2002/02/26 for more details -- Tatsuo Ishii
2002-02-27 01:34:41 +00:00
Tom Lane
56ee2ecba9 Restructure command-completion-report code so that there is just one
report for each received SQL command, regardless of rewriting activity.
Also ensure that this report comes from the 'original' command, not the
last command generated by rewrite; this fixes 7.2 breakage for INSERT
commands that have actions added by rules.  Fernando Nasser and Tom Lane.
2002-02-26 22:47:12 +00:00
Dave Cramer
7776319a7e Implementation for cancelQuery by Grant Finnemore <grantf@guruhut.co.za> 2002-02-26 02:15:55 +00:00
Tom Lane
29e3ef0fe9 Use quote-marks to try to clarify a plpgsql error message, per
gripe from Dan Langille.
2002-02-26 00:00:08 +00:00
Tom Lane
86a07143d4 Tweak psql's \connect command to not downcase unquoted database and user
names.  This is a temporary measure to allow backwards compatibility with
7.2 and earlier pg_dump.  7.2.1 and later pg_dump will double-quote mixed
case names in \connect.  Once we feel that older dumps are not a problem
anymore, we can revert this change and treat \connect arguments as normal
SQL identifiers.
2002-02-25 21:37:42 +00:00
Bruce Momjian
f75e16d459 Fix for PAM error message display:
> and that the right fix is to make each of the subsequent calls be in
> this same pattern, not to try to emulate their nonsensical style.

Dominic J. Eidson
2002-02-25 20:07:02 +00:00
Tom Lane
f70a7e3832 Add note that BLCKSZ must be a power of 2. 2002-02-25 17:11:22 +00:00
Thomas G. Lockhart
c1911c94e9 Add a large number of time zones to the lookup table.
Fix a few apparently-wrong TZ vs DTZ declarations.
2002-02-25 16:17:04 +00:00
Bruce Momjian
b4a09eaaad This patch will allow arbitrary levels of analyze / rewriting
by making the static variables extra_before and extra_after
automatic so we can use recursion.

It gets much easier to generate extra commands now, and one can rest
assured that the extra commands will be properly analyzed/rewritten.


Without this patch, if a command produced by transformation tries to
use these static lists their first contents would be lost with
unpredictable results.  I know I could fix this by just using nconc()
instead of assignments, but the resulting order of the commands would
not be exactly what one could expect.

--
Fernando Nasser
2002-02-25 04:21:55 +00:00
Bruce Momjian
f5dff44736 I've attached a simple patch which should improve the performance of
hashname() and reduce the penalty incured when NAMEDATALEN is increased.
I posted this to -hackers a couple days ago, and there haven't been any
major complaints. It passes the regression tests. See -hackers for more
discussion, as well as the suggestion from Tom Lane on which this patch
is based.

Unless anyone sees any problems, please apply for 7.3.

Cheers,

Neil Conway
2002-02-25 04:06:52 +00:00
Bruce Momjian
eb54314bb7 Re-add equals documentation with CREATE DATABASE. 2002-02-25 03:37:14 +00:00
Bruce Momjian
95ec9ff2f7 Remove documentation of equals in CREATE DATABASE. Mention removal of
equals hack for the future.
2002-02-25 02:53:46 +00:00
Tom Lane
c3fe58ed63 Fix bogus createdb option syntax recommended by initlocation message. 2002-02-24 23:59:36 +00:00
Tom Lane
75e5e20d0e Add -O/--owner switch to createdb script, in support of new OWNER option
for CREATE DATABASE.
2002-02-24 23:27:58 +00:00
Tom Lane
36d2cc1d57 Modify pg_dumpall so that output script uses new OWNER option of CREATE
DATABASE; also make it use SET SESSION AUTHORIZATION commands rather than
\connect commands.  This makes it possible to restore databases belonging
to users who do not have CREATEDB privilege.  It should also become at
least somewhat feasible to run the restore script under password
authentication --- you'll get one superuser password prompt per database,
rather than a large number of challenges for passwords belonging to
varying unspecified user names.
2002-02-24 21:57:23 +00:00
Tom Lane
a833c441fd Add OWNER option to CREATE DATABASE, so superusers can create databases
on behalf of unprivileged users.  Also, make '=' optional in CREATE
DATABASE syntax.  From Gavin Sherry, with kibitzing and docs by Tom Lane.
2002-02-24 20:20:21 +00:00
Dave Cramer
f66f7a542f compiles correctly but still doesn't work with jdk 1.4 2002-02-24 16:12:51 +00:00
Bruce Momjian
87675fab6f pgindent copy.c. Patch wasn't in proper format. 2002-02-24 02:33:33 +00:00
Bruce Momjian
0cd8cb1a03 Free files on dir open failure in COPY. 2002-02-24 02:32:26 +00:00
Bruce Momjian
b3199bc9fa OK'ed by Peter.
The attached patch enables plperl to build under Cygwin.  It is
basically yet another BE_DLLLIBS patch with a perl MakeMaker twist.  I
tried the patch under Red Hat 7.1 Linux too and I did not observe any
ill effects.

Jason Tishler
2002-02-23 21:49:10 +00:00
Bruce Momjian
5f644ea699 Add fstat / S_ISDIR checks to make sure we're not trying to use a
directory for COPY TO/FROM.

Brent Verner
2002-02-23 21:46:03 +00:00
Bruce Momjian
ec4027f85b Feature patch per prev thread for --with-tcl, only affects AIX
patch is low risc, thus could be applied now, but can also wait for 7.3
Old Makefile shows, that -bnoentry is available since 4.1 .

Andreas Zeugswetter
2002-02-23 21:25:35 +00:00
Tom Lane
9a279da73d Guard against createdb --location=PGDATA foo; without this, the code
tries to create a symlink pointing at itself.  Per trouble report from
Kenneth McDowell.
2002-02-23 20:55:46 +00:00
Peter Eisentraut
42c3381fc7 Heimdal support (Kerberos V implementation from KTH) 2002-02-23 04:17:47 +00:00
Peter Eisentraut
0055a39390 Add -Wno-error to CFLAGS, so the rest of the tree can compile with
-Werror.
2002-02-23 04:16:04 +00:00
Peter Eisentraut
51f195580f Save source of GUC settings, allowing different sources to be processed in
any order without affecting results.
2002-02-23 01:31:37 +00:00
Bruce Momjian
ab786f6299 Make factorial(0) return 1, as per spec. 2002-02-23 01:01:30 +00:00
Bruce Momjian
73732ef914 We had a problem with to compile pgsql-7.2 under SW-8.0.
In the mailing lists I found no informations.
See note for further informations.

Add missing AuthBlockSig.

regards Heiko
2002-02-22 15:39:42 +00:00
Dave Cramer
391e1f7b7f fixed compile error 2002-02-22 03:22:31 +00:00
Dave Cramer
8c17e4e0fc This patch fixes the exception thrown to inform the user the method
getColumnClassName(int) is not implemented. This will futher fixes method
ResultSet.getObject(int) since it requires the getColumnClassName(int) method to return the proper java class used to map the database column.

auther Ed Yu
2002-02-22 02:58:24 +00:00
Dave Cramer
deaad93462 Patch from Cormac Twomey
fixes getIndexInfo throwing NullPointerException
fixes getIndexInfo improper results when multiple key indexs are used
2002-02-22 02:40:09 +00:00
Dave Cramer
0786c61c14 Patch from Cormac Twomey
fixes getIndexInfo throwing NullPointerException
fixes getIndexInfo improper results when multiple key indexs are used
2002-02-22 02:17:13 +00:00
Dave Cramer
178961ad47 now compiles clean with jdk 1.4 2002-02-22 02:07:30 +00:00
Tom Lane
a40c17e17d Fix comment. 2002-02-20 22:47:12 +00:00
Tom Lane
d9b01c13a6 Avoid failures in cash_out and cash_words for INT_MIN.
Also, 'fourty' -> 'forty'.
2002-02-19 22:19:34 +00:00
Tom Lane
2220a2b5d7 Add casts to suppress gcc warnings on Solaris (where apparently pid_t
is different from int).
2002-02-19 20:45:04 +00:00
Tom Lane
7863404417 A bunch of changes aimed at reducing backend startup time...
Improve 'pg_internal.init' relcache entry preload mechanism so that it is
safe to use for all system catalogs, and arrange to preload a realistic
set of system-catalog entries instead of only the three nailed-in-cache
indexes that were formerly loaded this way.  Fix mechanism for deleting
out-of-date pg_internal.init files: this must be synchronized with transaction
commit, not just done at random times within transactions.  Drive it off
relcache invalidation mechanism so that no special-case tests are needed.

Cache additional information in relcache entries for indexes (their pg_index
tuples and index-operator OIDs) to eliminate repeated lookups.  Also cache
index opclass info at the per-opclass level to avoid repeated lookups during
relcache load.

Generalize 'systable scan' utilities originally developed by Hiroshi,
move them into genam.c, use in a number of places where there was formerly
ugly code for choosing either heap or index scan.  In particular this allows
simplification of the logic that prevents infinite recursion between syscache
and relcache during startup: we can easily switch to heapscans in relcache.c
when and where needed to avoid recursion, so IndexScanOK becomes simpler and
does not need any expensive initialization.

Eliminate useless opening of a heapscan data structure while doing an indexscan
(this saves an mdnblocks call and thus at least one kernel call).
2002-02-19 20:11:20 +00:00
Tom Lane
8e2998d8a6 Remove some unnecessary pqsignal() calls to shave a few cycles off
backend startup.
2002-02-19 19:54:43 +00:00
Tom Lane
6e546c286c Arrange to call localtime() during postmaster startup. On most Unixen,
the first call of localtime() in a process will read /usr/lib/tztab or
local equivalent.  Better to do this once in the postmaster and inherit
the data by fork() than to have to do it during every backend start.
2002-02-19 19:53:35 +00:00
Tom Lane
9103372f52 Avoid calling pq_flush just after sending AUTH_REQ_OK; this saves one
send() and probable process context swap during backend startup.
2002-02-19 19:49:09 +00:00
Peter Eisentraut
8adf56f77a Privileges on functions and procedural languages 2002-02-18 23:11:58 +00:00
Tom Lane
e4dd067398 Replace number-of-distinct-values estimator equation, per recent
pghackers discussion.
2002-02-18 16:04:14 +00:00
Bruce Momjian
b4a5fa4518 Remove MAX/MIN() macros, use c.h Max/Min() instead. 2002-02-18 14:25:40 +00:00
Bruce Momjian
d622cf867b Disable LIMIT #,# syntax, as agreed to months ago. Print message saying
to use separate LIMIT/OFFSET clauses.
2002-02-18 06:49:20 +00:00
Bruce Momjian
890a012d0a Reorder postgresql.conf WAL section to be clearer. 2002-02-18 06:42:54 +00:00
Bruce Momjian
5651a1665f Don't mention TIOGA in Makefile and move strdup.c rule into proper
'ifdef' in Makefile.
2002-02-18 06:03:23 +00:00
Bruce Momjian
fb8e3f15c0 Add code to preserve paren level display after \g, as submitted months ago. 2002-02-18 05:57:41 +00:00
Hiroshi Inoue
c03e7fbadc Remove compile warnings in multibute mode. 2002-02-18 05:54:50 +00:00
Bruce Momjian
fbcc0d69e8 Fix param handling of create* admin scripts as described months ago.
Properly handles default values.
2002-02-18 05:48:45 +00:00
Bruce Momjian
c448847378 Add better error text:
elog(LOG, "XLogWrite: new log file created - "
                     "consider increasing 'wal_files' in postgresql.conf.");
2002-02-18 05:44:45 +00:00
Bruce Momjian
b0bf66dfbe Add HTML output option to pgcvslog. 2002-02-18 05:33:13 +00:00
Tatsuo Ishii
ab604e8ac3 Fix kanji-coversion key binding. This has been broken since 7.1
Per Yoshinori Ariie's report.
2002-02-18 04:01:27 +00:00
Hiroshi Inoue
3c16d095b5 The version is now 7.01.0010.
1) Handle parameter array.
2) Allow re-use of the connection handle after SQLDisconnect.
3) Reject NULL if no indicator specified.
4) Improve the handling of '_' in table name.
5) Unify internal begin/commit/abort operations.
6) Change SQLTables() to return null not "" for the
   table_owner.
7) Fix a bug about parameter handling reported by Benoit Menendez.
8) Add cast in handling ODBC date/time escape sequences.
9) Fix a bug about cache_size handing in declare/fetch mode.

[ODBC3.0 related]
10) Improve the handling of descriptor handles(ODBC3.0).
11) Improve the type handling of some types for ODBC3.0.

[Thanks to Marcelo Aceto for his useful patches]
12) Allow nested ODBC escape.
13) Allow changing autocommit on/off inside the transaction
    block.
14) Improve the handling of ODBC scalar functions.
2002-02-18 03:16:11 +00:00
Hiroshi Inoue
b6db89a02d Separate info30.c from info.c. 2002-02-18 02:15:04 +00:00
Hiroshi Inoue
22d7fa7de4 Add files for ODBC3.0 support. 2002-02-18 01:43:24 +00:00
Bruce Momjian
4f5991552c Remove ODBC todo, add to main TODO. 2002-02-18 01:15:46 +00:00
Peter Eisentraut
673b48becb Remove warning about automatic inclusion of sqlca. 2002-02-15 17:46:57 +00:00
Tom Lane
3576820e78 Ensure that a cursor is scanned under the same scanCommandId it was
originally created with, so that the set of visible tuples does not
change as a result of other activity.  This essentially makes PG cursors
INSENSITIVE per the SQL92 definition.  See bug report of 13-Feb-02.
2002-02-14 15:24:10 +00:00
Tom Lane
fa046b6a92 Use RTLD_NOW, not RTLD_LAZY, as binding mode for dlopen() on all platforms.
This restores the Linux behavior to what it was in PG 7.0 and 7.1, and
causes other platforms to agree.  (Other well-tested platforms like HPUX
were doing it this way already.)  Per pghackers discussion over the past
month or so.
2002-02-12 23:41:25 +00:00
Tom Lane
9832a235c5 Modify COPY TO to emit carriage returns and newlines as backslash escapes
(backslash-r, backslash-n) for protection against newline-conversion
munging.  In future we will also tweak COPY FROM, but this part of the
change should be backwards-compatible.  Per pghackers discussion.
Also, update COPY reference page to describe the backslash conversions
more completely and accurately.
2002-02-12 21:25:41 +00:00
Tom Lane
028e13bc08 Tweak GiST code to work correctly on machines where 8-byte alignment
of pointers is required.  Patch from Teodor Sigaev per pghackers
discussion.  It's an ugly kluge but avoids forcing initdb; we'll put
a better fix into 7.3 or later.
2002-02-11 22:41:59 +00:00
Peter Eisentraut
2bd15ad0bc Fix for old FreeBSD versions that don't have RTLD_GLOBAL 2002-02-11 21:38:11 +00:00
Tom Lane
6799a6ca21 Repair problems with EvalPlanQual where target table is scanned as
inner indexscan (ie, one with runtime keys).  ExecIndexReScan must
compute or recompute runtime keys even if we are rescanning in the
EPQ case.  TidScan seems to have comparable problems.  Per bug
noted by Barry Lind 11-Feb-02.
2002-02-11 20:10:50 +00:00
Tom Lane
15c30b6f9a Be more wary about mixed-case database names and user names. Get
the CREATE DATABASE command right in pg_dump -C case.
2002-02-11 00:18:20 +00:00
Tom Lane
d99fb0d909 Don't Assert() that fsync() and close() never fail; I have seen this
crash on Solaris when over disk quota.  Instead, report such failures
via elog(DEBUG).
2002-02-10 22:56:31 +00:00
Bruce Momjian
dbb76bf2e0 Move sys/types.h to top, for hiroyuki hanai/ FreeBSD. 2002-02-08 16:30:11 +00:00
Tom Lane
0cc9917bb6 pgstat's truncation of query string needs to be multibyte-aware.
Patch from sugita@sra.co.jp.
2002-02-07 22:20:26 +00:00
Hiroshi Inoue
e206ff5946 Removed a check for REINDEX TABLE. 2002-02-07 00:27:30 +00:00
Tom Lane
6a67d9def0 Fix failure to reconnect as sequence's owner before issuing setval(). 2002-02-06 17:27:50 +00:00
Peter Eisentraut
3ac85b86cb Update Win32-world version number of libpq++. 2002-01-30 21:59:33 +00:00
Tom Lane
bef0c8dc29 Add cast to suppress gcc warning on Darwin platform. 2002-01-30 19:34:55 +00:00
Peter Eisentraut
b84bebfc09 update 2002-01-29 20:39:49 +00:00
Tom Lane
00fc295be0 Make S/390 TAS spell __inline__ the same way as the other eight GCC
inline routines do.
2002-01-29 15:44:42 +00:00
Peter Eisentraut
0d6813df4e Updates from Serguei Mokhov 2002-01-26 19:00:11 +00:00
Tom Lane
1b68bcfad3 Tweak pg_dump to say GRANT ALL when appropriate, rather than enumerating
the individual privilege bits.  I regard this as an important change for
cross-version compatibility: without this, a 7.1 dump loaded into 7.2
is likely to be short a few privileges.
2002-01-25 18:49:31 +00:00
Tom Lane
989b7d66d8 Tweak plperl.c to compile against threaded Perls, per report from
cturner@redhat.com.
2002-01-24 21:40:44 +00:00
Tom Lane
47ccf37c62 pltcl's spi_execp didn't handle NULL arguments quite correctly.
It would try to call the input conversion routines for them anyway.
So, a valid input string for the datatype had to be supplied.
2002-01-24 19:31:36 +00:00
Tom Lane
a45641d8a4 Fix incorrect test for whether Perl code is returning undef. This
allows plperl routines to return NULL as intended.
2002-01-24 16:53:42 +00:00
Tom Lane
386f1809a7 Fix logic error in insert_fsm_page_entry: because compact_fsm_page_list
removes any empty chunks, the chunk previously added won't be there
anymore, so it's possible there is zero free space in the rel's page list
afterwards.  Must loop back and rerun the part that adds a chunk to
the list.
2002-01-24 15:31:43 +00:00
Tom Lane
ab5b063618 Remove long-obsolete version of pltcl documentation. 2002-01-23 18:48:39 +00:00
Tom Lane
830cdb5f45 Clean up Red Hat Tcl RPM brain-damage in a more reliable way: fix the
value of TCL_SHLIB_LD in the shell script that creates Makefile.tcldefs,
rather than trying to persude gmake to do it.
2002-01-23 18:45:41 +00:00
Michael Meskes
cb8961ab47 Added patch to temporarily disable locale for descriptors too (Christof) 2002-01-23 16:34:06 +00:00
Tom Lane
04c8d4c660 libpq++/pgconnection.h must not include postgres_fe.h, else it fails to
compile in client apps that use the standard installed header set.
To allow removing that include, move DLLIMPORT definitions out of c.h
and into the appropriate port-specific header files.
2002-01-22 19:02:40 +00:00
Tom Lane
2f383b2de6 Suppress bogus soname switch that RedHat RPMs put into tclConfig.sh. 2002-01-21 03:27:46 +00:00
Bruce Momjian
1a712718ca Add IN/EXISTS file. 2002-01-20 05:12:57 +00:00
Peter Eisentraut
0363192c69 Update from Kova'cs Zolta'n 2002-01-18 21:25:00 +00:00
Bruce Momjian
69f909ba10 You might want to run pg_indent on pg_backup_db.c however ...
tom lane
2002-01-18 19:17:05 +00:00
Dave Cramer
83b5ae65a0 Fixes to getImportedKeys/getExportedKeys from Jason Davies
Previous versions did not correctly identify primary/foreign keys
2002-01-18 17:21:51 +00:00
Tom Lane
bb698c25c7 Fix pg_restore to handle the 'set max oid' entry correctly in archives
dumped by pg_dump -o.  Per bug report posted by Bruce; fix is from
Philip Warner, reviewed by Tom Lane.
2002-01-18 17:13:51 +00:00
Tom Lane
3dfe80243c Add missing 'else', per report from sugita@sra.co.jp. 2002-01-18 16:14:54 +00:00
Michael Meskes
2ab3a88879 Accept subsequent commits. This should have been just a warning anyway. I
cannot see a reason why it should be an error.
2002-01-18 15:51:00 +00:00
Tom Lane
b7bf03c9ed Fix misstatements added by Bruce. 2002-01-16 23:51:56 +00:00
Bruce Momjian
d781138235 Add more comments to tqual.c for visibility functions. 2002-01-16 23:09:09 +00:00
Tom Lane
cf97080fa4 TOAST needs to do at least minimal time-qual checking in order not to
mess up after an aborted VACUUM FULL, per today's pghackers discussion.
Add a suitable HeapTupleSatisfiesToast routine.  Remove useless special-
case test in HeapTupleSatisfiesVisibility macro for xmax =
BootstrapTransactionId; perhaps that was needed at one time, but it's
a waste of cycles now, not to mention actively wrong for SnapshotAny.
Along the way, add some much-needed comments to tqual.c, and simplify
toast_fetch_datum, which no longer needs to assume it may see chunks
out-of-order.
2002-01-16 20:29:02 +00:00
Tom Lane
0f2d949c1e Fix init_irels to close the pg_internal.init file before returning.
This saves one open file descriptor per backend, and avoids an
annoying NOTICE on Cygwin (which has trouble deleting open files).
Bug appears to date back to original coding of init_irels, circa 1992.
2002-01-16 17:34:42 +00:00
Tom Lane
d66b10833f If we fail to rename pg_internal.init into place, delete the useless
temporary file.  This seems to be a known failure mode under Cygwin,
so we might as well expend the extra line of code to be tidy.
2002-01-15 22:33:20 +00:00
Tom Lane
aa00e6134e Add more sanity-checking to PageAddItem and PageIndexTupleDelete,
to prevent spreading of corruption when page header pointers are bad.
Merge PageZero into PageInit, since it was never used separately, and
remove separate memset calls used at most other PageInit call points.
Remove IndexPageCleanup, which wasn't used at all.
2002-01-15 22:14:17 +00:00
Tom Lane
685a66cdfe Fix typo that caused equalTriggerDescs() to return false in cases where
the two trigger sets were logically equal, but not in the same order.
Caught by Holger Krug (hkrug@rationalizer.com).
2002-01-15 16:52:47 +00:00
Barry Lind
2843a13e51 Applied patch submitted by Ryouichi Matsuda (r-matuda@sra.co.jp) that fixed a problem with leading zeros being lost on fractional seconds when setting a timestamp value on a PreparedStatement. 2002-01-15 07:37:33 +00:00
Barry Lind
d013dbed75 Applied patch from Ryouichi Matsuda <r-matuda@sra.co.jp> where the jdbc
driver was not properly handling timestamptz datatype when using the
getObject() method on ResultSet.  Fix adds this datatype to the object mappings.
2002-01-15 06:55:13 +00:00
Tom Lane
7e1d82040e pg_upgrade doesn't live here anymore. Remove dangling references. 2002-01-15 05:05:49 +00:00
Bruce Momjian
50c9557500 Remove old pg_upgrade script, from Tom. 2002-01-15 04:52:33 +00:00
Tom Lane
2004337785 Reduce severity of 'XLogFlush: request is not satisfied' error condition,
per my proposal of a couple days ago.  This will eliminate the unable-
to-restart-database class of problem that we have seen reported half a
dozen times with 7.1.*.
2002-01-14 17:55:57 +00:00
Tom Lane
eab6776358 Ensure that ecpg/test is cleaned by higher-level 'make clean'. 2002-01-14 17:49:56 +00:00
Bruce Momjian
d43b364eb9 Small AIX fixes from Rick Flower. 2002-01-14 15:34:41 +00:00
Bruce Momjian
1b5d8e6d5c Fix recreation of sequence files for 7.2 also because of XID change from
beta4 to beta5.
2002-01-13 17:52:00 +00:00
Michael Meskes
7138a1e5fc - Fixed variable handling for struct members.
- Removed check for array input. An attribut might store the
          complete array.
2002-01-13 08:52:09 +00:00
Bruce Momjian
4b20cc1032 Now works for 7.1 databases. 2002-01-13 05:36:42 +00:00
Bruce Momjian
11b3e56223 Now tested on 7.2->7.2 migration; still disabled. Need 7.1 testing now. 2002-01-13 04:55:44 +00:00
Bruce Momjian
9be030fbeb Keep it disabled. 2002-01-13 01:22:27 +00:00
Bruce Momjian
5b2ebe95e9 Wow, it actually worked for the regression database. More testing needed. 2002-01-13 01:13:59 +00:00
Tom Lane
f5bbcfb0b2 Bump catversion to ensure people apply recent timestamp and sequence
fixes.
2002-01-12 18:09:04 +00:00
Tom Lane
47503f954c Update horology expected results (this variant extrapolated by yours
truly; should be verified by someone with an appropriate system).
2002-01-12 18:07:34 +00:00
Tom Lane
f171bd5219 Update horology expected results (this variant verified on HPUX). 2002-01-12 18:06:53 +00:00
Thomas G. Lockhart
192061e45b Repair bugs in declarations of routines to add timestamptz and interval.
Thanks to Bruce for spotting it and Tom Lane for diagnosing it.
Since horology test output is changing anyway, add some date/time input
 tests to horology.sql. Some of these should move to the tests for the
 individual data types, and we perhaps should add an entire new test
 for "timezone" to allow manipulating the current time zone without
 risking damage to the results of other tests.
2002-01-12 04:38:38 +00:00
Tom Lane
0e1a5075fd Fix pg_dump to read-lock all tables to be dumped as soon as it's read
their names from pg_class.  This considerably reduces the window wherein
someone could DROP or ALTER a table that pg_dump is intending to dump.
Not a perfect solution, but definitely an improvement.  Per complaints
from Marc Fournier; patch by Brent Verner with some kibitzing by Tom Lane.
2002-01-11 23:21:55 +00:00
Bruce Momjian
3bb77555b1 Sync up. 2002-01-11 20:34:14 +00:00
Tom Lane
5ab0ad5c7e VACUUM must make sure that a HEAP_MARKED_FOR_UPDATE tuple gets marked
as either HEAP_XMAX_COMMITTED or HEAP_XMAX_INVALID once the updating
transaction is gone.  Otherwise some other transaction may come along
and try to test the commit status of t_xmax later --- which could be
after VACUUM has recycled the CLOG status for that xact.  Bug introduced
in post-beta4 bug fix.
2002-01-11 20:07:03 +00:00
Tom Lane
eb5e8bae26 Fix sequence creation to set the t_xmin of a sequence's tuple to
FrozenTransactionId, not the XID of the creating transaction.  Without
this it's possible for a reference to a long-gone CLOG record to occur,
per Christian Meunier's bug report of 10-Jan-02.  Worse, the sequence
tuple would become invisible to SELECTs after 2 billion transactions.

Since the fix is applied during sequence creation it does not help
existing databases, unless you drop and recreate every sequence.
However, we intend to force initdb for 7.2RC1 anyway, to fix a pg_proc
error, so I see no need to do more for this problem.
2002-01-11 18:16:04 +00:00
Michael Meskes
051a4f233f Added Christof's fixes. 2002-01-11 14:43:11 +00:00
Bruce Momjian
4e37786f2f More testing, more cleanups. 2002-01-11 06:48:41 +00:00
Bruce Momjian
37c9346ef2 pg_resetxlog specifies log location in hex; more pg_upgrade testing
improvments.
2002-01-11 06:33:01 +00:00
Bruce Momjian
ba3231a2a0 More cleanups. 2002-01-11 06:08:02 +00:00
Hiroshi Inoue
d91b445117 *** empty log message *** 2002-01-11 06:01:47 +00:00
Bruce Momjian
3b3b730728 More updates for int8 sequence restoration. Old dump file not required
anymore.
2002-01-11 05:54:59 +00:00
Bruce Momjian
6bd45e5264 Handle int4-int8 sequence migration without full data dump. 2002-01-11 04:39:19 +00:00
Hiroshi Inoue
f43b5de649 Add a directory to save the changes until 7.3-tree is branched. 2002-01-11 02:50:01 +00:00
Bruce Momjian
5370cd6b03 More improvements using pg_resetxlog. still disabled. 2002-01-11 00:27:42 +00:00
Michael Meskes
7955f98774 Include sqlca.h automatically. 2002-01-10 10:42:54 +00:00
Bruce Momjian
7a0672b7b1 More pg_upgrade improvements. Almost done, except for max transaction
setting.
2002-01-10 04:58:19 +00:00
Bruce Momjian
4d151d0b12 More improvements; still disabled. (Don't panic.) 2002-01-10 03:05:48 +00:00
Tom Lane
92a2598f97 The result of getopt() should be compared to -1, not EOF, per
pgsql-hackers discussion of this date.
2002-01-10 01:11:45 +00:00
Bruce Momjian
5461983d08 Update with new features. Still disabled. 2002-01-09 21:50:52 +00:00
Tom Lane
9facc585ad Fix use of 'char' to hold result of getc, per bug report forwarded by
Oliver Elphick.  A few other minor cleanups while at it.
2002-01-09 19:13:41 +00:00
Tom Lane
8ff263f362 Fix portability problem (result of getopt is int, not char). 2002-01-09 18:21:46 +00:00
Bruce Momjian
bf6992b499 Remove clog copy. 2002-01-09 16:08:54 +00:00
Bruce Momjian
7dc2dc2677 Make improvements to pg_upgrade; is still disabled. 2002-01-09 16:00:46 +00:00
Bruce Momjian
5ac10980d7 Add quotes around $bindir. 2002-01-09 04:56:44 +00:00
Tom Lane
d079c419d2 Fix include paths for case of VPATH build. 2002-01-09 00:06:42 +00:00
Tom Lane
5490c72a64 make install failed in VPATH build. 2002-01-08 23:40:02 +00:00
Tom Lane
a34f313223 Fix copy-and-paste mistake exposed by gcc warning. 2002-01-08 23:34:47 +00:00
Tom Lane
bf2e5eedf0 In a VPATH build, resultmap must be one of the symlinked files, else
pg_regress doesn't see it and you don't get any port-specific
comparisons.
2002-01-08 21:00:30 +00:00
Peter Eisentraut
154ccb6040 Revert last change (CFLAGS+=-g). Probably was a mistake... 2002-01-08 20:41:28 +00:00
Tom Lane
61dd8b6dc4 Remove shift/reduce conflicts introduced by last change. 2002-01-08 19:02:51 +00:00
Tom Lane
649d8543d3 Fix lpad() and rpad() to produce correct results in variable-length
multibyte encodings.
2002-01-08 17:03:41 +00:00
Michael Meskes
1e15f9e119 Fixed array pointers, no longer using void * in arithmetics. 2002-01-08 14:25:06 +00:00
Tom Lane
5b9a058384 Tweak LWLock algorithms so that an awakened waiter for a lock is not
granted the lock when awakened; the signal now only means that the lock
is potentially available.  The waiting process must retry its attempt
to get the lock when it gets to run.  This allows the lock releasing
process to re-acquire the lock later in its timeslice.  Since LWLocks
are usually held for short periods, it is possible for a process to
acquire and release the same lock many times in a timeslice.  The old
spinlock-based implementation of these locks allowed for that; but the
original coding of LWLock would force a process swap for each acquisition
if there was any contention.  Although this approach reopens the door to
process starvation (a waiter might repeatedly fail to get the lock),
the odds of that being a big problem seem low, and the performance cost
of the previous approach is considerable.
2002-01-07 16:33:00 +00:00
Michael Meskes
54452833ef Fixed parser to accept initializing expressions starting with "(". 2002-01-07 16:25:45 +00:00
Peter Eisentraut
731204e090 Editorial review 2002-01-07 02:29:15 +00:00
Tom Lane
a510bf4326 If we fail to fork a new backend process, (try to) report the failure
to the client before closing the connection.  Before 7.2 this was done
correctly, but new code would simply close the connection with no report
to the client.
2002-01-06 21:40:02 +00:00
Tom Lane
3b6cbce458 Add CHECK_FOR_INTERRUPTS() in various strategic spots, per comments
from Hiroshi.
2002-01-06 00:37:44 +00:00
Barry Lind
734e421278 Bugfix for bug reported by Marcus Better (marcus@dactylis.com). When preforming
a get on a bytea value the code was running the raw value from the server
through character set conversion, which if the character set was SQL_ASCII
would cause all 8bit characters to become ?'s.
2002-01-05 22:26:23 +00:00
Tom Lane
1aff1d30d6 Fix some incorrect and obsolete commentary. 2002-01-04 17:06:51 +00:00
Thomas G. Lockhart
c826d1cefb Have to_date() call timestamptz_date() per Karel's email instructions.
Fixes time zone problems introduced by Thomas' implementation of
 TIMESTAMP WITHOUT TIME ZONE which caused the behavior of the previously
 appropriate routine, timestamp_date(), to change for the worse in this
 context.
2002-01-04 15:49:42 +00:00
Bruce Momjian
5a60ba5078 Replace #ifdef, #endif with # requires comment. 2002-01-04 05:50:25 +00:00
Tom Lane
dc6b4deb97 Require ownership permission for CREATE INDEX, per bug report.
Disallow CREATE INDEX on system catalogs, non-tables (views, sequences, etc).
Disallow CREATE/DROP TRIGGER on system catalogs, non-tables.
Disallow ALTER TABLE ADD/DROP CONSTRAINT on system catalogs.
Disallow FOREIGN KEY reference to non-table.
None of these things can actually work in the present system structure,
but the code was letting them pass without complaint.
2002-01-03 23:21:32 +00:00
Tom Lane
d02f0aaa3b Instead of waiting a fixed amount of time for the test postmaster to
start up, wait until a psql connection attempt succeeds.  Per gripe
from Jason Tishler.
2002-01-03 21:52:05 +00:00
Tom Lane
ab20692e1e SPI_cursor_open must copy by-reference parameter values into the
portal's memory context, so that they will live as long as the portal does.
2002-01-03 20:30:47 +00:00
Tom Lane
f7fb29dec3 Shouldn't try to copy null datums with datumCopy. 2002-01-03 18:01:59 +00:00
Bruce Momjian
b9da4b726c Droplang didn't have test for -l, list. This was really broken too.
Took test from createlang.
2002-01-03 08:53:00 +00:00
Bruce Momjian
4ecd278991 Add mention that createlang.sh indirection not needed but kept for later. 2002-01-03 08:38:00 +00:00
Bruce Momjian
a4ee277e17 droplang had same problem as createlang; default are backwards and did
not work.  Fixed to match createlang.
2002-01-03 06:09:02 +00:00