| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
| |
where the latter is made slightly larger to allow for in-memory tuples
containing resjunk attributes. Responds to today's complaint that one
cannot UPDATE a table containing the allegedly-legal maximum number of
columns.
Also, apply Manfred Koizar's recent patch to avoid extra alignment padding
when there is a null bitmap. This saves bytes in some cases while not
creating any backward-compatibility problem AFAICS.
|
|
|
|
|
| |
and just slow down normal operations (only fractionally, but a cycle saved
is a cycle earned). Improve documentation of AMI_OVERRIDE behavior.
|
| |
|
| |
|
|
|
|
| |
wasn't seen before, maybe the Tcl compiler flags were less strict.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
transaction, so as to avoid returning them out of the index AM. Saves
repeated heap_fetch operations on frequently-updated rows. Also detect
queries on unique keys (equality to all columns of a unique index), and
don't bother continuing scan once we have found first match.
Killing is implemented in the btree and hash AMs, but not yet in rtree
or gist, because there isn't an equally convenient place to do it in
those AMs (the outer amgetnext routine can't do it without re-pinning
the index page).
Did some small cleanup on APIs of HeapTupleSatisfies, heap_fetch, and
index_insert to make this a little easier.
|
|
|
|
|
|
|
|
|
|
| |
system, not Tcl-provided one.
Make sure export file, if any, is cleaned.
Tcl configuration is now read directly in configure and recorded in
Makefile.global. This eliminates some duplicate efforts and allows
for easier hand-editing of the results, if necessary.
|
|
|
|
| |
to do profiling on Cygwin, per report from Dave Page.
|
|
|
|
|
|
|
|
| |
exemplified by bug #671. Moving the storage to relcache turned out to
be a bad idea because relcache might decide to discard the info. Instead,
open and close the relcache entry on each sequence operation, and use
a record of the current XID to discover whether we already hold
AccessShareLock on the sequence.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
function body (and other properties) as a function in the language
is created. This generalizes ad hoc code that already existed for
the built-in languages.
The validation now happens after the pg_proc tuple of the new function
is created, so it is possible to define recursive SQL functions.
Add some regression test cases that cover bogus function definition
attempts.
|
|
|
|
|
| |
reference count. This avoids leaving dangling pointers around, as in
recent bug report against sequences (bug# 671).
|
| |
|
|
|
|
|
| |
CREATE VIEW as SELECT CTID, ....
SELECT currtid( a view, ..).
|
|
|
|
|
|
|
|
|
|
| |
2) Supprt ARD precision/scale and SQL_C_NUEMRIC.
3) Minimal implementation of SQLGetDiagField().
4) SQLRowCount() reports the result of SQLSetPos and SQLBulkOperation.
5) int8 -> SQL_NUMERIC for Microsoft Jet.
6) Support isolation level change.
7) ODBC3.0 SQLSTATE code.
8) Append mode log files.
|
|
|
|
|
| |
a frozen (copied) snapshot too. Move execMain's snapshot copying code
out into a subroutine in case we find other places that need it.
|
|
|
|
|
| |
or appropriate, since the snapshot that will be used by the cursor was
frozen when ExecutorStart was run for it.
|
|
|
|
|
|
|
|
|
|
|
| |
in snapshots, per my proposal of a few days ago. Also, tweak heapam.c
routines (heap_insert, heap_update, heap_delete, heap_mark4update) to
be passed the command ID to use, instead of doing GetCurrentCommandID.
For catalog updates they'll still get passed current command ID, but
for updates generated from the main executor they'll get passed the
command ID saved in the snapshot the query is using. This should fix
some corner cases associated with functions and triggers that advance
current command ID while an outer query is still in progress.
|
| |
|
|
|
|
| |
be smarter about parentheses in read_sql_construct(). Sigh.
|
|
|
|
|
|
|
| |
yesterday's proposal to pghackers. Also remove unnecessary parameters
to heap_beginscan, heap_rescan. I modified pg_proc.h to reflect the
new numbers of parameters for the AM interface routines, but did not
force an initdb because nothing actually looks at those fields.
|
|
|
|
|
| |
- Removed some simple rules to work arounf bison limit for now.
- Update c_keywords.c to reflect changes in keywords.c.
|
|
|
|
|
|
| |
- Synced preproc.y with gram.y.
- Synced pgc.l with scan.l.
- Synced keywords.c.
|
|
|
|
| |
in the various standards can be found in the documentation these days.
|
|
|
|
| |
privileges test.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
process function RTE expressions, which they were previously missing.
This allows outer-Var references and subselects to work correctly in
the arguments of a function RTE. Install check to prevent function RTEs
from cross-referencing Vars of sibling FROM-items, which doesn't make
any sense (if you want to join, write a JOIN or WHERE clause).
|
| |
|
|
|
|
| |
I took the opportunity to remove the pg_proc.proistrusted field.
|
|
|
|
|
|
|
|
| |
rather than a Query node; this allows set_plan_references to recurse
into subplans correctly. Fixes core dump on full outer joins in
subplans. Also, invoke preprocess_expression on function RTEs'
function expressions. This seems to fix the planner's problems with
outer-level Vars in function RTEs.
|
|
|
|
| |
FunctionScan plan node.
|
|
|
|
| |
format_type_be() in error messages.
|
|
|
|
|
|
|
| |
allows the example in the CREATE SCHEMA ref page to actually work now.
Also, clean up when the transaction that initially creates a temp-table
namespace is later aborted. Simplify internal representation of search
path by folding special cases into the main list.
|
|
|
|
|
| |
in set_config_option wasn't quite right. Also clean up a couple other
things that could have been done better.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
GUC support. It's now possible to set datestyle, timezone, and
client_encoding from postgresql.conf and per-database or per-user
settings. Also, implement rollback of SET commands that occur in a
transaction that later fails. Create a SET LOCAL var = value syntax
that sets the variable only for the duration of the current transaction.
All per previous discussions in pghackers.
|
|
|
|
|
|
|
| |
is actively dangerous, per bug report from Ewald Geschwinde 14-May-02,
and several of the rest look suspicious to me. Since there is no longer
any significant value in retail pfree's in these functions, just get
rid of all of them for safety's sake.
|
|
|
|
| |
integer datetimes. Thanks to Tom Lane for spotting the problem.
|
|
|
|
|
| |
to C at run-time, and providing alternative output files for different
sort orders.
|
|
|
|
|
|
|
|
|
|
| |
per report from sugita@sra.co.jp on Thu, 09 May 2002 11:57:51 +0900
(JST) at pgsql-patches list.
Illegal long options to pg_dump makes core on some systems, since it
lacks the last null sentinel of struct option array.
Attached is a patch made by Mr. Ishida Akio <iakio@pjam.jpweb.net>.
|
|
|
|
| |
The code was not expecting to receive notice messages during the connection handshake.
|
| |
|
|
|
|
|
|
|
| |
underlying function; but cause psql's \do to show the underlying
function's comment if the operator has no comment of its own, to preserve
the useful functionality of the original behavior. Also, implement
COMMENT ON SCHEMA. Patch from Rod Taylor.
|
|
|
|
|
|
|
| |
returns-set boolean field in Func and Oper nodes. This allows cleaner,
more reliable tests for expressions returning sets in the planner and
parser. For example, a WHERE clause returning a set is now detected
and complained of in the parser, not only at runtime.
|
|
|
|
|
|
| |
some kibitzing from Tom Lane. Not everything works yet, and there's
no documentation or regression test, but let's commit this so Joe
doesn't need to cope with tracking changes in so many files ...
|
| |
|
|
|
|
| |
but the basic capability seems to work.
|