Commit Graph

17181 Commits

Author SHA1 Message Date
Tom Lane
5ada9ef088 Teach plpgsql's lexer about dollar-quoted literals.
Andrew Dunstan, some help from Tom Lane.
2004-02-25 18:10:51 +00:00
Tom Lane
fa7a3abe87 anyarray really needs to be declared with typalign = 'd', so that entries
in pg_statistic are correctly aligned if they contain values that require
double alignment.  Too bad we cannot force initdb for this in 7.4 branch.
2004-02-24 22:59:10 +00:00
Tom Lane
fa96a5e15b Add %option nodefault to all our flex lexers. Fix a couple of rule gaps
exposed thereby.  AFAICT these would not lead to any worse problems than
junk emitted on the backend's stdout, but we should have the option to
catch possible worse errors in future.
2004-02-24 22:06:32 +00:00
Tom Lane
58e705320e Implement dollar-quoting in the backend lexer and psql. Documentation
is still lacking, as is support in plpgsql and other places, but this is
the basic feature.  Patch by Andrew Dunstan, some tweaking by Tom Lane.
Also, enable %option nodefault in these two lexers, and patch some gaps
revealed thereby.
2004-02-24 21:45:18 +00:00
Michael Meskes
1f87d79142 - Corrected error handling in PGTYPEStimestamp_from_asc.
- Set pgtypeslib version to 1.2.
2004-02-24 16:07:49 +00:00
Joe Conway
3cd8411826 When returning type "record", replace use of pgresultGetTupleDesc
with ReturnSetInfo->expectedDesc. This allows custom datatypes
(e.g. from tsearch2) to be returned at runtime. Previous behavior
depended on the type oid to match between the remote and local
database, which obviously doesn't work well for custom types.
Per report from Mark Gibson.
2004-02-24 06:07:18 +00:00
Joe Conway
64a2e1fdef Apply quote_literal to the start_with argument of connectby. Fixes problem
reported by David Garamond when working with bytea parent and child keys.
2004-02-24 05:25:36 +00:00
Tom Lane
92bec9a0bc Cause pg_dump to emit a 'SET client_encoding' command at the start of
any restore operation, thereby ensuring that dumped data is interpreted
the same way it was dumped even if the target database has a different
encoding.  Per suggestions from Pavel Stehule and others.  Also,
simplify scheme for handling check_function_bodies ... we may as well
just set that at the head of the script.
2004-02-24 03:35:19 +00:00
Tom Lane
55fb172739 Don't crash when a rowtype argument to a plpgsql function is NULL.
Per report from Chris Campbell.
2004-02-24 01:44:33 +00:00
Tom Lane
3f2cf812af Fix obsolete comment. 2004-02-23 23:55:08 +00:00
Tom Lane
7a57a67278 Replace opendir/closedir calls throughout the backend with AllocateDir
and FreeDir routines modeled on the existing AllocateFile/FreeFile.
Like the latter, these routines will avoid failing on EMFILE/ENFILE
conditions whenever possible, and will prevent leakage of directory
descriptors if an elog() occurs while one is open.
Also, reduce PANIC to ERROR in MoveOfflineLogs() --- this is not
critical code and there is no reason to force a DB restart on failure.
All per recent trouble report from Olivier Hubaut.
2004-02-23 23:03:10 +00:00
Tom Lane
4f571319d3 NOFILE isn't used anywhere any more. 2004-02-23 20:48:03 +00:00
Tom Lane
f83356c7f5 Do a direct probe during postmaster startup to determine the maximum
number of openable files and the number already opened.  This eliminates
depending on sysconf(_SC_OPEN_MAX), and allows much saner behavior on
platforms where open-file slots are used up by semaphores.
2004-02-23 20:45:59 +00:00
Michael Meskes
b4c8dcb294 Fixed incorrect output of indicator structs using the name of the data struct. 2004-02-23 18:14:18 +00:00
Tom Lane
6b7763d1c1 Write #include <dl.h>, not #include "dl.h", to correctly reflect the
fact that dl.h is a system header and not one of ours.
2004-02-23 04:11:10 +00:00
Tom Lane
780cba9880 Move responsibility for copying argv[] array into ps_status.c, where it
logically belongs.  Arrange to update the _NSGetArgv() copy of the argv
pointer on Darwin.  (It seems likely that other NeXT-derived platforms
also have an _NSGetArgv() problem, but until we have some reports I'll
just make this #ifdef __darwin__.)
2004-02-22 21:26:55 +00:00
Neil Conway
45f5eba90b Document the family() function (added during the 7.4 dev cycle but not
documented), and fix a typo.
2004-02-22 04:14:06 +00:00
Tom Lane
a81b9d679f Fix random build breakage from log_disconnections patch. 2004-02-21 06:29:58 +00:00
Tom Lane
59f9a0b9df Implement a solution to the 'Turkish locale downcases I incorrectly'
problem, per previous discussion.  Make some additional changes to
centralize the knowledge of just how identifier downcasing is done,
in hopes of simplifying any future tweaking in this area.
2004-02-21 00:34:53 +00:00
Bruce Momjian
1d567aee07 The following bug has been logged online:
Bug reference:      1081
Logged by:          Aarjav Trivedi

Email address:      aarjav@cc.gatech.edu

PostgreSQL version: 7.4

Operating system:   Linux

Description:        Spelling error in tsearch2.sql leading to problems
with
tsearch

Details:

On line 620 of tsearch2.sql which is required to install and run
TSEARCH,

REATE FUNCTION tsstat_in(cstring)

should be

CREATE FUNCTION tsstat_in(cstring)

because of this error, TSEARCH fails to work as specified,
2004-02-20 20:42:29 +00:00
Bruce Momjian
0d02533943 Add:
> * Have psql show more information about sequences
2004-02-20 20:37:11 +00:00
Bruce Momjian
e53c56d34a Add:
> * Allow external interfaces to extend the GUC variable set
2004-02-20 18:45:35 +00:00
Bruce Momjian
5e4b9d1ef0 Add to PL/java description. 2004-02-20 18:31:03 +00:00
Tom Lane
4b39aa3a7c Re-implement psql's input scanning to use a flex-generated lexer, as per
recent discussion.  The lexer is used for both SQL command text and
backslash commands.  The purpose of this change is to make it easier to
track the behavior of the backend's SQL lexer --- essentially identical
flex rules are now used by psql.  Also, this cleans up a lot of very
squirrelly code in mainloop.c and command.c.  The flex code is somewhat
bulkier than the removed code, but should be lots easier to maintain.
2004-02-19 19:40:09 +00:00
Tom Lane
737f1cd44b Cosmetic changes (mostly whitespace) to make it easier to diff the
backend lexer against psql's.
2004-02-19 19:11:30 +00:00
Bruce Momjian
2e3d5f1160 Update:
< * Add GUC variable to prevent waiting on locks
> * Add NO WAIT option to various SQL commands
2004-02-18 21:42:22 +00:00
Bruce Momjian
af3b182a57 Here is a patch that implements setitimer() on win32. With this patch
applied, deadlock detection and statement_timeout now works.

The file timer.c goes into src/backend/port/win32/.

The patch also removes two lines of "printf debugging" accidentally left
in pqsignal.h, in the console control handler.

Magnus Hagander
2004-02-18 16:25:12 +00:00
Michael Meskes
f8257734e4 Added missing rule for DOUBLE variables. 2004-02-18 08:42:02 +00:00
Neil Conway
4553e1d80f Improve the consistency of the error message emitted when rejecting
invalid input to the oid type. Also, remove some long-unused code
from adt/numutils.c
2004-02-18 00:01:34 +00:00
Neil Conway
afcc6fbb60 Remove a caveat from the "backup" documentation: pg_dump now does a
better job of handling dependencies between database objects.
2004-02-17 23:56:07 +00:00
Bruce Momjian
0128c17c93 Done:
> * -Change CVS ID to PostgreSQL
2004-02-17 15:46:44 +00:00
Bruce Momjian
e170701712 Add:
> 	o Allow the schema of objects to be changed
2004-02-17 15:37:48 +00:00
Neil Conway
9c8d5f0be1 Add a few more <xref> tags to the SGML docs, where appropriate. Original
patch from Michael Glaesemann, additional changes by Neil Conway.
2004-02-17 09:07:16 +00:00
Tom Lane
d46b1f904e Minor editorializing on cost-based vacuum description. 2004-02-17 07:36:47 +00:00
Neil Conway
ee33fe889e Significant improvements to the documentation for the new cost-based
vacuum delay feature, including updating the docs for Tom's recent
improvements. There is still more work to be done here: for example,
adding some more information on the practical use of cost-based
vacuum delay to the "maintenance" section would probably be a good
idea.
2004-02-17 06:28:05 +00:00
Neil Conway
11acc1ffd6 Fix a minor SGML markup infelicity in recently-applied log_disconnections
patch.
2004-02-17 05:45:17 +00:00
Bruce Momjian
530570c598 Rename function log_session_end to log_disconnections. 2004-02-17 04:09:26 +00:00
Bruce Momjian
96f134550c Fix prototype for on_proc_exit in log_disconnections patch. 2004-02-17 04:06:26 +00:00
Bruce Momjian
c53611e3e7 This patch brings up to date what I did last year (now unfortunately
bitrotted) to allow the logging of the end of a session, enabled by
the config setting "log_disconnections".

Andrew Dunstan
2004-02-17 03:54:57 +00:00
Bruce Momjian
1f17316a3d Here is an updated version of the win32 readdir patch.
1) Now puts in exactly the same change as the current-cvs mingw code
does. (see
http://cvs.sourceforge.net/viewcvs.py/mingw/runtime/mingwex/dirent.c?r1=
1.3&r2=1.4, second part of the patch).

