aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Warning cleanups for ecpg tests. Avoid doing pointer arithmetic on void *,Neil Conway2005-06-30
| | | | | remove old-style function declarations, and mark a function "static". There are some remaining warnings, but this fixes most of them, anyway.
* Fix ecpg's test/ Makefile for out-of-tree (vpath) builds.Neil Conway2005-06-30
|
* Fix build break on BSD, OSX, and other systems: add missing <sys/time.h>Neil Conway2005-06-30
| | | | include.
* Dump comments for large objects.Tom Lane2005-06-30
|
* Fix a theoretical memory leak in pg_password_sendauth(). If the firstNeil Conway2005-06-30
| | | | | | | | malloc() succeeded but the second failed, the buffer allocated by the first malloc() would be leaked. Fix this by allocating both buffers via a single malloc(), as suggested by Tom. Per Coverity static analysis performed by EnterpriseDB.
* Improve the checkpoint signaling mechanism so that the bgwriter can tellTom Lane2005-06-30
| | | | | | | | the difference between checkpoints forced due to WAL segment consumption and checkpoints forced for other reasons (such as CREATE DATABASE). Avoid generating 'checkpoints are occurring too frequently' messages when the checkpoint wasn't caused by WAL segment consumption. Per gripe from Chris K-L.
* Clean up the rather historically encumbered interface to now() andTom Lane2005-06-29
| | | | | | | | current time: provide a GetCurrentTimestamp() function that returns current time in the form of a TimestampTz, instead of separate time_t and microseconds fields. This is what all the callers really want anyway, and it eliminates low-level dependencies on AbsoluteTime, which is a deprecated datatype that will have to disappear eventually.
* More cleanup on roles patch. Allow admin option to be inherited throughTom Lane2005-06-29
| | | | | | role memberships; make superuser/createrole distinction do something useful; fix some locking and CommandCounterIncrement issues; prevent creation of loops in the membership graph.
* Cleanup, remove unneeded pallocsTeodor Sigaev2005-06-29
|
* Update typedefs for pgindent.Bruce Momjian2005-06-28
|
* Change awk ~ pattern from "" to //.Bruce Momjian2005-06-28
| | | | Remove extra backslash in pattern. Luke Lonergan
* Fix up problems in write_auth_file and parsing of the auth file.Tom Lane2005-06-28
| | | | | In particular, make hba.c cope with zero-length tokens, which it never did properly before. Also, enforce rolcanlogin.
* Bring syntax of role-related commands into SQL compliance. To avoidTom Lane2005-06-28
| | | | | | | | | syntactic conflicts, both privilege and role GRANT/REVOKE commands have to use the same production for scanning the list of tokens that might eventually turn out to be privileges or role names. So, change the existing GRANT/REVOKE code to expect a list of strings not pre-reduced AclMode values. Fix a couple other minor issues while at it, such as InitializeAcl function name conflicting with a Windows system function.
* Code cleanup. gistfillbuffer accepts InvalidOffsetNumber.Teodor Sigaev2005-06-28
|
* Fix broken initdb -W option, per Michael Fuhr.Tom Lane2005-06-28
|
* Replace pg_shadow and pg_group by new role-capable catalogs pg_authidTom Lane2005-06-28
| | | | | | | | and pg_auth_members. There are still many loose ends to finish in this patch (no documentation, no regression tests, no pg_dump support for instance). But I'm going to commit it now anyway so that Alvaro can make some progress on shared dependencies. The catalog changes should be pretty much done.
* Concurrency for GiSTTeodor Sigaev2005-06-27
| | | | | | | | | | | | | | | | | | - full concurrency for insert/update/select/vacuum: - select and vacuum never locks more than one page simultaneously - select (gettuple) hasn't any lock across it's calls - insert never locks more than two page simultaneously: - during search of leaf to insert it locks only one page simultaneously - while walk upward to the root it locked only parent (may be non-direct parent) and child. One of them X-lock, another may be S- or X-lock - 'vacuum full' locks index - improve gistgetmulti - simplify XLOG records Fix bug in index_beginscan_internal: LockRelation may clean rd_aminfo structure, so move GET_REL_PROCEDURE after LockRelation
* Modify pg_dump to assume that a check constraint is inherited if itsTom Lane2005-06-27
| | | | | | | | | name matches the name of any parent-table constraint, without looking at the constraint text. This is a not-very-bulletproof workaround for the problem exhibited by Berend Tober last month. We really ought to record constraint inheritance status in pg_constraint, but it's looking like that may not get done for 8.1 --- and even if it does, we will need this kluge for dumping from older servers.
* Remove support for Kerberos V4. It seems no one is using this, it hasNeil Conway2005-06-27
| | | | | some security issues, and upstream has declared it "dead". Patch from Magnus Hagander, minor editorialization from Neil Conway.
* Tweak dynahash.c to not allocate so many entries at once when dealingTom Lane2005-06-26
| | | | | | with a table that has a small predicted size. Avoids wasting several hundred K on the timezone hash table, which is likely to have only one or a few entries, but the entries use up 10Kb apiece ...
* Add Oracle-compatible GREATEST and LEAST functions. Pavel StehuleTom Lane2005-06-26
|
* Code review for escape-strings patch. Sync psql and plpgsql lexersTom Lane2005-06-26
| | | | | | | with main, avoid using a SQL-defined SQLSTATE for what is most definitely not a SQL-compatible error condition, fix documentation omissions, adhere to message style guidelines, don't use two GUC_REPORT variables when one is sufficient. Nothing done about pg_dump issues.
* Fix overlooked regression output file.Tom Lane2005-06-26
|
* Add E'' syntax so eventually normal strings can treat backslashesBruce Momjian2005-06-26
| | | | | | | | | | | | literally. Add GUC variables: "escape_string_warning" - warn about backslashes in non-E strings "escape_string_syntax" - supports E'' syntax? "standard_compliant_strings" - treats backslashes literally in '' Update code to use E'' when escapes are used.
* Fix a couple of items that should be declared Oid not int. PurelyTom Lane2005-06-25
| | | | cosmetic at the moment, but someday Oid might be 64 bits ...
* Remove forced CHECKPOINT in regression tests --- redundant now thatTom Lane2005-06-25
| | | | CREATE DATABASE does one internally.
* Force a checkpoint before committing a CREATE DATABASE command. ThisTom Lane2005-06-25
| | | | | | should fix the recent reports of "index is not a btree" failures, as well as preventing a more obscure race condition involving changes to a template database just after copying it with CREATE DATABASE.
* Fix ancient memory leak in index_create(): RelationInitIndexAccessInfoTom Lane2005-06-25
| | | | | was being called twice in normal operation, leading to a leak of one set of relcache subsidiary info. Per report from Jeff Gold.
* Extend r-tree operator classes to handle Y-direction tests equivalentTom Lane2005-06-24
| | | | | | | | | | | | | | | 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.
* unbreak unicode/utf8 testTatsuo Ishii2005-06-24
|
* Remove overspecification of precision of CURRENT_TIMESTAMP, LOCALTIMESTAMP,Tom Lane2005-06-24
| | | | | | | | | | | 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.
* Allow direct conversion between EUC_JP and SJIS to improveTatsuo Ishii2005-06-24
| | | | performance. patches submitted by Atsushi Ogawa.
* Code cleanup: remove 3 duplicate static function declarations.Neil Conway2005-06-24
|
* This trivial patch removes an unused variable. From Alvaro Herrera.Neil Conway2005-06-24
|
* Fix rtree and contrib/rtree_gist search behavior for the 1-D box andTom Lane2005-06-24
| | | | | | | | | | 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.
* Move findoidjoins out of contrib and into src/tools, which is a moreTom Lane2005-06-23
| | | | | logical place for it since it is of no use to users. Per recent discussions on cleaning up contrib.
* Make REINDEX DATABASE do what one would expect, namely reindex all indexesTom Lane2005-06-22
| | | | | | | 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.
* Fix the mechanism for reporting the original table OID and column numberTom Lane2005-06-22
| | | | | 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.
* Add a validator function for plperl. Andrew DunstanTom Lane2005-06-22
|
* Add a hack requested by the JDBC driver writers: when a function'sTom Lane2005-06-22
| | | | | | | | | 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.
* Fix bug in CONTINUE statement for PL/pgSQL: when we continue a loop,Neil Conway2005-06-22
| | | | | | | | 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.
* Correct some code in pg_restore when reading the header of a tar archive:Neil Conway2005-06-22
| | | | | | | | | | | | | (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.
* More trivial dead code removal: in int_to_roman(), checking for "num == -1"Neil Conway2005-06-22
| | | | | | | | 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.
* Add a CONTINUE statement to PL/PgSQL, which can be used to begin theNeil Conway2005-06-22
| | | | | next iteration of a loop. Update documentation and add regression tests. Patch from Pavel Stehule, reviewed by Neil Conway.
* pg_dump can now dump large objects even in plain-text output mode, byTom Lane2005-06-21
| | | | | | 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.
* Fix pg_dumpall to do the right thing with "postgres" database, perTom Lane2005-06-21
| | | | | Dave Page. Also, cause it to emit rather than ignore any ACL and datconfig options that may be set for these two databases.
* Cause initdb to create a third standard database "postgres", whichTom Lane2005-06-21
| | | | | | | | | | | | | | 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.
* Fix a potential backend crash during authentication when parsing aNeil Conway2005-06-21
| | | | | | | 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.
* Trivial dead code removal: in CreateSchemaCommand(), 'owner_name' isNeil Conway2005-06-21
| | | | | | | | 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.
* Trivial dead code removal: in _complete_from_query(), 'text' cannot beNeil Conway2005-06-21
| | | | | | | 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.