| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
| |
thing when there are multiple result relations. Formerly, during
something like 'UPDATE foo*', foo's constraints and *only* foo's
constraints would be applied to all foo's children. Wrong-o ...
|
|
|
|
|
|
| |
Without this, an elog during cache-entry load leaves that catcache
unusable. elog in that segment of code is pretty unusual but it can
happen.
|
|
|
|
|
|
|
|
| |
multiple times in the parsetree (can happen in COALESCE or BETWEEN
contexts, for example). This is a pretty grotty solution --- it will
do for now, but perhaps we can do better when we redesign querytrees.
What we need is a consistent policy about whether querytrees should be
considered read-only structures or not ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ooops, I forget... here it is again.
> > > If encoding is not supported returns ERROR.
and if multibyte not enabled too....
Thanks.
Karel
~
|
| |
|
|
|
|
|
|
| |
- disable triggers prior to BLOB load
- better query for loading blob xrefs
- Fixes to error handling code
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- encode 'text' from database encoding to ASCII
to_ascii('\256\341k')
to_ascii( text, int4 )
- encode 'text' from 'int4' encoding to ASCII
to_ascii('\256\341k', 8)
to_ascii( text, name )
- encode 'text' from 'name' encoding to ASCII
to_ascii('\256\341k', 'LATIN2')
Now is supported LATIN1, LATIN2, WIN1250. For other character sets I
haven't good resources. Add new encoding is easy...
If encoding is not supported returns ERROR.
Note --- not exists total corect conversion to ASCII, this function try
convert chars those is _probably_ interpret-able in ASCII for
others use ' '. But for example for all Czech characters it is
sufficient ... hmm Chinese / JAP and other complicated langs
have
bad luck here :-(
Karel
|
| |
|
|
|
|
|
|
|
|
|
| |
trying to toast tuples inserted into toast tables! Fix is two-pronged:
first, ensure all columns of a toast table are marked attstorage='p',
and second, alter the target chunk size so that it's less than the
threshold for trying to toast a tuple. (Code tried to do that but the
expression was wrong.) A few cosmetic cleanups in tuptoaster too.
NOTE: initdb forced due to change in toaster chunk-size.
|
|
|
|
|
|
|
|
| |
on myself to do something about the non-self-consistency of the inet
comparison functions. The results are probably still semantically wrong
(inet and cidr should have different comparison semantics, I think)
but at least the boolean operators now agree with each other and with
the sort order of indexes on inet/cidr.
|
|
|
|
|
|
|
|
|
| |
These two routines will now ALWAYS elog() on failure, whether you ask for
a lock or not. If you really want to get a NULL return on failure, call
the new routines heap_open_nofail()/heap_openr_nofail(). By my count there
are only about three places that actually want that behavior. There were
rather more than three places that were missing the check they needed to
make under the old convention :-(.
|
|
|
|
|
| |
We're reaching the mopup stage here (good thing too, this is getting
tedious).
|
|
|
|
|
|
|
|
|
| |
result, in fact nearly the opposite of what it should, because it
was passing the not-equal operator to eqsel() which would use it to
compare the value against the most common value in the column, and
of course obtain the wrong result therefrom. Must pass the equality
operator to eqsel() instead. Fortunately that's easy to get from
the oprnegate link.
|
|
|
|
|
|
| |
At this point I think it'd be possible to make float4 be pass-by-value
without too much work --- and float8 too on machines where Datum is
8 bytes. Something to try when the mood strikes, anyway.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added code to dump 'Create Schema' statement (pg_dump)
- Don't bother to disable/enable triggers if we don't have a superuser (pg_restore)
- Cleaned up code for reconnecting to database.
- Force a reconnect as superuser before enabling/disabling triggers.
- Added & Removed --throttle (pg_dump)
- Fixed minor bug in language dumping code: expbuffres were not being reset.
- Fixed version number initialization in _allocAH (pg_backup_archiver.c)
- Added second connection when restoring BLOBs to allow temp. table to survive
(db reconnection causes temp tables to be lost).
|
|
|
|
|
| |
compressible but not externally storable (since we're not sure about
whether creating a toast relation for pg_class would work).
|
|
|
|
| |
up sleeping processes.
|
|
|
|
|
|
|
| |
(Sorry, couldn't help it...)
Removed type filename as well, since it's unused and probably useless.
INITDB FORCED, because pg_rewrite columns are now plain text again.
|
|
|
|
|
|
|
|
| |
allows fixing problems with operators that expected to be able to
return a NULL, such as the '#' line-segment-intersection operator
that tried to return NULL when the two segments don't intersect.
(See, eg, bug report from 1-Nov-99 on pghackers.) Fix some other
bugs in passing, such as backwards comparison in path_distance().
|
|
|
|
|
| |
updated to new fmgr style. Deleted hoary old functions for compatibility
with pre-6.1 representations of these datatypes.
|
|
|
|
|
|
| |
I did not force. I marked numeric as compressable-but-not-move-off-able,
partly to test that storage mode and partly because I've got doubts
that numerics are large enough to need external storage.
|
|
|
|
|
|
| |
Note that this has changed some of the edge cases for what is accepted
as a type name and/or column id. Regression test passes, but more
tweaks may be coming...
|
|
|
|
|
|
|
| |
the planner may try to generate them as a result of transitivity of the
existing int2-vs-int4 and int4-vs-int8 operators. In fact, it is now
necessary that mergejoinable cross-datatype operators form closed sets.
Add an opr_sanity regress test to detect missing operators.
|
| |
|
| |
|
|
|
|
| |
eval_const_expressions tries to simplify an SQL function.
|
|
|
|
|
|
| |
for today's snapshot
Andreas
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FreeBSD/Intel and DecUX/Alpha machines. The bug appears in postgresql
6.5.3 and 7.0.2. Can someone please review it and apply it to the
source tree?
Sometimes when the postgres connection dies it is necessary to
attempt to reconnect. Calling the pgconnection::Connect method in a
derived class leaks memory because it does not clear the current
connection (if there is one). These patches ensures that any open
connections are closed before attempting to open a new one.
-Michael Richards
|
|
|
|
| |
of planning. This should reduce memory requirements for large joins.
|
|
|
|
| |
discussion on pghackers a few days ago.
|
|
|
|
|
|
| |
to use with a multiple-key index. Formerly we would only extract clauses
that had to do with the first key of the index, which was correct but
didn't exploit the index fully.
|
|
|
|
|
| |
if given a node type it doesn't support. As is, wrong results from a
mergejoin would go undetected.
|
|
|
|
| |
nor any OID in the reserved range (1-16383).
|
|
|
|
|
| |
failure to MAXALIGN the start of shmem allocable space. No reports
of trouble here, just compulsive tidiness.
|
| |
|
|
|
|
|
|
| |
actually, but who could understand it with no comments? Fix bug
while at it: _bt_orderkeys would try to invoke comparisons on
NULL inputs, given the right sort of redundant quals.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- connect as appropriate user in pg_restore with db connection
- dump owner of rule in pg_dump
|
|
|
|
|
|
|
|
| |
mergejoinable qual clauses, and add them to the query quals. For
example, WHERE a = b AND b = c will cause us to add AND a = c.
This is necessary to ensure that it's safe to use these variables
as interchangeable sort keys, which is something 7.0 knows how to do.
Should provide a useful improvement in planning ability, too.
|
|
|
|
| |
Don't do config.status substitutions into the regression test makefile.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
varlena elements work now. Allow assignment to previously-nonexistent
subscript position to extend array, but only for 1-D arrays and only
if adjacent to existing positions (could do more if we had a way to
represent nulls in arrays, but I don't want to tackle that now).
Arrange for assignment of NULL to an array element in UPDATE to be a
no-op, rather than setting the entire array to NULL as it used to.
(Throwing an error would be a reasonable alternative, but it's never
done that...) Update regress test accordingly.
|
| |
|
|
|
|
|
|
| |
by Tom.
Jan
|
|
|
|
|
|
|
|
| |
work as expected. THe underlying implementation is essentially
'SET foo = array_set(foo, 1, bar)', so we have to turn the items
into nested invocations of array_set() to make it work correctly.
Side effect: we now complain about 'UPDATE tab SET foo = bar, foo = baz'
which is illegal per SQL92 but we didn't detect it before.
|
|
|
|
| |
a very long time.
|