| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
| |
The consequences of overwriting a non-empty page are bad enough that
we should not omit this test in production builds.
|
|
|
|
|
|
|
|
|
| |
the relation but it finds a pre-existing valid buffer. The buffer does not
correspond to any page known to the kernel, so we *must* do smgrextend to
ensure that the space becomes allocated. The 7.x branches all do this
correctly, but the corner case got lost somewhere during 8.0 bufmgr rewrites.
(My fault no doubt :-( ... I think I assumed that such a buffer must be
not-BM_VALID, which is not so.)
|
|
|
|
|
| |
>
> * Allow SERIAL sequences to inherit permissions from the base table?
|
| |
|
|
|
|
|
| |
< stable logging probably can not have indexes. [wallog]
> stable logging probably can not have indexes. [walcontrol]
|
|
|
|
|
|
|
| |
< STABLE | DEFAULT ]. [wallog]
> STABLE | DEFAULT ]. Tables using non-default logging should not use
> referential integrity with default-logging tables, and tables using
> stable logging probably can not have indexes. [wallog]
|
|
|
|
|
|
|
|
|
|
|
|
| |
< the table. Another option is to avoid transaction logging entirely
< and truncate or drop the table on crash recovery. These should be
< implemented using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP |
< TRUNCATE | STABLE | DEFAULT ]. [wallog]
> the table. This would affect COPY, and perhaps INSERT/UPDATE too.
> Another option is to avoid transaction logging entirely and truncate
> or drop the table on crash recovery. These should be implemented
> using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP | TRUNCATE |
> STABLE | DEFAULT ]. [wallog]
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
>
> * Allow control over which tables are WAL-logged
>
> Allow tables to bypass WAL writes and just fsync() dirty pages on
> commit. To do this, only a single writer can modify the table, and
> writes must happen only on new pages. Readers can continue accessing
> the table. Another option is to avoid transaction logging entirely
> and truncate or drop the table on crash recovery. These should be
> implemented using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP |
> TRUNCATE | STABLE | DEFAULT ]. [wallog]
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
< * %Remove behavior of postmaster -o after making postmaster/postgres
< flags unique
> * %Remove behavior of postmaster -o
|
| |
|
| |
|
|
|
|
|
| |
http://archives.postgresql.org/pgsql-hackers/2006-01/msg00151.php for the
complete plan.
|
| |
|
| |
|
|
|
|
| |
> * -Remove BeOS and QNX-specific code
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
an LWLock instead of a spinlock. This hardly matters on Unix machines
but should improve startup performance on Windows (or any port using
EXEC_BACKEND). Per previous discussion.
|
|
|
|
| |
expressional indexes. Per report from Brian Hirt.
|
|
|
|
|
|
|
| |
This makes the salt space for md5 and xdes algorithms a lot smaller than
it should be.
Marko Kreen
|
|
|
|
|
|
| |
than the local query specifies (e.g. in the FROM clause),
throw an ERROR (instead of crashing). Fix for bug #2129 reported
by Akio Iwaasa.
|
|
|
|
| |
per http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=343616 via Martin Pitt.
|
|
|
|
|
| |
returning the rowtype it's supposed to return. Per reports from David Niblett
and Michael Fuhr.
|
|
|
|
| |
optimization.
|
|
|
|
|
| |
call for every stats packet read to adjust select() timeout. Other
stylistic improvements.
|
| |
|
| |
|
|
|
|
| |
buffers lower than or equal to a value we already know is good, but use that value instead. This will make it easier to adjust the trial values and/or formulae in future if necessary.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
from Andrus Moor. The former state-machine-style coding wasn't actually
doing much except obscuring the control flow, and it didn't extend
readily to fix this case, so I just took it out. Also, add a
YY_FLUSH_BUFFER call to ensure the lexer is reset correctly if the
previous scan failed partway through the file.
|
|
|
|
|
| |
are inconsistent with the rest of the .po files, and apparently cause
problems for Sun's cc. Per report on IRC from "bitvector2".
|
|
|
|
| |
formerly "RETRIEVE", and so forth.
|
|
|
|
|
|
|
|
|
| |
a little bit, and set the minimum buffers-per-connection ratio to 10 not
5. I folded the two test routines into one to counteract the illusion
that the tests can be twiddled independently, and added some documentation
pointing out the necessary connection between the sets of values tested.
Fixes strange choices of parameters that I noticed CVS tip making on
Darwin with Apple's undersized default SHMMAX.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
they can be easily distinguished from SQL commands.
|
|
|
|
| |
Pierre Girard
|
|
|
|
|
|
| |
selection of a field from the result of a function returning RECORD.
I believe this case is new in 8.1; it's due to the addition of OUT parameters.
Per example from Michael Fuhr.
|
|
|
|
| |
> * Make CLUSTER preserve recently-dead tuples per MVCC requirements
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
===================================================================
RCS file: /Users/neilc/postgres/cvs_root/pgsql/src/pl/plpython/plpython.c,v
retrieving revision 1.67
diff -c -r1.67 plpython.c
*** src/pl/plpython/plpython.c 26 Dec 2005 04:28:48 -0000 1.67
--- src/pl/plpython/plpython.c 29 Dec 2005 16:54:57 -0000
***************
*** 2,8 ****
* plpython.c - python as a procedural language for PostgreSQL
*
* This software is copyright by Andrew Bosma
! * but is really shameless cribbed from pltcl.c by Jan Weick, and
* plperl.c by Mark Hollomon.
*
* The author hereby grants permission to use, copy, modify,
--- 2,8 ----
* plpython.c - python as a procedural language for PostgreSQL
*
* This software is copyright by Andrew Bosma
! * but is really shamelessly cribbed from pltcl.c by Jan Wieck, and
* plperl.c by Mark Hollomon.
*
* The author hereby grants permission to use, copy, modify,
***************
*** 1996,2002 ****
int i,
rv;
PLyPlanObject *plan;
- char *nulls;
MemoryContext oldcontext;
if (list != NULL)
--- 1996,2001 ----
***************
*** 2018,2024 ****
if (nargs != plan->nargs)
{
char *sv;
-
PyObject *so = PyObject_Str(list);
if (!so)
--- 2017,2022 ----
***************
*** 2036,2048 ****
oldcontext = CurrentMemoryContext;
PG_TRY();
{
! nulls = palloc(nargs * sizeof(char));
for (i = 0; i < nargs; i++)
{
PyObject *elem,
*so;
- char *sv;
elem = PySequence_GetItem(list, i);
if (elem != Py_None)
--- 2034,2045 ----
oldcontext = CurrentMemoryContext;
PG_TRY();
{
! char *nulls = palloc(nargs * sizeof(char));
for (i = 0; i < nargs; i++)
{
PyObject *elem,
*so;
elem = PySequence_GetItem(list, i);
if (elem != Py_None)
***************
*** 2051,2070 ****
if (!so)
PLy_elog(ERROR, "function \"%s\" could not execute plan",
PLy_procedure_name(PLy_curr_procedure));
! sv = PyString_AsString(so);
! /*
! * FIXME -- if this elogs, we have Python reference leak
! */
! plan->values[i] =
! FunctionCall3(&(plan->args[i].out.d.typfunc),
! CStringGetDatum(sv),
! ObjectIdGetDatum(plan->args[i].out.d.typioparam),
! Int32GetDatum(-1));
! Py_DECREF(so);
! Py_DECREF(elem);
nulls[i] = ' ';
}
else
--- 2048,2073 ----
if (!so)
PLy_elog(ERROR, "function \"%s\" could not execute plan",
PLy_procedure_name(PLy_curr_procedure));
! Py_DECREF(elem);
! PG_TRY();
! {
! char *sv = PyString_AsString(so);
! plan->values[i] =
! FunctionCall3(&(plan->args[i].out.d.typfunc),
! CStringGetDatum(sv),
! ObjectIdGetDatum(plan->args[i].out.d.typioparam),
! Int32GetDatum(-1));
! }
! PG_CATCH();
! {
! Py_DECREF(so);
! PG_RE_THROW();
! }
! PG_END_TRY();
+ Py_DECREF(so);
nulls[i] = ' ';
}
else
|
|
|
|
|
|
|
|
|
|
| |
in favor of having just one set of macros that don't do HOLD/RESUME_INTERRUPTS
(hence, these correspond to the old SpinLockAcquire_NoHoldoff case).
Given our coding rules for spinlock use, there is no reason to allow
CHECK_FOR_INTERRUPTS to be done while holding a spinlock, and also there
is no situation where ImmediateInterruptOK will be true while holding a
spinlock. Therefore doing HOLD/RESUME_INTERRUPTS while taking/releasing a
spinlock is just a waste of cycles. Qingqing Zhou and Tom Lane.
|
|
|
|
|
| |
< * Add missing rtree optimizer selectivity
> * Improve selectivity functions for geometric operators
|