summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2005-06-24Extend r-tree operator classes to handle Y-direction tests equivalentTom Lane
to the existing X-direction tests. An rtree class now includes 4 actual 2-D tests, 4 1-D X-direction tests, and 4 1-D Y-direction tests. This involved adding four new Y-direction test operators for each of box and polygon; I followed the PostGIS project's lead as to the names of these operators. NON BACKWARDS COMPATIBLE CHANGE: the poly_overleft (&<) and poly_overright (&>) operators now have semantics comparable to box_overleft and box_overright. This is necessary to make r-tree indexes work correctly on polygons. Also, I changed circle_left and circle_right to agree with box_left and box_right --- formerly they allowed the boundaries to touch. This isn't actually essential given the lack of any r-tree opclass for circles, but it seems best to sync all the definitions while we are at it.
2005-06-24unbreak unicode/utf8 testTatsuo Ishii
2005-06-24Remove overspecification of precision of CURRENT_TIMESTAMP, LOCALTIMESTAMP,Tom Lane
CURRENT_TIME, and LOCALTIME: now they just produce "timestamptz" not "timestamptz(6)", etc. This makes the behavior more consistent with our choice to not assign a specific default precision to column datatypes. It should also save a few cycles at runtime due to not having to invoke the round-to-given-precision functions. I also took the opportunity to translate CURRENT_TIMESTAMP into "now()" instead of an invocation of the timestamptz input converter --- this should save a few cycles too.
2005-06-24Allow direct conversion between EUC_JP and SJIS to improveTatsuo Ishii
performance. patches submitted by Atsushi Ogawa.
2005-06-24Code cleanup: remove 3 duplicate static function declarations.Neil Conway
2005-06-24This trivial patch removes an unused variable. From Alvaro Herrera.Neil Conway
2005-06-24Fix rtree and contrib/rtree_gist search behavior for the 1-D box andTom Lane
polygon operators (<<, &<, >>, &>). Per ideas originally put forward by andrew@supernews and later rediscovered by moi. This patch just fixes the existing opclasses, and does not add any new behavior as I proposed earlier; that can be sorted out later. In principle this could be back-patched, since it changes only search behavior and not system catalog entries nor rtree index contents. I'm not currently planning to do that, though, since I think it could use more testing.
2005-06-23Move findoidjoins out of contrib and into src/tools, which is a moreTom Lane
logical place for it since it is of no use to users. Per recent discussions on cleaning up contrib.
2005-06-22Make REINDEX DATABASE do what one would expect, namely reindex all indexesTom Lane
in the database. The old behavior (reindex system catalogs only) is now available as REINDEX SYSTEM. I did not add the complementary REINDEX USER case since there did not seem to be consensus for this, but it would be trivial to add later. Per recent discussions.
2005-06-22Fix the mechanism for reporting the original table OID and column numberTom Lane
of columns of a query result so that it can "see through" cursors and prepared statements. Per gripe a couple months back from John DeSoi.
2005-06-22Add a validator function for plperl. Andrew DunstanTom Lane
2005-06-22Add a hack requested by the JDBC driver writers: when a function'sTom Lane
argument list contains parameter symbols ($n) declared as type VOID, discard these arguments. This allows the driver to avoid renumbering mixed IN and OUT argument placeholders (the JDBC syntax involves writing ? for both IN and OUT parameters, but on the server side we don't think that OUT parameters are arguments). This doesn't break any currently- useful cases since VOID is not used as an input argument type.
2005-06-22Fix bug in CONTINUE statement for PL/pgSQL: when we continue a loop,Neil Conway
we need to be careful to reset rc to PLPGSQL_RC_OK, depending on how the loop's logic is structured. If we continue a loop but it then exits without executing the loop's body again, we want to return PLPGSQL_RC_OK to our caller. Enhance the regression tests to catch this problem. Per report from Michael Fuhr.
2005-06-22Correct some code in pg_restore when reading the header of a tar archive:Neil Conway
(1) The code doesn't initialize `sum', so the initial "does the checksum match?" test is wrong. (2) The loop that is intended to check for a "null block" just checks the first byte of the tar block 512 times, rather than each of the 512 bytes one time (!), which I'm guessing was the intent. It was only through sheer luck that this worked in the first place. Per Coverity static analysis performed by EnterpriseDB.
2005-06-22More trivial dead code removal: in int_to_roman(), checking for "num == -1"Neil Conway
is redundant after a check has already been made for "num < 0". The "set" variable can also be removed, as it is now no longer used. Per checking with Karel, this is the right fix. Per Coverity static analysis performed by EnterpriseDB.
2005-06-22Add a CONTINUE statement to PL/PgSQL, which can be used to begin theNeil Conway
next iteration of a loop. Update documentation and add regression tests. Patch from Pavel Stehule, reviewed by Neil Conway.
2005-06-21pg_dump can now dump large objects even in plain-text output mode, byTom Lane
using the recently added lo_create() function. The restore logic in pg_restore is greatly simplified as well, since there's no need anymore to try to adjust database references to match a new set of blob OIDs.
2005-06-21Fix pg_dumpall to do the right thing with "postgres" database, perTom Lane
Dave Page. Also, cause it to emit rather than ignore any ACL and datconfig options that may be set for these two databases.
2005-06-21Cause initdb to create a third standard database "postgres", whichTom Lane
unlike template0 and template1 does not have any special status in terms of backend functionality. However, all external utilities such as createuser and createdb now connect to "postgres" instead of template1, and the documentation is changed to encourage people to use "postgres" instead of template1 as a play area. This should fix some longstanding gotchas involving unexpected propagation of database objects by createdb (when you used template1 without understanding the implications), as well as ameliorating the problem that CREATE DATABASE is unhappy if anyone else is connected to template1. Patch by Dave Page, minor editing by Tom Lane. All per recent pghackers discussions.
2005-06-21Fix a potential backend crash during authentication when parsing aNeil Conway
malformed ident map file. This was introduced by the linked list rewrite in 8.0 -- mea maxima culpa. Per Coverity static analysis performed by EnterpriseDB.
2005-06-21Trivial dead code removal: in CreateSchemaCommand(), 'owner_name' isNeil Conway
only used in one branch of an if statement, so we can move its declaration to that block. This also avoids an unnecessary syscache lookup. Per Coverity static analysis performed by EnterpriseDB.
2005-06-21Trivial dead code removal: in _complete_from_query(), 'text' cannot beNeil Conway
NULL (e.g. due to the preceding strlen()). Therefore we needn't recheck this before initializing 'e_text'. Per Coverity static analysis performed by EnterpriseDB.
2005-06-21Trivial dead code removal: in makeObjectName(), name1 must be non-NULLNeil Conway
(due to the preceding strlen(), for example), so we needn't recheck this before invoking pg_mbcliplen(). Per Coverity static analysis performed by EnterpriseDB.
2005-06-20exec_eval_datum leaks memory when dealing with ROW or REC values.Tom Lane
It never leaked memory before PG 8.0, so none of the callers are expecting this. Cleanest fix seems to be to make it allocate the needed memory in estate->eval_econtext, where it will be cleaned up by the next exec_eval_cleanup. Per report from Bill Rugolsky.
2005-06-20Remove read_file/write_file tests. These were originally intended toTom Lane
*fail*, to test that plpython didn't allow untrusted operations. When we changed plpython to plpythonu because python didn't actually have a secure sandbox mode, someone (probably me :-() misinterpreted the tests as checking whether Python's file I/O works. Which is a stupid thing for us to be testing. Remove it so we don't clutter the filesystem with random temporary files.
2005-06-20plpgsql's exec_assign_value() freed the old value of a variable beforeTom Lane
copying/converting the new value, which meant that it failed badly on "var := var" if var is of pass-by-reference type. Fix this and a similar hazard in exec_move_row(); not sure that the latter can manifest before 8.0, but patch it all the way back anyway. Per report from Dave Chapeskie.
2005-06-20Avoid WAL-logging individual tuple insertions during CREATE TABLE ASTom Lane
(a/k/a SELECT INTO). Instead, flush and fsync the whole relation before committing. We do still need the WAL log when PITR is active, however. Simon Riggs and Tom Lane.
2005-06-20fix founded hole in recovery after crash, add vacuum_delay_point()Teodor Sigaev
2005-06-201. full functional WAL for GiSTTeodor Sigaev
2. improve vacuum for gist - use FSM - full vacuum: - reforms parent tuple if it's needed ( tuples was deleted on child page or parent tuple remains invalid after crash recovery ) - truncate index file if possible 3. fixes bugs and mistakes
2005-06-20Cosmetic improvements to the timezone code: remove the use of theNeil Conway
'register' qualifier, make some function declarations more consistent, and so on.
2005-06-20Change shell syntax that seems not to work right on FreeBSD 6-CURRENTTom Lane
buildfarm machines.
2005-06-20Add lock file contents printout to "can't happen" case to helpTom Lane
investigate buildfarm failures.
2005-06-20Trivial code clarity improvement to UpdateStats(); no functional change.Neil Conway
2005-06-19Avoid unnecessary palloc overhead in _bt_first(). The temporaryTom Lane
scankeys arrays that it needs can never have more than INDEX_MAX_KEYS entries, so it's reasonable to just allocate them as fixed-size local arrays, and save the cost of palloc/pfree. Not a huge savings, but a cycle saved is a cycle earned ...
2005-06-19Need #include <time.h> on some platforms.Tom Lane
2005-06-19Simplify uses of readdir() by creating a function ReadDir() thatTom Lane
includes error checking and an appropriate ereport(ERROR) message. This gets rid of rather tedious and error-prone manipulation of errno, as well as a Windows-specific bug workaround, at more than a dozen call sites. After an idea in a recent patch by Heikki Linnakangas.
2005-06-19Arrange to fsync two-phase-commit state files only during checkpoints;Tom Lane
given reasonably short lifespans for prepared transactions, this should mean that only a small minority of state files ever need to be fsynced at all. Per discussion with Heikki Linnakangas.
2005-06-19Add comment about \# in bcc makefiles.Bruce Momjian
2005-06-19Cleanup for Win32 compile.Bruce Momjian
Andreas Pflug
2005-06-19Fix typo in comment.Bruce Momjian
Michael Fuhr
2005-06-18When using C-string lookup keys in a dynahash.c hash table, use strncpy()Tom Lane
not memcpy() to copy the offered key into the hash table during HASH_ENTER. This avoids possible core dump if the passed key is located very near the end of memory. Per report from Stefan Kaltenbrunner.
2005-06-18Add a time-of-preparation column to the pg_prepared_xacts view, per anTom Lane
old suggestion by Oliver Jowett. Also, add a transaction column to the pg_locks view to show the xid of each transaction holding or awaiting locks; this allows prepared transactions to be properly associated with the locks they own. There was already a column named 'transaction', and I chose to rename it to 'transactionid' --- since this column is new in the current devel cycle there should be no backwards compatibility issue to worry about.
2005-06-18Dept. of second thoughts: regular COMMIT deletes deletable files beforeTom Lane
releasing locks, so COMMIT PREPARED should too.
2005-06-17Two-phase commit. Original patch by Heikki Linnakangas, with additionalTom Lane
hacking by Alvaro Herrera and Tom Lane.
2005-06-16Update GUC description for kerberos usernames.Bruce Momjian
2005-06-16Add fsync() define for Win32 to cover cases other than wal_sync_methodBruce Momjian
where we need fsync().
2005-06-16Add \x hex support to ecpg strings. This just passes them to the backend.Bruce Momjian
2005-06-15Move SYMMETRIC/ASYMMETRIC to reserved words to avoid shift/reduce conflicts.Bruce Momjian
2005-06-15Improve comment wording.Bruce Momjian
2005-06-15Improve hash method for bitmapsets: some examination of actual outputsTom Lane
shows that adding a circular shift between words greatly improves the distribution of hash outputs.