git.postgresql.org Git - postgresql.git/log
Revert irix change to suppress configure warnings.
Configure adjustments for irix.
David Turover
Tom Lane [2004年5月19日 22:06:16 +0000 (22:06 +0000)]
Improve error reporting behavior in parse_hba(): give more complete
error report for getaddrinfo failures, point at correct token for syntax
errors in all cases, don't log redundant messages.
Rename another irix file.
Rename irix5 port to irix.
Add end-of-dump markers for pg_dump and pg_dumpall.
Only do pkglib_path if needed.
Done:
> * -Make pg_restore continue after errors, so it acts more like pg_dump scripts
Only do find_my_exec if it doesn't come from the post
Add get_pkglib_path to postmaster.c
Move find_my_exec lower so elog() works, per Tom.
Re-add elog() to exec.c, per Tom.
Add MinGW to cases where libdir should be used for regression tests:
case $host_platform in
*-*-cygwin*|*-*-mingw)
PATH=$libdir:$PATH
export PATH
;;
esac
Win32 needs -lpgport for dll creation of ecpglib.
Supress verbose stderr messages while trying to find my exec path.
Per report from Christopher.
Minor correction for previous SQLSTATE patch: I changed dsqrt() to emit the
right error code previously, and this patch applies an analogous change
to numeric_sqrt().
Win32 can't have the same function coming from two library object files,
so we make is_absolute_path a macro so libpq doesn't use path.o.
Allow zic to compile by defining a "" value for my_exec_path. It isn't
used by zic anyway.
Tom Lane [2004年5月18日 22:49:51 +0000 (22:49 +0000)]
setRuleCheckAsUser has to be applied to any subqueries appearing in a
rule's event_qual, not only to the rule's action. Per example from
Arturs Zoldners.
Trim down relocatable docs, per Peter.
Add some documentation on relocatable installs.
Move get_pkglib_path up into main.c too.
Move find_my_exec() way up into main.c so it is available to the
timezone code and other places.
Remove elog() calls from find_my_exec; do fprintf(stderr) instead. We
can then remove the exec.c handling in the makefile because it doesn't
have to be built to suppress elog calls.
Add:
> * Allow binaries to be statically linked so they are more easily relocated
Update Russian FAQ.
Viktor Vislobokov
Run autoconf for link update.
Improve win32 link test. Previous commit added most of the code, but
this commit enables only for Mingw.
Update Makefile dependencies for Win32 timezones, per Claudio.
Clean up some relative path install issues with Claudio's help.
Improve configure win32 link test to run from config.status.
Andrew Dunstan
Add documentation that installations are relocatable unless configure
locations are overridden.
Reformat sgml doc paragraph.
Reorganize code to allow path-relative installs.
Create new get_* functions to access compiled-in paths and adjust if
relative installs are to be used.
Clean up substitute_libpath_macro() code.
Rename backendbin to backend_exec in initdb.c.
Add documentation for the new "dollar quoting" feature, and update existing
examples to use dollar quoting when appropriate. Original patch from David
Fetter, additional work and editorializing by Neil Conway.
Change ln(), log(), power(), and sqrt() to emit the correct SQLSTATE
error codes for certain error conditions, as specified by SQL2003.
Restore one mention of logrotate, per Peter.
Remove an unused (and empty) header file.
Implement the width_bucket() function, per SQL2003. This commit only adds
a variant of the function for the 'numeric' datatype; it would be possible
to add additional variants for other datatypes, but I haven't done so yet.
This commit includes regression tests and minimal documentation; if we
want developers to actually use this function in applications, we'll
probably need to document what it does more fully.
Properly document rotatelogs, and add mention of it to pg_ctl manual page.
Improve documentation for SQLSTATE error codes, per recent thread on
-patches.
Adjust find_my_exec/find_other_exec() so that the return parameter is
last, not first. This fits our style better.
Remove extra 'then'.
Tom Lane [2004年5月14日 16:11:25 +0000 (16:11 +0000)]
Tighten parsing of boolean options to CREATE TYPE and related functions,
so as to deliver more useful error messages for mistakes like
'PASSEDBYVALUE = f'. Per gripe from Gaetano Mendola.
Update docs from Andrew J. Kopciuch <akopciuch@bddf.ca>
Tom Lane [2004年5月14日 00:20:38 +0000 (00:20 +0000)]
Propagate enlargeStringInfo() fixes into the equivalent code in
pqexpbuffer.c. While a client-side failure doesn't seem like a
security issue, it's still a bug.
Properly quote variable for makefile use.
Move unixware thread stuff into Makefile.unixware.
Force thread flags for all Unixware builds if threading is requested.
This is required because once you link with a library that uses threads,
all references to that library have to use thread flags.
Refactor code to warn about configure link failures on MinGW.
Reorganize backend code to more cleanly manage executable names and
backend startup.
No need for gcc thread stuff anymore, only cc.
Remove warning about Unixware.
Fix Win32 bug with missing errno for strerror().
Warn when MinGW fails to create symlinks during configure. Report
already made to MinGW maintainers.
Andrew Dunstan
Tom Lane [2004年5月12日 22:38:44 +0000 (22:38 +0000)]
Tighten up overflow check in path_recv, pursuant to code review inspired
by Ken Ashcraft's report. I think there is no actual bug here since if
the int32 value does wrap a little bit, palloc will still reject it.
Still it's better that the code be obviously correct.
Here's a patch that will allow external modules like pl<lang> to set
additional flags for the dlltool and dllwrap commands. More info here:
http://archives.postgresql.org/pgsql-hackers/2004-05/msg00350.php
Thomas Hallgren
Rename find_my_binary/find_other_binary to
find_my_exec/find_other_exec(). Remove passing of progname to these
functions as they can find that out from argv[0], which they already
have.
Make get_progname return const char *, and update all progname variables
to be const char *.
Remove:
< o Add PL/PHP (Joe)
Fix bug by passing arg[0] to find_my_binary().
Tom Lane [2004年5月11日 22:43:55 +0000 (22:43 +0000)]
Yawn ... still another place not quite ready for zero-column tables.
As part of the work for making relocatable installs, I have re-factored
all the code that looks for other binaries. I move FindExec into
port/exec.c (and renamed it to find_my_binary()). I also added
find_other_binary that looks for another binary in the same directory as
the calling program, and checks the version string.
The only behavior change was that initdb and pg_dump would look in the
hard-coded bindir directory if it can't find the requested binary in the
same directory as the caller. The new code throws an error. The old
behavior seemed too error prone for version mismatches.
Add DELETE:
> * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, triggers?)
Tom Lane [2004年5月11日 20:07:26 +0000 (20:07 +0000)]
Add tests to enlargeStringInfo() to avoid possible buffer-overrun or
infinite-loop problems if a bogus data length is passed.
Tom Lane [2004年5月11日 17:36:13 +0000 (17:36 +0000)]
Refactor low-level aclcheck code to provide useful interfaces for multi-bit
permissions tests in about the same amount of code as before. Exactly what
the GRANT/REVOKE code ought to be doing is still up for debate, but this
should be helpful in any case, and it already solves an efficiency problem
in executor startup.
Add mention of rules/triggers:
> * Add MERGE command that does UPDATE, or on failure, INSERT (rules, triggers?)
Tom Lane [2004年5月11日 13:15:15 +0000 (13:15 +0000)]
Fix oversights in processing of LIMIT expressions during planning.
Tom Lane [2004年5月11日 02:21:39 +0000 (02:21 +0000)]
Repair recalculation failure for nested sub-SELECTs, per bug report from
Didier Moens. Bug is new in 7.4, and was caused by not updating everyplace
I should've when replacing locParam markers by allParam.
Add a regression test to catch related errors in future.
Clean up indenting of Makefile filenames.
Tom Lane [2004年5月10日 22:44:49 +0000 (22:44 +0000)]
Promote row expressions to full-fledged citizens of the expression syntax,
rather than allowing them only in a few special cases as before. In
particular you can now pass a ROW() construct to a function that accepts
a rowtype parameter. Internal generation of RowExprs fixes a number of
corner cases that used to not work very well, such as referencing the
whole-row result of a JOIN or subquery. This represents a further step in
the work I started a month or so back to make rowtype values into
first-class citizens.
Fix typo.
Add variables names to static prototypes in initdb.c.
- Argh, just another bug in adjust_informix.
- Added "extern C" flags for C++ compiler. Hopefully I got that one right.
Add:
> * Add MERGE command that does UPDATE, or on failure, INSERT
Tom Lane [Sat, 8 May 2004 22:46:29 +0000 (22:46 +0000)]
Fix a couple of oversights in new ALTER TABLE code that broke
ALTER SET STATISTICS for functional indexes.
Tom Lane [Sat, 8 May 2004 21:21:18 +0000 (21:21 +0000)]
Alter string format used for integer and OID lists in stored rules.
This simplifies and speeds up the reader by letting it get the representation
right the first time, rather than correcting it after-the-fact. Also,
after int and OID lists become separate node types per Neil's pending
patch, this will let us treat these lists as just plain Nodes instead
of requiring separate read/write macros the way we have now.
Tom Lane [Sat, 8 May 2004 19:09:25 +0000 (19:09 +0000)]
Get rid of rd_nblocks field in relcache entries. Turns out this was
costing us lots more to maintain than it was worth. On shared tables
it was of exactly zero benefit because we couldn't trust it to be
up to date. On temp tables it sometimes saved an lseek, but not often
enough to be worth getting excited about. And the real problem was that
we forced an lseek on every relcache flush in order to update the field.
So all in all it seems best to lose the complexity.
Fix typo.
Improve style of new log_statement_stats error message, per Peter.
Tom Lane [Sat, 8 May 2004 00:34:49 +0000 (00:34 +0000)]
Get rid of cluster.c's apparatus for rebuilding a relation's indexes
in favor of using the REINDEX TABLE apparatus, which does the same thing
simpler and faster. Also, make TRUNCATE not use cluster.c at all, but
just assign a new relfilenode and REINDEX. This partially addresses
Hartmut Raschick's complaint from last December that 7.4's TRUNCATE is
an order of magnitude slower than prior releases. By getting rid of
a lot of unnecessary catalog updates, these changes buy back about a
factor of two (on my system). The remaining overhead seems associated
with creating and deleting storage files, which we may not be able to
do much about without abandoning transaction safety for TRUNCATE.
Neil Conway [Fri, 7 May 2004 19:12:26 +0000 (19:12 +0000)]
Refactor CheckDropPermissions() to move some initialization code for
printing the proper error message out of the common path.
Tom Lane [Fri, 7 May 2004 16:57:16 +0000 (16:57 +0000)]
The timezone() family of functions (a/k/a AT TIME ZONE construct) can
safely be marked immutable, since their results don't depend on the
TimeZone GUC variable. Per recent discussion.
- Added additional test case.
- Fixed bug that reversed string length in typedefs.
- Added portability file to pgtypeslib.
Tom Lane [Fri, 7 May 2004 13:09:12 +0000 (13:09 +0000)]
Suppress 'uninitialized variable' warning emitted by some (not all)
versions of gcc. The code is correct AFAICS, but it requires slightly
more analysis than usual to see that the variable can't be used uninitialized.
Use regprocedure type instead of oid. Usefull for human read and dump/restore
Tom Lane [Fri, 7 May 2004 03:19:44 +0000 (03:19 +0000)]
NATURAL CROSS JOIN is a contradiction in terms, not to mention disallowed
by the SQL spec and by our parser. Thanks to Jonathan Scott for finding
this longstanding error.
Uppercase keyword for ecpg.
Remove crude test for log_statement_stats in startup code now that we
have a more proper GUC based test.
Also change error return code to ERRCODE_INVALID_PARAMETER_VALUE so it
matches the old error return code.
Throw error if log_statement_stats is used with confliction options for
per-query stage stats.
Tom Lane [Fri, 7 May 2004 00:24:59 +0000 (00:24 +0000)]
Solve the 'Turkish problem' with undesirable locale behavior for case
conversion of basic ASCII letters. Remove all uses of strcasecmp and
strncasecmp in favor of new functions pg_strcasecmp and pg_strncasecmp;
remove most but not all direct uses of toupper and tolower in favor of
pg_toupper and pg_tolower. These functions use the same notions of
case folding already developed for identifier case conversion. I left
the straight locale-based folding in place for situations where we are
just manipulating user data and not trying to match it to built-in
strings --- for example, the SQL upper() function is still locale
dependent. Perhaps this will prove not to be what's wanted, but at
the moment we can initdb and pass regression tests in Turkish locale.
Done:
> o -ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence because
sysv_shmem.c patch is to correct a bug that prevents the postmaster
recovering from an unexpected backend termination.
The remaining patches are to allow whitespace in db/install directory
names.
Claudio Natoli
Erase MD5 user passwords when a user is renamed because the username is
used as salt for the MD5 password.
Update todo/faq timestamps
Tom Lane [Thu, 6 May 2004 16:10:57 +0000 (16:10 +0000)]
Make ALTER COLUMN TYPE preserve clustered status for indexes it doesn't
modify. Also fix a passel of problems with ALTER TABLE CLUSTER ON:
failure to check that the index is safe to cluster on (or even belongs
to the indicated rel, or even exists), and failure to broadcast a relcache
flush event when changing an index's state.
Tom Lane [Thu, 6 May 2004 14:01:33 +0000 (14:01 +0000)]
Rewrite nodeRead() in a less obfuscated fashion, per discussion with
Neil Conway.
Neil Conway [Thu, 6 May 2004 06:11:01 +0000 (06:11 +0000)]
Fix grammatical error in comment.
Tom Lane [Wed, 5 May 2004 21:18:29 +0000 (21:18 +0000)]
Second try at a portable unsetenv().
Tom Lane [Wed, 5 May 2004 17:28:46 +0000 (17:28 +0000)]
Don't assume that struct timeval's tv_sec field is the same datatype as
time_t; on some platforms they are not the same width. Per Manfred Koizar.
Tom Lane [Wed, 5 May 2004 17:06:56 +0000 (17:06 +0000)]
Fix get_rels_with_domain to not do the wrong thing with views and
composite types that use a domain.
This is the main PostgreSQL git repository.
RSS
Atom