- 12 12月, 2002 1 次提交
-
-
由 Tom Lane 提交于
so that all executable expression nodes inherit from a common supertype Expr. This is somewhat of an exercise in code purity rather than any real functional advance, but getting rid of the extra Oper or Func node formerly used in each operator or function call should provide at least a little space and speed improvement. initdb forced by changes in stored-rules representation.
-
- 06 12月, 2002 1 次提交
-
-
由 Tom Lane 提交于
problems that occur if sublink is referenced via a join alias variable. Perhaps this can be improved later, but a simple and safe fix is needed for 7.3.1.
-
- 05 12月, 2002 1 次提交
-
-
由 Tom Lane 提交于
to plan nodes, not vice-versa. All executor state nodes now inherit from struct PlanState. Copying of plan trees has been simplified by not storing a list of SubPlans in Plan nodes (eliminating duplicate links). The executor still needs such a list, but it can build it during ExecutorStart since it has to scan the plan tree anyway. No initdb forced since no stored-on-disk structures changed, but you will need a full recompile because of node-numbering changes.
-
- 02 12月, 2002 1 次提交
-
-
由 Tom Lane 提交于
('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.
-
- 01 12月, 2002 1 次提交
-
-
由 Tom Lane 提交于
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.
-
- 30 11月, 2002 3 次提交
-
-
由 Tom Lane 提交于
cost into account while planning.
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
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.
-
- 26 11月, 2002 2 次提交
- 25 11月, 2002 1 次提交
-
-
由 Tom Lane 提交于
joinclauses is determined accurately for each join. Formerly, the code only considered joinclauses that used all of the rels from the outer side of the join; thus for example FROM (a CROSS JOIN b) JOIN c ON (c.f1 = a.x AND c.f2 = b.y) could not exploit a two-column index on c(f1,f2), since neither of the qual clauses would be in the joininfo list it looked in. The new code does this correctly, and also is able to eliminate redundant clauses, thus fixing the problem noted 24-Oct-02 by Hans-Jürgen Schönig.
-
- 21 11月, 2002 1 次提交
-
-
由 Tom Lane 提交于
parameter to allow it to be forced off for comparison purposes. Add ORDER BY clauses to a bunch of regression test queries that will otherwise produce randomly-ordered output in the new regime.
-
- 20 11月, 2002 1 次提交
-
-
由 Tom Lane 提交于
of groups produced by GROUP BY. This improves the accuracy of planning estimates for grouped subselects, and is needed to check whether a hashed aggregation plan risks memory overflow.
-
- 15 11月, 2002 3 次提交
-
-
由 Bruce Momjian 提交于
Rod Taylor
-
由 Tom Lane 提交于
at each plan node. Per gripe from Ross Reedstrom.
-
由 Tom Lane 提交于
aggregates: tuple_fraction has to be adjusted before passing it to compare_fractional_path_costs().
-
- 13 11月, 2002 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 11 11月, 2002 1 次提交
-
-
由 Bruce Momjian 提交于
to MemSet is a performance boost.
-
- 10 11月, 2002 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 07 11月, 2002 1 次提交
-
-
由 Tom Lane 提交于
hashed aggregation, but there's not yet planner support for it.
-
- 06 11月, 2002 1 次提交
-
-
由 Tom Lane 提交于
node now does its own grouping of the input rows, and has no need for a preceding GROUP node in the plan pipeline. This allows elimination of the misnamed tuplePerGroup option for GROUP, and actually saves more code in nodeGroup.c than it costs in nodeAgg.c, as well as being presumably faster. Restructure the API of query_planner so that we do not commit to using a sorted or unsorted plan in query_planner; instead grouping_planner makes the decision. (Right now it isn't any smarter than query_planner was, but that will change as soon as it has the option to select a hash- based aggregation step.) Despite all the hackery, no initdb needed since only in-memory node types changed.
-
- 02 11月, 2002 1 次提交
-
-
由 Tom Lane 提交于
-
- 19 10月, 2002 1 次提交
-
-
由 Tom Lane 提交于
Ray Ontko 28-June-02. Also, fix prefix_selectivity for NAME lefthand variables (it was bogusly assuming binary compatibility), and adjust make_greater_string() to not call pg_mbcliplen() with invalid multibyte data (this last per bug report that I can't find at the moment, but it was in July '02).
-
- 13 10月, 2002 1 次提交
-
-
由 Tom Lane 提交于
one is pushed down into an outer join and the other is not.
-
- 25 9月, 2002 1 次提交
-
-
由 Tom Lane 提交于
Fixes problem with cases like SELECT * FROM foo t WHERE NOT EXISTS (SELECT remoteid FROM (SELECT f1 as remoteid FROM foo WHERE f1 = t.f1) AS t1)
-
- 19 9月, 2002 1 次提交
-
-
由 Tom Lane 提交于
to be flexible about assignment casts without introducing ambiguity in operator/function resolution. Introduce a well-defined promotion hierarchy for numeric datatypes (int2->int4->int8->numeric->float4->float8). Change make_const to initially label numeric literals as int4, int8, or numeric (never float8 anymore). Explicitly mark Func and RelabelType nodes to indicate whether they came from a function call, explicit cast, or implicit cast; use this to do reverse-listing more accurately and without so many heuristics. Explicit casts to char, varchar, bit, varbit will truncate or pad without raising an error (the pre-7.2 behavior), while assigning to a column without any explicit cast will still raise an error for wrong-length data like 7.3. This more nearly follows the SQL spec than 7.2 behavior (we should be reporting a 'completion condition' in the explicit-cast cases, but we have no mechanism for that, so just do silent truncation). Fix some problems with enforcement of typmod for array elements; it didn't work at all in 'UPDATE ... SET array[n] = foo', for example. Provide a generalized array_length_coerce() function to replace the specialized per-array-type functions that used to be needed (and were missing for NUMERIC as well as all the datetime types). Add missing conversions int8<->float4, text<->numeric, oid<->int8. initdb forced.
-
- 11 9月, 2002 1 次提交
-
-
由 Tom Lane 提交于
that are explicitly JOINed are not considered dependencies unless they are actually used in the query: mere presence in the joinaliasvars list of a JOIN RTE doesn't count as being used. The patch touches a number of files because I needed to generalize the API of query_tree_walker to support an additional flag bit, but the changes are otherwise quite small.
-
- 05 9月, 2002 2 次提交
-
-
由 Tom Lane 提交于
that the right flavors of largefile-related definitions are seen. Most of these changes are probably unnecessary, but better safe than sorry.
-
由 Bruce Momjian 提交于
-
- 02 9月, 2002 2 次提交
-
-
由 Bruce Momjian 提交于
> src/backend/optimizer/path/indxpath.c; see the "special indexable > operators" stuff near the bottom of that file. (It's a bit of a crock > that this code is hardwired there, and not somehow accessed through a > system catalog, but it's what we've got at the moment.) The attached patch re-enables a bytea right hand argument (as compared to a text right hand argument), and enables index usage, for bytea LIKE Joe Conway
-
由 Bruce Momjian 提交于
because c.h has sys/types.h.
-
- 01 9月, 2002 1 次提交
-
-
由 Tom Lane 提交于
type for runtime constraint checks, instead of misusing the parse-time Constraint node for the purpose. Fix some damage introduced into type coercion logic; in particular ensure that a coerced expression tree will read out the correct result type when inspected (patch had broken some RelabelType cases). Enforce domain NOT NULL constraints against columns that are omitted from an INSERT.
-
- 30 8月, 2002 1 次提交
-
-
由 Tom Lane 提交于
Per pghackers discussion from back around 1-August.
-
- 29 8月, 2002 1 次提交
-
-
由 Bruce Momjian 提交于
should be pretty safe in practice, but it's probably better to be safe than sorry. I was actually looking for cases where NAMEDATALEN is assumed to be 32, but only found one. That's fixed too, as well as a few bits of code cleanup. Neil Conway
-
- 26 8月, 2002 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 11 8月, 2002 1 次提交
-
-
由 Peter Eisentraut 提交于
single source file a few directories deep in the backend tree has changed.
-
- 03 8月, 2002 1 次提交
-
-
由 Tom Lane 提交于
code review by Tom Lane. Remaining issues: functions that take or return tuple types are likely to break if one drops (or adds!) a column in the table defining the type. Need to think about what to do here. Along the way: some code review for recent COPY changes; mark system columns attnotnull = true where appropriate, per discussion a month ago.
-
- 31 7月, 2002 1 次提交
-
-
由 Tom Lane 提交于
-
- 25 7月, 2002 1 次提交
-
-
由 Peter Eisentraut 提交于
-
- 20 7月, 2002 1 次提交
-
-
由 Bruce Momjian 提交于
bitmap, if present). Per Tom Lane's suggestion the information whether a tuple has an oid or not is carried in the tuple descriptor. For debugging reasons tdhasoid is of type char, not bool. There are predefined values for WITHOID, WITHOUTOID and UNDEFOID. This patch has been generated against a cvs snapshot from last week and I don't expect it to apply cleanly to current sources. While I post it here for public review, I'm working on a new version against a current snapshot. (There's been heavy activity recently; hope to catch up some day ...) This is a long patch; if it is too hard to swallow, I can provide it in smaller pieces: Part 1: Accessor macros Part 2: tdhasoid in TupDesc Part 3: Regression test Part 4: Parameter withoid to heap_addheader Part 5: Eliminate t_oid from HeapTupleHeader Part 2 is the most hairy part because of changes in the executor and even in the parser; the other parts are straightforward. Up to part 4 the patched postmaster stays binary compatible to databases created with an unpatched version. Part 5 is small (100 lines) and finally breaks compatibility. Manfred Koizar
-