2) Updates both xlog.c and slru.c in backend/access/transam/

3) Also updates pg_resetxlog, which also uses readdir() and checks the
errno value after the loop.

Magnus Hagander
2004-02-17 03:45:17 +00:00
Bruce Momjian
ec6feaaed4 Under Win32, stat() returns an st_ino field, but it has no meaning (on
Win2K, and possibly all Win32 variants, it is always 0). This causes a
number of problems in the dfmgr.c logic, which basically all revolve
around the fact that *any* two files will appear to have the same inode.

Claudio Natoli
2004-02-17 03:35:57 +00:00
Bruce Momjian
51b363ec24 Please apply this patch to contrib/dbmirror
In incorperates changes from myself and a number of contributors.

This update to dbmirror provides:

-replication of sequence operations via setval/nextval
-DBMirror.pl support for logging to syslog
-changed the names of the tables to dbmirror_*  (no quotes required)
-Support for writitng SQL statements to files instead of directly to
 a slave database
-More options for DBMirror.pl in the config files.

Steven Singer
2004-02-17 03:34:35 +00:00
Neil Conway
6dfb2b2517 Minor SGML markup improvements. 2004-02-17 02:53:03 +00:00
Tom Lane
a536ed53bc Make use of statistics on index expressions. There are still some
corner cases that could stand improvement, but it does all the basic
stuff.  A byproduct is that the selectivity routines are no longer
constrained to working on simple Vars; we might in future be able to
improve the behavior for subexpressions that don't match indexes.
2004-02-17 00:52:53 +00:00
Bruce Momjian
d372bba02d Change may -> might, and remove an extra tab. 2004-02-16 23:07:57 +00:00
Michael Meskes
f464ad0bfd - Cleaned up parser a little bit. It does not make sense to allow a
typename to be typedef'ed that cannot be parsed as variable type.
- Allowed some SQL keywords to be used as C variable names.
2004-02-16 07:41:54 +00:00
Tom Lane
f0c9397f80 First steps towards statistics on expressional (nee functional) indexes.
This commit teaches ANALYZE to store such stats in pg_statistic, but
nothing is done yet about teaching the planner to use 'em.
Also, repair longstanding oversight in separate ANALYZE command: it
updated the pg_class.relpages and reltuples counts for the table proper,
but not for indexes.
2004-02-15 21:01:39 +00:00
Peter Eisentraut
4b8f125973 New translation 2004-02-15 19:38:29 +00:00
Michael Meskes
2a545255cf - Allowed some C keywords to be used as SQL column names. 2004-02-15 15:38:20 +00:00
Michael Meskes
a05977edd9 - Added missing braces to array parsing.
- Set ecpg version to 3.1.1.
	- Removed that old debugging output that I forgot the last time.
2004-02-15 13:48:54 +00:00