| Commit message (Collapse) | Author | Age |
|
|
|
| |
Shraibman.
|
|
|
|
|
| |
recursing to handle a join alias var, the context had better be set to
be appropriate to the join var's query level. Per report from Hristo Neshev.
|
|
|
|
| |
> * Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values
|
| |
|
|
|
|
| |
that field so that existing programs don't break.
|
|
|
|
|
|
| |
Catalog patch from Alvaro Herrera for same.
catversion updated. initdb required.
|
|
|
|
| |
> * -Add OpenBSD's getpeereid() call for local socket authentication
|
|
|
|
| |
supported.
|
| |
|
|
|
|
|
|
| |
< * Add sql3 recursive unions
> * Add SQL99 WITH clause to SELECT
> * Add SQL99 WITH RECURSIVE to SELECT
|
| |
|
|
|
|
|
|
|
| |
> * Python
> o Allow users to register their own types with _pg
> o Allow SELECT to return a dictionary of dictionaries
> o Allow COPY BINARY FROM
|
|
|
|
| |
datconfig or useconfig field. Per report from Dustin Sallings.
|
| |
|
| |
|
|
|
|
|
|
| |
< o Allow psql \copy to specify column names
199d197
< o Add SET REAL_FORMAT and SET DOUBLE_PRECISION_FORMAT using printf args
|
|
|
|
| |
> * -Inline simple SQL functions to avoid overhead (Tom)
|
|
|
|
|
|
|
|
| |
('SELECT expression') inline, like macros, during the constant-folding
phase of planning. The actual expansion is not difficult, but checking
that we're not changing the semantics of the call turns out to be more
subtle than one might think; in particular must pay attention to
permissions issues, strictness, and volatility.
|
|
|
|
|
|
| |
well as function calls. This is needed for cases where the planner has
constant-folded or inlined the original function call. Possibly we should
back-patch this change into 7.3 branch as well.
|
|
|
|
| |
report from Philip Warner.
|
|
|
|
|
|
|
| |
and eliminate its manual pfree() calls. This solves the encoding-conversion
bug recently reported, and should be faster and more robust than the
original coding anyway. For example, we are no longer at risk if
datatype output routines leak memory or choose to return a constant string.
|
|
|
|
|
|
| |
logic, dissuade planner from thinking that 'x IS DISTINCT FROM 42' may
be optimized into 'x = 42' (!!), cause dependency on = operator to be
recorded correctly, minor other improvements.
|
| |
|
|
|
|
| |
cost into account while planning.
|
| |
|
|
|
|
|
|
| |
instead of only one. This should speed up planning (only one hash path
to consider for a given pair of relations) as well as allow more effective
hashing, when there are multiple hashable joinclauses.
|
|
|
|
|
|
|
| |
operations: make sure we use operators that are compatible, as determined
by a mergejoin link in pg_operator. Also, add code to planner to ensure
we don't try to use hashed grouping when the grouping operators aren't
marked hashable.
|
| |
|
| |
|
|
|
|
| |
Neil Conway
|
| |
|
|
|
|
| |
(Checked with Peter Eisentraut.)
|
| |
|
| |
|
| |
|
|
|
|
| |
< * Create native Win32 port [win32]
|
|
|
|
| |
configure/configure.in.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
sublink results and COPY's domain constraint checking. A Const that
isn't really constant is just a Bad Idea(tm). Remove hacks in
parse_coerce and other places that were needed because of the former
klugery.
|
| |
|
|
|
|
| |
--- not needed.
|
|
|
|
| |
up code and documentation associated with Param nodes.
|
|
|
|
|
|
|
|
| |
just done for copyfuncs/equalfuncs. Read functions in particular get
a lot shorter than before, and it's much easier to compare an out function
with the corresponding read function to make sure they agree.
initdb forced due to small changes in nodestring format (regularizing
a few cases that were formerly idiosyncratic).
|
|
|
|
|
| |
okay in 7.3, so I think it must have been busted in the recent triggers
patch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reliance on macros, in hopes of eliminating silly typos (like copying
to the wrong field) and just generally making it easier to see the forest
instead of the trees. As an example, here is the new code for A_Indices:
static A_Indices *
_copyAIndices(A_Indices *from)
{
A_Indices *newnode = makeNode(A_Indices);
COPY_NODE_FIELD(lidx);
COPY_NODE_FIELD(uidx);
return newnode;
}
static bool
_equalAIndices(A_Indices *a, A_Indices *b)
{
COMPARE_NODE_FIELD(lidx);
COMPARE_NODE_FIELD(uidx);
return true;
}
I plan to redo outfuncs/readfuncs in a similar style, but am committing
what I've got.
|