| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
| |
different from database's ...
|
|
|
|
|
|
| |
it failed to cover the case where high bits of char are 100 or 101.
Not sure if fix is right, but it agrees with pg_utf_mblen ... and it
doesn't lock up ...
|
|
|
|
| |
but I think it's OK now...
|
| |
|
| |
|
|
|
|
|
|
| |
can be generated in a buffer and then sent to the frontend in a single
libpq call. This solves problems with NOTICE and ERROR messages generated
in the middle of a data message or COPY OUT operation.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
pg_proc entries for array I/O routines besides the one detected by the
original patcher. Tighten type_sanity regress test accordingly.
|
|
|
|
|
|
| |
instead of doing a kill(self, SIGQUIT) and expecting the signal handler
to do it. Also, clean up inconsistent definitions of the sigjmp buffer
in the several files that already referenced it.
|
|
|
|
|
|
| |
and related files. Also remove float.c's gratuitous redeclaration of
isinf() ... looks like there are more decls in there that ought to be
in config.h, but I'll leave well enough alone for now ...
|
| |
|
|
|
|
|
|
|
| |
expression context (ie, not at the top level of a WHERE clause). Examples
like this one work now:
SELECT name, value FROM t1 as touter WHERE
(value/(SELECT AVG(value) FROM t1 WHERE name = touter.name)) > 0.75;
|
|
|
|
|
| |
This fixes a few of the problems Hiroshi Inoue complained of, but
I have not touched the rewrite-related issues.
|
|
|
|
|
|
|
|
| |
delete the default argument from the node. This prevents the executor
from spitting up on the untransformed argument expression. Typical
failure was:
select (case f1 when 'val' then 'subst' else f1 end) from t1;
ERROR: copyObject: don't know how to copy 704
|
|
|
|
|
|
| |
work the way it used to (ie, assume xyz is the name of the builtin
function to call). Complain if an unknown builtin function name is
referenced.
|
|
|
|
|
|
|
| |
MyProcPid global variable is set to 0 when postgres starts as a command
(not as a backend daemon). This leads issuing SIGQUIT to the process group,
not the process itself. As a result, parent sh gets core dumped in the
Wisconsin benchmark test.
|
| |
|
|
|
|
|
|
|
| |
rather than reusing the input storage.
Also made the same fix to int8smaller(), though there wasn't a symptom,
and went through and verified that other pass-by-reference data types
do the same thing. Not an issue for the by-value types.
|
|
|
|
|
|
|
|
|
|
| |
relation, rather than zeroes. This prevents the optimizer from making
foolish choices (ie, using nested-loop plans) on never-yet-vacuumed tables.
This is a hack, of course. Keeping accurate track of these statistics
would be a cleaner solution, but it's far from clear that it'd be worth
the cost of doing so. In any case we're not going to do that for 6.5.
In the meantime, this quick hack provides a useful performance improvement
in the regression tests and in many real-world scenarios.
|
|
|
|
|
|
|
|
| |
time zone.
Previously, localtime() rotated a date with a day of month field which
exceeded the actual range into the next months, masking the fact that
a bad date had been specified.
Regression tests pass.
|
|
|
|
|
| |
mis-copied "NULL", which happens to have the same binary value.
Previously, gcc gave non-fatal warnings.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
indexes.
1. Index Scan using plural indexids never scan backward
as to the order of indexids.
2. The cursor using Index scan is not usable after moving
past the end.
This patch solves above bugs.
Moreover the change of _bt_first() would be useful to extend
ORDER BY patch by Jan Wieck for all descending order cases.
Hiroshi Inoue
|
| |
|
| |
|
|
|
|
|
|
|
| |
/*
* Have to check is inserted heap tuple deleted one
* (i.e. just moved to another place by vacuum)!
*/
|
|
|
|
|
|
|
|
| |
not-yet-defined operator in commutator, negator, etc links. This is
necessary in order to ensure that a pg_dump dump of user-defined operators
can be reloaded. There may still be a bug lurking here, because it's
provoking a 'Buffer Leak' notice message in one case. See my mail to
pgsql-hackers.
|
|
|
|
| |
making prosrc instead of proname be the link to the actual internal function.
|
|
|
|
|
|
|
| |
hashjoin's hashFunc() so that it does the right thing with pass-by-value
data types (the old code would always return 0 for int2 or char values,
which would work but would slow things down a lot). Extend opr_sanity
regress test to catch more kinds of errors.
|
|
|
|
|
| |
Use memcpy() rather than StrNCpy() which had forced a string termination
character at the end.
|
|
|
|
| |
configuration constant to config.h.
|
|
|
|
| |
(may be used while vacuuming unique btree-s).
|
|
|
|
|
| |
2gig. Fix failure to reliably put the smaller relation on the inside of
a hashjoin.
|
|
|
|
|
|
| |
called through fmgr. Someday we should try to actually execute the function,
but that looks like it might be a major feature addition.
Not something to try during beta phase.
|
|
|
|
| |
would sometimes generate a plan that omitted a sort step before merge.
|
|
|
|
| |
parameters in CREATE USER.
|
|
|
|
| |
complaints (and some of my own).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
function is found in prosrc field of pg_proc, not proname. This allows
multiple aliases of a built-in to all be implemented as direct builtins,
without needing a level of indirection through an SQL function. Replace
existing SQL alias functions with builtin entries accordingly.
Save a few K by not storing string names of builtin functions in fmgr's
internal table (if you really want 'em, get 'em from pg_proc...).
Update opr_sanity with a few more cross-checks.
|
|
|
|
|
|
|
| |
2. Much faster btree tuples deletion in the case when first on page
index tuple is deleted (no movement to the left page(s)).
3. Remember blkno of new root page in BTPageOpaque of
left/right siblings when root page is splitted.
|
|
|
|
| |
It still doesn't do anything, but at least now it does nothing correctly.
|
| |
|
| |
|
|
|
|
| |
need not be bogus.
|
| |
|