- 05 Jun, 2004 2 commits
-
-
Bruce Momjian authored
-
Tom Lane authored
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.
-
- 04 Jun, 2004 7 commits
-
-
Tom Lane authored
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.
-
Bruce Momjian authored
ENABLE_THREAD_SAFETY is supported by the makefile (but not by the sources, which need some rework) Andreas Pflug
-
Bruce Momjian authored
change an old -not-working piece of code.
-
Bruce Momjian authored
reorganization processing, and it is clearer without the dash anyway.
-
Tom Lane authored
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.
-
Tom Lane authored
with using a trigger's NEW or OLD record as a whole-row variable in an expression. Fixes several long-standing complaints.
-
Tom Lane authored
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.
-
- 03 Jun, 2004 11 commits
-
-
Tom Lane authored
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.
-
Tom Lane authored
with typeTypType().
-
Tom Lane authored
-
Tom Lane authored
Stephen Frost. Also tighten date range check in timestamp2tm.
-
Bruce Momjian authored
-
Teodor Sigaev authored
- Add aligment for interval data types - Avoid floating point overflow in penalty functions Janko Richter <jankorichter@yahoo.de> and teodor
-
Tom Lane authored
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.
-
Bruce Momjian authored
. 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
-
Bruce Momjian authored
be interpreted just the other way round in initialize_SSL. Andreas Pflug
-
Bruce Momjian authored
Andreas Pflug
-
Bruce Momjian authored
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.
-
- 02 Jun, 2004 7 commits
-
-
Bruce Momjian authored
Specifically, point out that intersecting points in a path will yield (most likely), unexpected results. Visually these are identical paths, but mathematically they're not the same. Ex: area | plan ------ +----------------------------------------------------------------------- ------------------- -0 | ((0,0),(0,1),(2,1),(2,2),(1,2),(1,0),(0,0)) 2 | ((0,0),(0,1),(1,1),(1,2),(2,2),(2,1),(1,1),(1,0),(0,0)) The current algorithm for area(PATH) is very quick, but only handles non-intersecting paths. I'm going to work on two other functions for the PATH data type that determines if a PATH is intersecting or not, and a function that returns the area() for an intersecting PATH. The intersecting area() function will be considerably slower (I think it's going to be O(n!) or worse instead of the current O(n), but that comes with the territory). Sean Chittenden
-
Bruce Momjian authored
(cancel and terminate) signals to other backends. They permit only INT and TERM, and permits sending only to postgresql backends. Magnus Hagander
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
Has docs + regression test. Christopher Kings-Lynne
-
Tom Lane authored
-
Tom Lane authored
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.
-
- 01 Jun, 2004 11 commits
-
-
Bruce Momjian authored
-
Tom Lane authored
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.
-
Teodor Sigaev authored
-
Tom Lane authored
-
Tom Lane authored
-
Tom Lane authored
-
Bruce Momjian authored
-
Tom Lane authored
-
Tom Lane authored
being a plain List.
-
Bruce Momjian authored
Add locale to pg_ctl.c.
-
Bruce Momjian authored
-
- 31 May, 2004 2 commits
-
-
Tom Lane authored
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).
-
Tom Lane authored
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.
-