| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
the pain of updating apps to 7.0. Should we also translate some of
the 'datetime_foo' functions that exist in 6.* ?
|
| |
|
|
|
|
|
| |
so that the fmgr lookup only has to happen once per index scan and not
once per tuple. Seems to save 5% or so of CPU time for an indexscan.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement TIME WITH TIME ZONE type (timetz internal type).
Remap length() for character strings to CHAR_LENGTH() for SQL92
and to remove the ambiguity with geometric length() functions.
Keep length() for character strings for backward compatibility.
Shrink stored views by removing internal column name list from visible rte.
Implement min(), max() for time and timetz data types.
Implement conversion of TIME to INTERVAL.
Implement abs(), mod(), fac() for the int8 data type.
Rename some math functions to generic names:
round(), sqrt(), cbrt(), pow(), etc.
Rename NUMERIC power() function to pow().
Fix int2 factorial to calculate result in int4.
Enhance the Oracle compatibility function translate() to work with string
arguments (from Edwin Ramirez).
Modify pg_proc system table to remove OID holes.
|
|
|
|
|
|
| |
of BufferLocks[] entry just once. Seems to save 10% or so of the
routine's runtime, which'd not be worth worrying about if it weren't
such a hotspot.
|
|
|
|
|
|
|
|
|
|
| |
Please
> apply the attached patch to
>
> backend/port/qnx4
>
> Andreas Kardos
>
|
|
|
|
|
|
|
|
| |
alpha_cc
> template file. Patch attached.
>
> Andreas Kardos
>
|
|
|
|
|
|
| |
(Alpha).
>
> Andreas Kardos
|
|
|
|
|
| |
(Alpha).
>
|
|
|
|
|
|
|
|
|
| |
Please
> apply the attached patch.
>
> Andreas Kardos
>
>
|
|
|
|
|
| |
checking postmaster.pid. It's not enough to check the existence
of postmaster.pid since DB recovery might be running.
|
|
|
|
|
| |
of tuples we are going to retrieve from a sub-SELECT. Must have been
half asleep when I did this code the first time :-(
|
|
|
|
| |
psql script would be dropped silently.
|
|
|
|
|
|
| |
(ie, allow rounding to occur at a digit position left of the decimal
point). Apparently this is how Oracle handles it, and there are
precedents in other programming languages as well.
|
|
|
|
|
|
| |
Since we detect oversize tuples elsewhere, I see no reason not to allow
string constants that are 'too long' --- after all, they might never get
stored in a tuple at all.
|
|
|
|
|
|
| |
YY_READ_BUF_SIZE, which turns out to have nothing to do with buffer size.
It's just a totally arbitrary upper limit on how much data myinput() is
asked for at one time.
|
|
|
|
| |
set of SQL-standard type names that we accept.
|
|
|
|
|
|
|
|
|
| |
that the inputs to a given operator can be recursively simplified to
constants, it was evaluating the operator using the op's *original*
(unsimplified) arg list, so that any subexpressions had to be evaluated
again. A constant subexpression at depth N got evaluated N times.
Probably not very important in practical situations, but it made us look
real slow in MySQL's 'crashme' test...
|
|
|
|
|
| |
fireRIRonSubselect was invoked twice at each subselect, leading to an
exponential amount of wasted effort.
|
|
|
|
|
|
|
| |
gone, replaced by plain a_expr. The few places where we needed to
distinguish NULL from a_expr are now handled by tests inside the actions
rather than by separate productions. This allows us to accept queries
like 'SELECT 1 + NULL' without requiring parentheses around the NULL.
|
|
|
|
|
|
|
| |
subplan: do it if subplan has subplans itself, and always do it if the
subplan is an indexscan. (I originally set it to materialize an indexscan
only if the indexqual is fairly selective, but I dunno what I was
thinking ... an unselective indexscan is still expensive ...)
|
|
|
|
|
| |
category STRING. Also, if UNKNOWNOID is passed in, return UNKNOWN_TYPE
not USER_TYPE.
|
|
|
|
|
|
|
|
|
| |
coercion code. I'm beginning to wonder why we have separate candidate
selection routines for functions, operators, and aggregates --- shouldn't
this code all be unified? But meanwhile,
SELECT 'a' LIKE 'a';
finally works; the code for dealing with unknown input types for operators
was pretty busted.
|
| |
|
|
|
|
|
| |
subPlans to be considered 'simple'. This fixes reported problem with
'return exists (select 1 from foo);' in plpgsql function.
|
|
|
|
|
|
|
| |
per pghackers discussion around 20-Feb. Also add specific error messages
for unterminated comments and unterminated quoted strings. These things
are nonissues for input coming from psql, but they do matter for input
coming from other front ends.
|
|
|
|
|
|
|
|
| |
array. This allows processing of conninfo strings to be made thread-safe,
at the cost of a small memory leak in applications that use
PQconndefaults() and are not updated to free the returned array via
the new PQconninfoFree() function. But PQconndefaults() is probably not
used very much, so this seems like a good compromise.
|
|
|
|
| |
error message.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
nodes. The former version failed to check permissions of relations that
were referenced in second and later clauses of UNIONs, and it did not
check permissions of tables referenced via inheritance.
|
|
|
|
|
|
| |
They are #ifdef'd.
Add -D_DROP_COLUMN_HACK__ compile option
to evaluate it.
|
|
|
|
| |
freed wholesale by AllocSetReset() is overwritten too.
|
|
|
|
| |
VACUUM.
|
|
|
|
| |
Isn't anybody paying attention to warnings around here?
|
| |
|
|
|
|
|
|
|
|
|
| |
The regression test script runcheck.sh doesn't seem able to
handle the blank line on the end of the resultmap file.
Here's a patch to remove it!!
Keith.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) adds NetBSD shared lib support on both ELF and a.out platforms
2) replaces "-L$(LIBPQDIR) -lpq" with "$(LIBPQ)" defined in
Makefile.global. This makes it much easier to build stuff in
the source tree after you've already installed the libraries.
3) adds TEMPLATEDIR in Makefile.global that indicates where the
database templates are stored. This separates the template files
from real libraries that are installed in $(LIBDIR).
4) changes include order of <readline/readline.h> and <readline.h>.
The latest GNU readline installs its headers under a readline
subdirectory.
In addition to applying the patch below the following files need to be copied:
backend/port/dynloader:
bsd.h -> netbsd.h
bsd.c -> netbsd.c
include/port:
bsd.h -> netbsd.h
makefiles:
Makefile.bsd -> Makefile.netbsd
It would be great to see this incorporated into the source tree before
the 7.0 release is cut.
Thanks!
-- Johnny C. Lam <lamj@stat.cmu.edu>
|
|
|
|
|
|
|
|
|
|
| |
Here's a patch to fix the " '.' not allowed in db path" problem I ran into.
I removed '.' from the set of illegial characters, but added backtick. I also
included an explicit test for attempting include a reference to a parent dir.
How that?
Ross
|
| |
|
|
|
|
|
|
|
|
|
| |
I try change prompt in the psql, but it is set '.' (as '%m') for
non-TCP/IP
connection. This small patch try use uname() information for non-TCP/IP
instead '.'.
Karel
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the to_char() source code is large, here are regression tests for
numeric/timestamp/int8 part. It is probably enough test for formatting
code in the formatting.c module. The others (float4/float8/int4) types
share this formatting code and eventual bugs for these types aren't
few probable.
Patch fix timestamp_to_char() for infinity/invalid timestamp too.
Karel
|
|
|
|
|
|
|
|
|
| |
field. cf. Tom Lane's <19021.950544016@sss.pgh.pa.us> 14 Feb hackers
message.
Cheers,
Patrick Welche
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Subj: [PORTS] initdb problem on NT with 7.0). Since nobody helped me,
I had to find out the reson. The difference between NT and Linux (for
instance) is that "open( path, O_RDWR );" opens a file in text mode. So
sometime less block can be read than required.
I suggest a following patch. BTW the situation appeared before, see
hba.c, pqcomm.c and others.
Alexei Zakharov
|
|
|
|
| |
parameters.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when you have networks with the same prefix, but different netmasks.
This is due to the fact that occassionally there is random
(uninitialized?)
data in the extra bits past the point where the netmask cares about
them.
ie (real data from a real live database):
10.0/10 == 00001010.00100000.00100000.00011000
10.0/11 == 00001010.00000000.00000000.00000000
^ Bad data, normally never seen
The v4bitncmp() function was only taking one bit length argument so
it would determine that the networks were different, even though
they really aren't (and the netmask test wouldn't be used). This
ONLY happens if the tuple with the longer bit length is used as the
ip_bits() for the v4bitncmp call AND there happens to be junk data
in place in the shorter tuple. Odd and random, but I saw it happen
a couple times so...
Ryan Mooney
|
| |
|