aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Remove dash in pg_ctl signal name. It broke with getopt_long dashBruce Momjian2004-06-04
| | | | reorganization processing, and it is clearer without the dash anyway.
* Remove some long-obsolete code that was causing a strange error messageTom Lane2004-06-04
| | | | | | | when someone attempts to create a column of a composite datatype. For now, just make sure we produce a reasonable error at the 'right place'. Not sure if this will be made to work before 7.5, but make it act reasonably in case nothing more gets done.
* Support assignment to whole-row variables in plpgsql; also fix glitchTom Lane2004-06-04
| | | | | with using a trigger's NEW or OLD record as a whole-row variable in an expression. Fixes several long-standing complaints.
* Allow plpgsql to pass composite-type arguments (ie, whole-row variables)Tom Lane2004-06-04
| | | | | | into SQL expressions. At present this only works usefully for variables of named rowtypes, not RECORD variables, since the SQL parser can't infer anything about datatypes from a RECORD Param. Still, it's a step forward.
* Restructure plpgsql's parsing of datatype declarations to unify theTom Lane2004-06-03
| | | | | | | scalar and composite (rowtype) cases a little better. This commit is just a code-beautification operation and shouldn't make any real difference in behavior, but it's an important preliminary step for trying to improve plgsql's handling of rowtypes.
* Remove typeTypeFlag(), which was not only unused but entirely redundantTom Lane2004-06-03
| | | | with typeTypType().
* plpgsql hasn't needed -Wno-error for a good long while.Tom Lane2004-06-03
|
* Add range-checking in timestamp_recv and timestamptz_recv, perTom Lane2004-06-03
| | | | Stephen Frost. Also tighten date range check in timestamp2tm.
* Remove SYSCONFDIR from win32 include file.Bruce Momjian2004-06-03
|
* Adjust our timezone library to use pg_time_t (typedef'd as int64) inTom Lane2004-06-03
| | | | | | | | | | | | | | | | | | | place of time_t, as per prior discussion. The behavior does not change on machines without a 64-bit-int type, but on machines with one, which is most, we are rid of the bizarre boundary behavior at the edges of the 32-bit-time_t range (1901 and 2038). The system will now treat times over the full supported timestamp range as being in your local time zone. It may seem a little bizarre to consider that times in 4000 BC are PST or EST, but this is surely at least as reasonable as propagating Gregorian calendar rules back that far. I did not modify the format of the zic timezone database files, which means that for the moment the system will not know about daylight-savings periods outside the range 1901-2038. Given the way the files are set up, it's not a simple decision like 'widen to 64 bits'; we have to actually think about the range of years that need to be supported. We should probably inquire what the plans of the upstream zic people are before making any decisions of our own.
* Win32 regression fixes:Bruce Momjian2004-06-03
| | | | | | | | | | | | | . only use the -W flag on pwd for $pkglibdir. All the other paths need to be seen as MSys type paths, whereas $pkglibdir needs to be expressed as a genuine windows path. . run single tests in the background and explicitly wait for them - solves the problem of the MSys shell not waiting properly for the copy test to finish. . use pg_ctl to shut down the test postmaster - no more use of ad hoc kill programs or the task manager. Andrew Dunstan
* init_ssl_system will return 0 on success and -1 on failure, which willBruce Momjian2004-06-03
| | | | | | be interpreted just the other way round in initialize_SSL. Andreas Pflug
* Add new Win32 file with adjustments for recent code changes.Bruce Momjian2004-06-03
| | | | Andreas Pflug
* Add PGETC (for pg_service.conf) and PGLOCALE (for locale dir)Bruce Momjian2004-06-03
| | | | | | | | | environment variable processing to libpq. The patch also adds code to our client apps so we set the environment variable directly based on our binary location, unless it is already set. This will allow our applications to emit proper locale messages that are generated in libpq.
* Per previous discussions, here are two functions to send INT and TERMBruce Momjian2004-06-02
| | | | | | | (cancel and terminate) signals to other backends. They permit only INT and TERM, and permits sending only to postgresql backends. Magnus Hagander
* Move -lpgport to the beginning of the library list for win32 linking.Bruce Momjian2004-06-02
|
* OK, here's the final version of ALTER TABLE ... SET WITHOUT CLUSTER.Bruce Momjian2004-06-02
| | | | | | Has docs + regression test. Christopher Kings-Lynne
* Fix breakage from GUC-extension-variables patch.Tom Lane2004-06-02
|
* Adjust btree index build to not use shared buffers, thereby avoiding theTom Lane2004-06-02
| | | | | | | | | | | locking conflict against concurrent CHECKPOINT that was discussed a few weeks ago. Also, if not using WAL archiving (which is always true ATM but won't be if PITR makes it into this release), there's no need to WAL-log the index build process; it's sufficient to force-fsync the completed index before commit. This seems to gain about a factor of 2 in my tests, which is consistent with writing half as much data. I did not try it with WAL on a separate drive though --- probably the gain would be a lot less in that scenario.
* Add locale setting for pg_ctl.Bruce Momjian2004-06-01
|
* Align GRANT/REVOKE behavior more closely with the SQL spec, per discussionTom Lane2004-06-01
| | | | | | | | | | of bug report #1150. Also, arrange that the object owner's irrevocable grant-option permissions are handled implicitly by the system rather than being listed in the ACL as self-granted rights (which was wrong anyway). I did not take the further step of showing these permissions in an explicit 'granted by _SYSTEM' ACL entry, as that seemed more likely to bollix up existing clients than to do anything really useful. It's still a possible future direction, though.
* FastList is history, yay.Tom Lane2004-06-01
|
* Just about there on de-FastList-ification.Tom Lane2004-06-01
|
* More locale fixes for pg_ctl.Bruce Momjian2004-06-01
|
* Some more de-FastList-ification.Tom Lane2004-06-01
|
* Desultory de-FastList-ification. RelOptInfo.reltargetlist is back toTom Lane2004-06-01
| | | | being a plain List.
* Remove init_nls() functions, call set_pglocale() directly.Bruce Momjian2004-06-01
| | | | Add locale to pg_ctl.c.
* Add pgpid_t for use with pids.Bruce Momjian2004-06-01
|
* Additional mop-up for sync-to-fsync changes: avoid issuing fsyncs forTom Lane2004-05-31
| | | | | | temp tables, and avoid WAL-logging truncations of temp tables. Do issue fsync on truncated files (not sure this is necessary but it seems like a good idea).
* Minor code rationalization: FlushRelationBuffers just returns void,Tom Lane2004-05-31
| | | | | | | | rather than an error code, and does elog(ERROR) not elog(WARNING) when it detects a problem. All callers were simply elog(ERROR)'ing on failure return anyway, and I find it hard to envision a caller that would not, so we may as well simplify the callers and produce the more useful error message directly.
* Suppress compile warnings on machines where the INT64CONST() decorationTom Lane2004-05-31
| | | | is actually needed. Per Oliver Elphick.
* Too few parens for my taste in this macro.Tom Lane2004-05-31
|
* I think I've finally identified the cause of the off-by-one-secondTom Lane2004-05-31
| | | | | | | | | | issue in timestamp conversion that we hacked around for so long by ignoring the seconds field from localtime(). It's simple: you have to watch out for platform-specific roundoff error when reducing a possibly-fractional timestamp to integral time_t form. In particular we should subtract off the already-determined fractional fsec field. This should be enough to get an exact answer with int64 timestamps; with float timestamps, throw in a rint() call just to be sure.
* Have pg_ctl print pid and error on signal failure, per suggestion from Tom.Bruce Momjian2004-05-31
|
* Per previous discussions, get rid of use of sync(2) in favor ofTom Lane2004-05-31
| | | | | | | | | | | | | | | | | explicitly fsync'ing every (non-temp) file we have written since the last checkpoint. In the vast majority of cases, the burden of the fsyncs should fall on the bgwriter process not on backends. (To this end, we assume that an fsync issued by the bgwriter will force out blocks written to the same file by other processes using other file descriptors. Anyone have a problem with that?) This makes the world safe for WIN32, which ain't even got sync(2), and really makes the world safe for Unixen as well, because sync(2) never had the semantics we need: it offers no way to wait for the requested I/O to finish. Along the way, fix a bug I recently introduced in xlog recovery: file truncation replay failed to clear bufmgr buffers for the dropped blocks, which could result in 'PANIC: heap_delete_redo: no block' later on in xlog replay.
* Use the new List API function names throughout the backend, and disable theNeil Conway2004-05-30
| | | | | list compatibility API by default. While doing this, I decided to keep the llast() macro around and introduce llast_int() and llast_oid() variants.
* Paranoia: ensure MyBackendId is InvalidBackendId in a process that hasTom Lane2004-05-30
| | | | never executed SIBackendInit().
* Add thread library to libpgport creation.Bruce Momjian2004-05-30
|
* Implement new PostmasterIsAlive() check for WIN32, per Claudio Natoli.Tom Lane2004-05-30
| | | | In passing, align a few error messages with the style guide.
* Separate out bgwriter code into a logically separate module, ratherTom Lane2004-05-29
| | | | | | | | | than being random pieces of other files. Give bgwriter responsibility for all checkpoint activity (other than a post-recovery checkpoint); so this child process absorbs the functionality of the former transient checkpoint and shutdown subprocesses. While at it, create an actual include file for postmaster.c, which for some reason never had its own file before.
* Translation updatePeter Eisentraut2004-05-29
|
* Translation updatesPeter Eisentraut2004-05-29
|
* Translation updatePeter Eisentraut2004-05-29
|
* Fix another place that assumed 'x = lcons(y, z)' would not have anyTom Lane2004-05-29
| | | | | side-effect on the original list z. I fear we have a few more of these to track down yet :-(.
* When checking for thread safety with src/tools/thread/thread_test.c, theBruce Momjian2004-05-28
| | | | | | | mktemp function wants an argument that contains 6 X, while the current version only supplies 5 X which will fail on my SuSE 8.1. Andreas Pflug
* Fix minor error in comment.Tom Lane2004-05-28
|
* Fix thinko in recent patch to change temp-table permissions behavior:Tom Lane2004-05-28
| | | | | | | | | | | this is an aclmask function and does not have the same return convention as aclcheck functions. Also adjust the behavior so that users without CREATE TEMP permission still have USAGE permission on their session's temp schema. This allows privileged code to create a temp table and make it accessible to code that's not got the same privilege. (Since the default permissions on a table are no-access, an explicit grant on the table will still be needed; but I see no reason that the temp schema itself should prohibit such access.)
* Fix some typos I introduced in WIN32-only code late last night.Tom Lane2004-05-28
| | | | Thanks to Thomas Hallgren.
* Code review for EXEC_BACKEND changes. Reduce the number of #ifdefs byTom Lane2004-05-28
| | | | | | | | | | | about a third, make it work on non-Windows platforms again. (But perhaps I broke the WIN32 code, since I have no way to test that.) Fold all the paths that fork postmaster child processes to go through the single routine SubPostmasterMain, which takes care of resurrecting the state that would normally be inherited from the postmaster (including GUC variables). Clean up some places where there's no particularly good reason for the EXEC and non-EXEC cases to work differently. Take care of one or two FIXMEs that remained in the code.
* Seems we forgot the installdirs target in this makefile.Tom Lane2004-05-28
|