aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add:Bruce Momjian2005-03-23
| | | | | > * Allow WAL replay of CREATE TABLESPACE to work when the directory > structure on the recovery computer is different from the original
* Add:Bruce Momjian2005-03-23
| | | | > o Update pg_dump and psql to use the new COPY libpq API
* Remove:Bruce Momjian2005-03-23
| | | | < o Update to use the newer COPY syntax
* Add for pg_dump:Bruce Momjian2005-03-23
| | | | > o Update to use the newer COPY syntax
* Add:Bruce Momjian2005-03-23
| | | | | | | > > * Support table partitioning that allows a single table to be stored > in subtables that are partitioned based on the primary key or a WHERE > clause
* Remove:Bruce Momjian2005-03-23
| | | | | | | | < < o Prevent conflicting SET options from being set < < This requires a checking function to be called after the server < configuration file is read.
* WAL must log CREATE and DROP DATABASE operations *without* using anyTom Lane2005-03-23
| | | | | | | | | | | explicit paths, so that the log can be replayed in a data directory with a different absolute path than the original had. To avoid forcing initdb in the 8.0 branch, continue to accept the old WAL log record types; they will never again be generated however, and the code can be dropped after the next forced initdb. Per report from Oleg Bartunov. We still need to think about what it really means to WAL-log CREATE TABLESPACE commands: we more or less have to put the absolute path into those, but how to replay in a different context??
* Use InitFunctionCallInfoData() macro instead of MemSet in performanceTom Lane2005-03-22
| | | | critical places in execQual. By Atsushi Ogawa; some minor cleanup by moi.
* Create a routine PageIndexMultiDelete() that replaces a loop aroundTom Lane2005-03-22
| | | | | | | | | PageIndexTupleDelete() with a single pass of compactification --- logic mostly lifted from PageRepairFragmentation. I noticed while profiling that a VACUUM that's cleaning up a whole lot of deleted tuples would spend as much as a third of its CPU time in PageIndexTupleDelete; not too surprising considering the loop method was roughly O(N^2) in the number of tuples involved.
* Fix quote_ident to use quote_identifier rather than its own, not quiteTom Lane2005-03-21
| | | | | | up-to-speed logic; in particular this will cause it to quote names that match keywords. Remove unnecessary multibyte cruft from quote_literal (all backend-internal encodings are 8-bit-safe).
* pgcrypto update:Neil Conway2005-03-21
| | | | | | | | | | * test error handling * add tests for des, 3des, cast5 * add some tests to blowfish, rijndael * Makefile: ability to specify different tests for different crypto libraries, so we can skip des, 3des and cast5 for builtin. Marko Kreen
* pgcrypto update:Neil Conway2005-03-21
| | | | | | | | | | | | | | | Reserve px_get_random_bytes() for strong randomness, add new function px_get_pseudo_random_bytes() for weak randomness and use it in gen_salt(). On openssl case, use RAND_pseudo_bytes() for px_get_pseudo_random_bytes(). Final result is that is user has not configured random souce but kept the 'silly' one, gen_salt() keeps working, but pgp_encrypt() will throw error. Marko Kreen
* pgcrypto update:Neil Conway2005-03-21
| | | | | | | | | | | * openssl.c: Add 3des and AES support * README.pgcrypto: list only supported ciphers for openssl OpenSSL has pre-processor symbol OPENSSL_NO_AES, which isn't that helpful for detecting if it _does_ exist. Thus the hack with AES_ENCRYPT. Marko Kreen
* pgcrypto update:Neil Conway2005-03-21
| | | | | | | | | * Use error codes instead of -1 * px_strerror for new error codes * calling convention change for px_gen_salt - return error code * use px_strerror in pgcrypto.c Marko Kreen
* * construct "struct {} list [] = {}" confuses pgindent - split those.Neil Conway2005-03-21
| | | | | | | | | | It was a bad style to begin with, and now several loops can be clearer. * pgcrypto.c: Fix function comments * crypt-gensalt.c, crypt-blowfish.c: stop messing with errno * openssl.c: use px_free instead pfree * px.h: make redefining px_alloc/px_realloc/px_free easier Marko Kreen
* Remove support for libmhash/libmcrypt.Neil Conway2005-03-21
| | | | | | | | | | | | | | | libmcrypt seems to dead, maintainer address bounces, and cast-128 fails on 2 of the 3 test vectors from RFC2144. So I see no reason to keep around stuff I don't trust anymore. Support for several crypto libraries is probably only confusing to users, although it was good for initial developing - it helped to find hidden assumptions and forced me to create regression tests for all functionality. Marko Kreen
* Convert index-related tuple handling routines from char 'n'/' ' to boolTom Lane2005-03-21
| | | | | | | | | | convention for isnull flags. Also, remove the useless InsertIndexResult return struct from index AM aminsert calls --- there is no reason for the caller to know where in the index the tuple was inserted, and we were wasting a palloc cycle per insert to deliver this uninteresting value (plus nontrivial complexity in some AMs). I forced initdb because of the change in the signature of the aminsert routines, even though nothing really looks at those pg_proc entries...
* Change the return value of HeapTupleSatisfiesUpdate() to be an enum,Neil Conway2005-03-20
| | | | | rather than an integer, and fix the associated fallout. From Alvaro Herrera.
* On Windows, use QueryPerformanceCounter instead of gettimeofday forTom Lane2005-03-20
| | | | EXPLAIN ANALYZE instrumentation. Magnus Hagander
* Remove unnecessary calls of FlushRelationBuffers: there is no needTom Lane2005-03-20
| | | | | | | | | | to write out data that we are about to tell the filesystem to drop. smgr_internal_unlink already had a DropRelFileNodeBuffers call to get rid of dead buffers without a write after it's no longer possible to roll back the deleting transaction. Adding a similar call in smgrtruncate simplifies callers and makes the overall division of labor clearer. This patch removes the former behavior that VACUUM would write all dirty buffers of a relation unconditionally.
* Add mention of why malloc() has to be used in snprintf.c.Bruce Momjian2005-03-20
|
* Department of second thoughts. Remove FRONTEND from snprintf.c becauseBruce Momjian2005-03-20
| | | | | snprintf is called before the memory system is started. We have to just malloc/free. There are no elogs in the code so we should be fine.
* Fix typo in Makefile.Bruce Momjian2005-03-20
|
* Another change for FRONTEND snprintf.c.Bruce Momjian2005-03-20
|
* Mark snprintf.c as a file that uses FRONTEND and needs to a version inBruce Momjian2005-03-20
| | | | | the server-side port library. Somehow I missed that change when I added memory allocation to snprintf.c.
* Done:Bruce Momjian2005-03-20
| | | | > * -Allow the size of the buffer cache used by temporary objects to be
* Add temp_buffers GUC variable to allow users to determine the sizeTom Lane2005-03-19
| | | | of the local buffer arena for temporary table access.
* Upgrade localbuf.c to use a hash table instead of linear search toTom Lane2005-03-19
| | | | | find already-allocated local buffers. This is the last obstacle in the way of setting NLocBuffer to something reasonably large.
* Put 'dump complete' message in the right place, so it comes out whereTom Lane2005-03-18
| | | | it's supposed to when --file option is used.
* Need to reset local buffer pin counts, not only shared buffer pins,Tom Lane2005-03-18
| | | | before we attempt any file deletions in ShutdownPostgres. Per Tatsuo.
* Added patch by Christof Petig <christof@petig-baender.de> to work around gcc ↵Michael Meskes2005-03-18
| | | | bug on powerpc and amd64.
* Avoid infinite loop in InvalidateBuffer if we ourselves are holdingTom Lane2005-03-18
| | | | a pin on the victim buffer.
* Need to release buffer pins before attempting to drop files duringTom Lane2005-03-18
| | | | backend exit. Per report from Bruce.
* Treat EPERM as a non-error case when checking to see if old postmasterTom Lane2005-03-18
| | | | | | | | | is still alive. This improves our odds of not getting fooled by an unrelated process when checking a stale lock file. Other checks already in place, plus one newly added in checkDataDir(), ensure that we cannot attempt to usurp the place of a postmaster belonging to a different userid, so there is no need to error out. Add comments indicating the importance of these other checks.
* This patch moves some code for preprocessing FOR UPDATE fromNeil Conway2005-03-17
| | | | | | grouping_planner() to preprocess_targetlist(), according to a comment in grouping_planner(). I think the refactoring makes sense, and moves some extraneous details out of grouping_planner().
* Add link to INSERT in docs.Bruce Momjian2005-03-17
| | | | Robert Treat
* Update file system snapshot docs.Bruce Momjian2005-03-17
|
* Update obsolete comment.Tom Lane2005-03-17
|
* Trivial comment tweak.Neil Conway2005-03-17
|
* Mention tablespaces as a problem for using file system snapshots.Bruce Momjian2005-03-17
|
* Document use of rsync for file system backups.Bruce Momjian2005-03-17
| | | | Tino Wildenhain
* Add mention of compatibility problem with turning off backslash escapes:Bruce Momjian2005-03-17
| | | | | | < SQL-spec compliant, so allow such handling to be disabled. > SQL-spec compliant, so allow such handling to be disabled. However, > disabling backslashes could break many third-party applications and tools.
* Factor duplicate snprintf code into functions.Bruce Momjian2005-03-17
|
* Add a reference to the documentation on alternate index operator classes inNeil Conway2005-03-17
| | | | the locale docs. Patch from Chris KL, editorialization by Neil Conway.
* This patch makes \d on tables and views sort fk constraints, triggersNeil Conway2005-03-16
| | | | | | | | and rules alphabetically in the output. This makes it the same as for indexes and stops the irritating random or reverse ordering it currently has. Chris KL
* Force initdb cause of encoding additions.Bruce Momjian2005-03-16
|
* Revise TupleTableSlot code to avoid unnecessary construction and disassemblyTom Lane2005-03-16
| | | | | | | | | | | | | | | | | | | | | of tuples when passing data up through multiple plan nodes. A slot can now hold either a normal "physical" HeapTuple, or a "virtual" tuple consisting of Datum/isnull arrays. Upper plan levels can usually just copy the Datum arrays, avoiding heap_formtuple() and possible subsequent nocachegetattr() calls to extract the data again. This work extends Atsushi Ogawa's earlier patch, which provided the key idea of adding Datum arrays to TupleTableSlots. (I believe however that something like this was foreseen way back in Berkeley days --- see the old comment on ExecProject.) A test case involving many levels of join of fairly wide tables (about 80 columns altogether) showed about 3x overall speedup, though simple queries will probably not be helped very much. I have also duplicated some code in heaptuple.c in order to provide versions of heap_formtuple and friends that use "bool" arrays to indicate null attributes, instead of the old convention of "char" arrays containing either 'n' or ' '. This provides a better match to the convention used by ExecEvalExpr. While I have not made a concerted effort to get rid of uses of the old routines, I think they should be deprecated and eventually removed.
* Add sprintf support, that were were missing.Bruce Momjian2005-03-16
| | | | Add support for snprintf '+', 'h', and %* length settings.
* pgindent snprintf.c for consistency.Bruce Momjian2005-03-16
|
* Fix snprintf for %*$.Bruce Momjian2005-03-16
|