aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Add regression tests for CSV COPY format.Bruce Momjian2004-06-09
|
* Fix slightly-wrong syntax error messages from bootstrap parser, as perTom Lane2004-06-09
| | | | report from Tom Cook.
* Support assignment to subfields of composite columns in UPDATE and INSERT.Tom Lane2004-06-09
| | | | | | | | As a side effect, cause subscripts in INSERT targetlists to do something more or less sensible; previously we evaluated such subscripts and then effectively ignored them. Another side effect is that UPDATE-ing an element or slice of an array value that is NULL now produces a non-null result, namely an array containing just the assigned-to positions.
* Use single quotes around pg_dump call from pg_dumpall.Bruce Momjian2004-06-09
|
* Use single quotes for pg_ctl system call.Bruce Momjian2004-06-09
|
* Add time.h to pg_dumpall.Bruce Momjian2004-06-09
|
* Use mkstemp instead of mktemp in thread test, per Jan.Bruce Momjian2004-06-09
|
* Previous code cleanup was for bufpage.c, not bufmgr.c.Bruce Momjian2004-06-09
| | | | This cleanup just cleans up a comment.
* Add missing check for too-few-inputs when replacing a zero-dimensionalTom Lane2004-06-08
| | | | array.
* Stylistic changes in bufmgr.cBruce Momjian2004-06-08
| | | | | | | Basically replaces (*a).b with a->b as it is everywhere else in Postgres. Manfred Koizar
* vacuum.c refactoringBruce Momjian2004-06-08
| | | | | | | | | | | | | | | | | . rename variables . cur_buffer -> dst_buffer . ToPage -> dst_page . cur_page -> dst_vacpage . move variable declarations into block where variable is used . various Asserts instead of elog(ERROR, ...) . extract functionality from repair_frag() into new routines . move_chain_tuple() . move_plain_tuple() . update_hint_bits() . create type ExecContext . add comments Manfred Koizar
* Change PGETC to PGSYSCONFDIR and PGLOCALE to PGLOCALEDIR, per Peter.Bruce Momjian2004-06-08
|
* Have strerror_r return "Unknown error".Bruce Momjian2004-06-08
|
* Fix strerror_r by checking return type from configure.Bruce Momjian2004-06-07
|
* Add start/stop times for pg_dump/pg_dumpall when verbose output is used.Bruce Momjian2004-06-07
|
* Dept of second thoughts: don't use the new wide-character upper/lowerTom Lane2004-06-06
| | | | | code if we are running in a single-byte encoding. No point in the extra overhead in that case.
* Add some regression tests for composite-type operations.Tom Lane2004-06-06
|
* Allow use of table rowtypes directly as column types of other tables.Tom Lane2004-06-06
| | | | | | | | Instead of prohibiting that, put code into ALTER TABLE to reject ALTERs that would affect other tables' columns. Eventually we will probably want to extend ALTER TABLE to actually do something useful here, but in the meantime it seems wrong to forbid the feature completely just because ALTER isn't fully baked.
* Minor catalog cleanups for composite-type stuff. Adjust signatures shownTom Lane2004-06-06
| | | | | | | in pg_proc for record_in, record_out, etc to reflect that these routines now make use of the second OID parameter. Remove the ancient SET entry in pg_type, which is now highly unlikely to ever become used again. Adjust type_sanity regression test to match.
* Add binary I/O support for composite types.Tom Lane2004-06-06
|
* Remove finger from dike: composite types are now allowed as table columns.Tom Lane2004-06-06
| | | | | Still a few things to do, like binary I/O and regression tests and docs, but might as well let people play with the toy.
* Preliminary support for composite type I/O; just text for now,Tom Lane2004-06-06
| | | | no binary yet.
* Infrastructure for I/O of composite types: arrange for the I/O routinesTom Lane2004-06-06
| | | | | | | | | | of a composite type to get that type's OID as their second parameter, in place of typelem which is useless. The actual changes are mostly centralized in getTypeInputInfo and siblings, but I had to fix a few places that were fetching pg_type.typelem for themselves instead of using the lsyscache.c routines. Also, I renamed all the related variables from 'typelem' to 'typioparam' to discourage people from assuming that they necessarily contain array element types.
* Tweak palloc/repalloc to allow zero bytes to be requested, as per recentTom Lane2004-06-05
| | | | | proposal. Eliminate several dozen now-unnecessary hacks to avoid palloc(0). (It's likely there are more that I didn't find.)
* Adjust PageGetMaxOffsetNumber to ensure sane behavior on uninitializedTom Lane2004-06-05
| | | | pages, even when the macro's result is stored into an unsigned variable.
* Slight code cleanup for printf's.Bruce Momjian2004-06-05
|
* Make the world very nearly safe for composite-type columns in tables.Tom Lane2004-06-05
| | | | | | | | | | | | | | | | | | | 1. Solve the problem of not having TOAST references hiding inside composite values by establishing the rule that toasting only goes one level deep: a tuple can contain toasted fields, but a composite-type datum that is to be inserted into a tuple cannot. Enforcing this in heap_formtuple is relatively cheap and it avoids a large increase in the cost of running the tuptoaster during final storage of a row. 2. Fix some interesting problems in expansion of inherited queries that reference whole-row variables. We never really did this correctly before, but it's now relatively painless to solve by expanding the parent's whole-row Var into a RowExpr() selecting the proper columns from the child. If you dike out the preventive check in CheckAttributeType(), composite-type columns now seem to actually work. However, we surely cannot ship them like this --- without I/O for composite types, you can't get pg_dump to dump tables containing them. So a little more work still to do.
* Resurrect heap_deformtuple(), this time implemented as a singly nestedTom Lane2004-06-04
| | | | | | | | | | loop over the fields instead of a loop around heap_getattr. This is considerably faster (O(N) instead of O(N^2)) when there are nulls or varlena fields, since those prevent use of attcacheoff. Replace loops over heap_getattr with heap_deformtuple in situations where all or most of the fields have to be fetched, such as printtup and tuptoaster. Profiling done more than a year ago shows that this should be a nice win for situations involving many-column tables.
* The attached patch will create a dummy pg_config_paths.h. Additionally,Bruce Momjian2004-06-04
| | | | | | | ENABLE_THREAD_SAFETY is supported by the makefile (but not by the sources, which need some rework) Andreas Pflug
* 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.