OSDN Git Service
Bruce Momjian [Sat, 31 Dec 2005 17:46:19 +0000 (17:46 +0000)]
Rename variable 'what' to 'stat_msg'.
Bruce Momjian [Sat, 31 Dec 2005 16:50:44 +0000 (16:50 +0000)]
Prefix client-side prepare with '[protocol]' rather than '[client]'.
Bruce Momjian [Fri, 30 Dec 2005 23:49:48 +0000 (23:49 +0000)]
Rename send_rfq to send_ready_for_query.
Bruce Momjian [Fri, 30 Dec 2005 22:55:20 +0000 (22:55 +0000)]
Mmark client-side prepare/bind/execute statements with "[client]" so
they can be easily distinguished from SQL commands.
Bruce Momjian [Fri, 30 Dec 2005 21:43:41 +0000 (21:43 +0000)]
Add support for Solaris x86_64 using Sun's compiler.
Pierre Girard
Tom Lane [Fri, 30 Dec 2005 18:34:22 +0000 (18:34 +0000)]
Repair EXPLAIN failure when trying to display a plan condition that involves
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.
Bruce Momjian [Fri, 30 Dec 2005 03:24:58 +0000 (03:24 +0000)]
Add:
> * Make CLUSTER preserve recently-dead tuples per MVCC requirements
Peter Eisentraut [Fri, 30 Dec 2005 00:13:50 +0000 (00:13 +0000)]
Disallow setting ssl = on if SSL is not compiled in.
Neil Conway [Thu, 29 Dec 2005 21:47:32 +0000 (21:47 +0000)]
Index: src/pl/plpython/plpython.c
===================================================================
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
Tom Lane [Thu, 29 Dec 2005 18:08:05 +0000 (18:08 +0000)]
Get rid of the SpinLockAcquire/SpinLockAcquire_NoHoldoff distinction
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.
Bruce Momjian [Thu, 29 Dec 2005 16:45:11 +0000 (16:45 +0000)]
Update:
< * Add missing rtree optimizer selectivity
> * Improve selectivity functions for geometric operators
Andrew Dunstan [Thu, 29 Dec 2005 14:28:31 +0000 (14:28 +0000)]
Move declaration of check_function_bodies to where the perl headers
haven't had a chance to mangle the definition of DLLIMPORT (thanks again, perl guys).
Neil Conway [Thu, 29 Dec 2005 04:53:18 +0000 (04:53 +0000)]
Revert some careless search-and-replace: "ADD" in comment text should
not be replaced with "ADD_P".
Bruce Momjian [Thu, 29 Dec 2005 04:02:32 +0000 (04:02 +0000)]
Remove a space that incorrectly precedes a comma in the PL/pgSQL
documentation.
Michael Fuhr
Tom Lane [Wed, 28 Dec 2005 23:22:51 +0000 (23:22 +0000)]
Arrange to set the LC_XXX environment variables to match our locale
setup. This protects against undesired changes in locale behavior
if someone carelessly does setlocale(LC_ALL, "") (and we know who
you are, perl guys).
Bruce Momjian [Wed, 28 Dec 2005 23:17:09 +0000 (23:17 +0000)]
Update regression tests for new referential integrity error message
wording ("table" added).
Tom Lane [Wed, 28 Dec 2005 18:34:16 +0000 (18:34 +0000)]
Fix plperl validator to honor check_function_bodies: when that is OFF,
we want it to check the argument/result data types and no more. In
particular, libperl shouldn't get initialized in this case.
Tom Lane [Wed, 28 Dec 2005 18:11:25 +0000 (18:11 +0000)]
Move plpgsql's fetchArgInfo() into funcapi.c, and rename to
get_func_arg_info() for consistency with other names there.
This code will probably be useful to other PLs when they start to
support OUT parameters, so better to have it in the main backend.
Also, fix plpgsql validator to detect bogus OUT parameters even when
check_function_bodies is off.
Bruce Momjian [Wed, 28 Dec 2005 16:47:21 +0000 (16:47 +0000)]
Mention "table" in "violates foreign key constraint" message that was
lacking it. Perhaps it was suppressed because of line length
considerations, but "table" should appear.
Tom Lane [Wed, 28 Dec 2005 16:38:38 +0000 (16:38 +0000)]
Remove silly use of DLLIMPORT.
Bruce Momjian [Wed, 28 Dec 2005 15:07:02 +0000 (15:07 +0000)]
Add COPY CSV test that tests CSV output of \.
Bruce Momjian [Wed, 28 Dec 2005 14:38:32 +0000 (14:38 +0000)]
Update COPY CSV \. wording for externally created files.
Bruce Momjian [Wed, 28 Dec 2005 03:59:39 +0000 (03:59 +0000)]
Update:
< * Add missing optimizer selectivities for date, r-tree, etc
> * Add missing rtree optimizer selectivity
Bruce Momjian [Wed, 28 Dec 2005 03:25:32 +0000 (03:25 +0000)]
Add regression tests for CSV and \., and add automatic quoting of a
single column dump that has a \. value, so the load works properly. I
also added documentation describing this issue.
Bruce Momjian [Wed, 28 Dec 2005 02:12:25 +0000 (02:12 +0000)]
Done:
< * %Make row-wise comparisons work per SQL spec
> * -Make row-wise comparisons work per SQL spec
Tom Lane [Wed, 28 Dec 2005 01:30:02 +0000 (01:30 +0000)]
Implement SQL-compliant treatment of row comparisons for < <= > >= cases
(previously we only did = and <> correctly). Also, allow row comparisons
with any operators that are in btree opclasses, not only those with these
specific names. This gets rid of a whole lot of indefensible assumptions
about the behavior of particular operators based on their names ... though
it's still true that IN and NOT IN expand to "= ANY". The patch adds a
RowCompareExpr expression node type, and makes some changes in the
representation of ANY/ALL/ROWCOMPARE SubLinks so that they can share code
with RowCompareExpr.
I have not yet done anything about making RowCompareExpr an indexable
operator, but will look at that soon.
initdb forced due to changes in stored rules.
Andrew Dunstan [Tue, 27 Dec 2005 23:54:01 +0000 (23:54 +0000)]
Increase amount of shared buffers initdb tries to allocate to 4000,
and add logic to try max_fsm_pages up to 200000, plus accompanying minor
docs changes.
Bruce Momjian [Tue, 27 Dec 2005 18:10:48 +0000 (18:10 +0000)]
Our code had:
if (c == '\\' && cstate->line_buf.len == 0)
The problem with that is the because of the input and _output_
buffering, cstate->line_buf.len could be zero even if we are not on the
first character of a line. In fact, for a typical line, it is zero for
all characters on the line. The proper solution is to introduce a
boolean, first_char_in_line, that we set as we enter the loop and clear
once we process a character.
I have restructured the line-reading code in copy.c by:
o merging the CSV/non-CSV functions into a single function
o used macros to centralize and clarify the buffering code
o updated comments
o renamed client_encoding_only to encoding_embeds_ascii
o added a high-bit test to the encoding_embeds_ascii test for
performance
o in CSV mode, allow a backslash followed by a non-period to
continue being processed as a data value
There should be no performance impact from this patch because it is
functionally equivalent. If you apply the patch you will see copy.c is
much clearer in this area now and might suggest additional
optimizations.
I have also attached a 8.1-only patch to fix the CSV \. handling bug
with no code restructuring.
Bruce Momjian [Tue, 27 Dec 2005 04:00:08 +0000 (04:00 +0000)]
Protect ADD and HEADER symbols from conflicting with MIPS includes.
Bruce Momjian [Mon, 26 Dec 2005 19:30:45 +0000 (19:30 +0000)]
More uses of IS_HIGHBIT_SET() macro.
Peter Eisentraut [Mon, 26 Dec 2005 14:58:06 +0000 (14:58 +0000)]
Rename pg_make_encrypted_password to PQencryptPassword.
Bruce Momjian [Mon, 26 Dec 2005 05:14:52 +0000 (05:14 +0000)]
Add:
* %Make row-wise comparisons work per SQL spec
Right now, '(a, b) < (1, 2)' is processed as 'a < 1 and b < 2', but
the SQL standard requires it to be processed as a column-by-column
comparison, so the proper comparison is '(a < 1) OR (a = 1 AND b < 2)'.
Neil Conway [Mon, 26 Dec 2005 04:28:48 +0000 (04:28 +0000)]
Various cosmetic code cleanup for PL/Python:
- use "bool" rather than "int" for boolean variables
- use "PLy_malloc" rather than "malloc" in two places
- define "PLy_strdup", and use it rather than malloc() + strcpy() in
two places (which should have been memcpy(), anyway).
- remove a bunch of redundant parentheses from expressions that do not
need the parentheses for code clarity
Bruce Momjian [Sun, 25 Dec 2005 02:14:19 +0000 (02:14 +0000)]
I have added these macros to c.h:
#define HIGHBIT (0x80)
#define IS_HIGHBIT_SET(ch) ((unsigned char)(ch) & HIGHBIT)
and removed CSIGNBIT and mapped it uses to HIGHBIT. I have also added
uses for IS_HIGHBIT_SET where appropriate. This change is
purely for code clarity.
Neil Conway [Sun, 25 Dec 2005 01:41:15 +0000 (01:41 +0000)]
Minor doc tweak: "NOT NULL" is redundant with "SERIAL" in example.
Bruce Momjian [Sat, 24 Dec 2005 19:29:38 +0000 (19:29 +0000)]
Spell fix. Andrew.
Bruce Momjian [Sat, 24 Dec 2005 18:37:17 +0000 (18:37 +0000)]
Update why unified diff is _sometimes_ better.
Bruce Momjian [Sat, 24 Dec 2005 18:23:02 +0000 (18:23 +0000)]
Previous commit message should have been:
Add comment marker for PG_ENCODING_BE_LAST.
Bruce Momjian [Sat, 24 Dec 2005 18:21:34 +0000 (18:21 +0000)]
Add
Bruce Momjian [Sat, 24 Dec 2005 18:11:30 +0000 (18:11 +0000)]
Alignment cleanup.
Bruce Momjian [Sat, 24 Dec 2005 17:19:40 +0000 (17:19 +0000)]
Formatting cleanups.
Bruce Momjian [Sat, 24 Dec 2005 16:49:48 +0000 (16:49 +0000)]
Formatting cleanup.
Tatsuo Ishii [Sat, 24 Dec 2005 09:35:36 +0000 (09:35 +0000)]
Fix long standing Asian multibyte charsets bug.
See:
Subject: [HACKERS] bugs with certain Asian multibyte charsets
From: Tatsuo Ishii <ishii@sraoss.co.jp>
To: pgsql-hackers@postgresql.org
Date: Sat, 24 Dec 2005 18:25:33 +0900 (JST)
for more details/
Tom Lane [Fri, 23 Dec 2005 23:28:35 +0000 (23:28 +0000)]
Wups, fat-fingered the calculation the first time. Update comment in
postgresql.conf.sample too.
Tom Lane [Fri, 23 Dec 2005 23:02:26 +0000 (23:02 +0000)]
Update info about shared memory space calculation to match CVS tip's behavior.
Tom Lane [Fri, 23 Dec 2005 22:34:22 +0000 (22:34 +0000)]
Fix make_relative_path() to support cases where target_path and bin_path
differ by more than the last directory component. Instead of insisting
that they match up to the last component, accept whatever common prefix
they have, and try to replace the non-matching part of bin_path with
the non-matching part of target_path in the actual executable's path.
In one way this is tighter than the old code, because it insists on
a match to the part of bin_path we want to substitute for, rather than
blindly stripping one directory component from the executable's path.
Per gripe from Martin Pitt and subsequent discussion.
Peter Eisentraut [Fri, 23 Dec 2005 16:46:39 +0000 (16:46 +0000)]
Allow CREATE/ALTER ROLE PASSWORD NULL to allow restoring the default state
of having no password.
Tatsuo Ishii [Fri, 23 Dec 2005 02:11:02 +0000 (02:11 +0000)]
Fix for rearranging encoding id ISO-8859-5 to ISO-8859-8.
Also make the code more robust by searching for target encoding
in the internal charset map.
Problem reported by Sagi Bashari on 2005/12/21.
See "[BUGS] BUG #2120: Crash when doing UTF8<->ISO_8859_8 encoding conversion"
on pgsql-bugs list for more details.
Tom Lane [Fri, 23 Dec 2005 01:16:38 +0000 (01:16 +0000)]
Add an officially exported libpq function to encrypt passwords, and
modify the previous \password patch to use it instead of depending
on a not-officially-exported function. Per discussion.
Bruce Momjian [Fri, 23 Dec 2005 00:38:04 +0000 (00:38 +0000)]
Add quotes around search_path "$user" so that SHOW output can be used in
SET.
Bruce Momjian [Thu, 22 Dec 2005 23:05:32 +0000 (23:05 +0000)]
Update item:
>
> A more complex solution would be to save multiple plans for different
> cardinality and use the appropriate plan based on the EXECUTE values.
>
Tom Lane [Thu, 22 Dec 2005 22:50:00 +0000 (22:50 +0000)]
Adjust string comparison so that only bitwise-equal strings are considered
equal: if strcoll claims two strings are equal, check it with strcmp, and
sort according to strcmp if not identical. This fixes inconsistent
behavior under glibc's hu_HU locale, and probably under some other locales
as well. Also, take advantage of the now-well-defined behavior to speed up
texteq, textne, bpchareq, bpcharne: they may as well just do a bitwise
comparison and not bother with strcoll at all.
NOTE: affected databases may need to REINDEX indexes on text columns to be
sure they are self-consistent.
Bruce Momjian [Thu, 22 Dec 2005 21:45:19 +0000 (21:45 +0000)]
Update interval documenation to mention the storage system used.
Bruce Momjian [Wed, 21 Dec 2005 23:22:55 +0000 (23:22 +0000)]
Add documentation example of using interval multiplication with 'days'.
Backpatch to 8.1.X.
Bruce Momjian [Wed, 21 Dec 2005 16:02:24 +0000 (16:02 +0000)]
Add additional example for interval multiplication.
Fix example for day and hours interval subtraction for new computation
method.
Update interval examples to display zero seconds, which is our default.
Backpatch to 8.1.X.
Teodor Sigaev [Wed, 21 Dec 2005 13:05:49 +0000 (13:05 +0000)]
Multibyte encodings support for ISpell dictionary
Tom Lane [Tue, 20 Dec 2005 02:30:36 +0000 (02:30 +0000)]
Teach planner how to rearrange join order for some classes of OUTER JOIN.
Per my recent proposal. I ended up basing the implementation on the
existing mechanism for enforcing valid join orders of IN joins --- the
rules for valid outer-join orders are somewhat similar.
Tom Lane [Tue, 20 Dec 2005 00:51:45 +0000 (00:51 +0000)]
Fix broken markup.
Peter Eisentraut [Sun, 18 Dec 2005 02:17:16 +0000 (02:17 +0000)]
Add new psql command \password for changing role password with client-side
password encryption. Also alter createuser command to the same effect.
Bruce Momjian [Sat, 17 Dec 2005 21:08:24 +0000 (21:08 +0000)]
Fix typo.
Bruce Momjian [Sat, 17 Dec 2005 20:39:16 +0000 (20:39 +0000)]
Update s_lock.c comments.
Bruce Momjian [Sat, 17 Dec 2005 20:15:43 +0000 (20:15 +0000)]
Update ASM comments.
Bruce Momjian [Sat, 17 Dec 2005 19:03:24 +0000 (19:03 +0000)]
Remove item:
< * Allow star join optimizations
<
< While our bitmap scan allows multiple indexes to be joined to get
< to heap rows, a star joins allows multiple dimension _tables_ to
< be joined to index into a larger main fact table. The join is
< usually performed by either creating a cartesian product of all
< the dimmension tables and doing a single join on that product or
< using subselects to create bitmaps of each dimmension table match
< and merge the bitmaps to perform the join on the fact table. Some
< of these algorithms might be patented.
Bruce Momjian [Sat, 17 Dec 2005 18:07:01 +0000 (18:07 +0000)]
Update:
< * Flush cached query plans when the dependent objects change or
< when the cardinality of parameters changes dramatically
> * Flush cached query plans when the dependent objects change,
> when the cardinality of parameters changes dramatically, or
> when new ANALYZE statistics are available
Bruce Momjian [Sat, 17 Dec 2005 17:04:41 +0000 (17:04 +0000)]
Add mention of possible patent problems with star joins, per Joshua
Drake:
< and merge the bitmaps to perform the join on the fact table.
> and merge the bitmaps to perform the join on the fact table. Some
> of these algorithms might be patented.
Bruce Momjian [Sat, 17 Dec 2005 16:43:11 +0000 (16:43 +0000)]
Add:
* Allow star join optimizations
While our bitmap scan allows multiple indexes to be joined to get
to heap rows, a star joins allows multiple dimension _tables_ to
be joined to index into a larger main fact table. The join is
usually performed by either creating a cartesian product of all
the dimmension tables and doing a single join on that product or
using subselects to create bitmaps of each dimmension table match
and merge the bitmaps to perform the join on the fact table.
Bruce Momjian [Sat, 17 Dec 2005 14:18:33 +0000 (14:18 +0000)]
Add more function to TODO:
< * %Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
> * %Add pg_get_acldef(), pg_get_typedefault(), pg_get_attrdef(),
> pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()
Bruce Momjian [Sat, 17 Dec 2005 04:10:47 +0000 (04:10 +0000)]
Update:
< * Flush cached query plans when the dependent objects change
> * Flush cached query plans when the dependent objects change or
> when the cardinality of parameters changes dramatically
Bruce Momjian [Sat, 17 Dec 2005 03:21:00 +0000 (03:21 +0000)]
Update FAQ, second version.
J.Kuwamura
Bruce Momjian [Sat, 17 Dec 2005 03:20:12 +0000 (03:20 +0000)]
Update Japanese FAQ.
J.Kuwamura
Bruce Momjian [Sat, 17 Dec 2005 01:48:37 +0000 (01:48 +0000)]
Add:
> * Allow the count returned by SELECT, etc to be to represent as an int64
> to allow a higher range of values
Bruce Momjian [Sat, 17 Dec 2005 00:35:50 +0000 (00:35 +0000)]
Add URL for Solaris qsort() bug.
Bruce Momjian [Sat, 17 Dec 2005 00:33:33 +0000 (00:33 +0000)]
Update doc mention that Solaris qsort() might be fixed.
Alvaro Herrera [Fri, 16 Dec 2005 21:55:27 +0000 (21:55 +0000)]
Add a note to Win32 gettimeofday() emulation, per Qingqing Zhou.
Bruce Momjian [Fri, 16 Dec 2005 18:56:55 +0000 (18:56 +0000)]
Force update.
Neil Conway [Fri, 16 Dec 2005 18:44:07 +0000 (18:44 +0000)]
Fix some typos in the TODO list.
Tom Lane [Fri, 16 Dec 2005 04:03:40 +0000 (04:03 +0000)]
Rethink prior patch to filter out dead backend entries from the pgstats
file. The original code probed the PGPROC array separately for each PID,
which was not good for large numbers of backends: not only is the runtime
O(N^2) but most of it is spent holding ProcArrayLock. Instead, take the
lock just once and copy the active PIDs into an array, then use qsort
and bsearch so that the lookup time is more like O(N log N).
Tom Lane [Wed, 14 Dec 2005 17:06:28 +0000 (17:06 +0000)]
Defend against crash while processing Describe Statement or Describe Portal
messages, when client attempts to execute these outside a transaction (start
one) or in a failed transaction (reject message, except for COMMIT/ROLLBACK
statements which we can handle). Per report from Francisco Figueiredo Jr.
Tom Lane [Wed, 14 Dec 2005 16:28:32 +0000 (16:28 +0000)]
Fix problem with whole-row Vars referencing sub-select outputs, per
example from Jim Dew. Add some simple regression tests, since this is
an area we seem to break regularly :-(
Bruce Momjian [Mon, 12 Dec 2005 15:48:04 +0000 (15:48 +0000)]
Use a proper enum for tri-valued variables.
Bruce Momjian [Mon, 12 Dec 2005 15:41:52 +0000 (15:41 +0000)]
Document tri-valued variables in createdb, +1, -1, 0.
Bruce Momjian [Mon, 12 Dec 2005 13:36:36 +0000 (13:36 +0000)]
Update wording, query -> statement:
< * %Allow pooled connections to list all prepared queries
> * %Allow pooled connections to list all prepared statements
28c28
< the queries prepared in the current session.
> the statements prepared in the current session.
143c143
< o Allow a warm standby system to also allow read-only queries
> o Allow a warm standby system to also allow read-only statements
404c404
< * Add GUC to issue notice about queries that use unjoined tables
> * Add GUC to issue notice about statements that use unjoined tables
490c490
< Another idea would be to allow actual SELECT queries in a COPY.
> Another idea would be to allow actual SELECT statements in a COPY.
554c554
< o Allow function argument names to be queries from PL/PgSQL
> o Allow function argument names to be statements from PL/PgSQL
591c591
< o Improve psql's handling of multi-line queries
> o Improve psql's handling of multi-line statements
< Currently, while \e saves a single query as one entry, interactive
< queries are saved one line at a time. Ideally all queries
> Currently, while \e saves a single statement as one entry, interactive
> statements are saved one line at a time. Ideally all statements
665c665
< o Allow query results to be automatically batched to the client
> o Allow statement results to be automatically batched to the client
667c667
< Currently, all query results are transfered to the libpq
> Currently, all statement results are transfered to the libpq
672c672
< One complexity is that a query like SELECT 1/col could error
> One complexity is that a statement like SELECT 1/col could error
739c739
< * Allow queries across databases or servers with transaction
> * Allow statements across databases or servers with transaction
< inheritance, allow it to work for UPDATE and DELETE queries, and allow
< it to be used for all queries with little performance impact
> inheritance, allow it to work for UPDATE and DELETE statements, and allow
> it to be used for all statements with little performance impact
876c876
< * Consider automatic caching of queries at various levels:
> * Consider automatic caching of statements at various levels:
947c947
< a single session using multiple threads to execute a query faster.
> a single session using multiple threads to execute a statement faster.
1025c1025
< * Log queries where the optimizer row estimates were dramatically
> * Log statements where the optimizer row estimates were dramatically
1146c1146
< of result sets using new query protocol
> of result sets using new statement protocol
Teodor Sigaev [Mon, 12 Dec 2005 11:10:12 +0000 (11:10 +0000)]
Improve support of multibyte encoding:
- tsvector_(in|out)
- tsquery_(in|out)
- to_tsvector
- to_tsquery, plainto_tsquery
- 'simple' dictionary
Tom Lane [Sun, 11 Dec 2005 21:02:18 +0000 (21:02 +0000)]
Divide the lock manager's shared state into 'partitions', so as to
reduce contention for the former single LockMgrLock. Per my recent
proposal. I set it up for 16 partitions, but on a pgbench test this
gives only a marginal further improvement over 4 partitions --- we need
to test more scenarios to choose the number of partitions.
Neil Conway [Sun, 11 Dec 2005 10:54:28 +0000 (10:54 +0000)]
Implement IS NOT DISTINCT FROM, update the regression tests and docs.
Patch from Pavel Stehule, minor fixups by myself.
Bruce Momjian [Sun, 11 Dec 2005 02:16:25 +0000 (02:16 +0000)]
Remove item:
< * Add GUC variable to run a command on database panic or
< smart/fast/immediate shutdown
Tom Lane [Sat, 10 Dec 2005 19:21:03 +0000 (19:21 +0000)]
Teach deparsing of CASE expressions to cope with the simplified forms
that simplify_boolean_equality() may leave behind. This is only relevant
if the user writes something a bit silly, like CASE x=y WHEN TRUE THEN.
Per example from Michael Fuhr; may or may not explain bug #2106.
Tom Lane [Sat, 10 Dec 2005 01:09:07 +0000 (01:09 +0000)]
Remove incorrect increment of lineno, per David Fetter.
Sync HEAD and 8.1 branches of pgbench.
Bruce Momjian [Fri, 9 Dec 2005 21:46:07 +0000 (21:46 +0000)]
Done:
< * Allow installing to directories containing spaces
> * -Allow installing to directories containing spaces
Peter Eisentraut [Fri, 9 Dec 2005 21:19:36 +0000 (21:19 +0000)]
Allow installation into directories containing spaces in the name.
Tom Lane [Fri, 9 Dec 2005 20:40:12 +0000 (20:40 +0000)]
Add release notes for back branches (7.3 and up).
Also minor improvements to 8.1.1 release notes.
Bruce Momjian [Fri, 9 Dec 2005 19:39:41 +0000 (19:39 +0000)]
Add documentation about the behavior of BEFORE triggers and referential
integrity actions.
Stephan Szabo
Bruce Momjian [Fri, 9 Dec 2005 19:19:17 +0000 (19:19 +0000)]
Remove mention that history is _now_ automatically saved on exit. It
has been that way for a long time.
Tom Lane [Fri, 9 Dec 2005 18:07:49 +0000 (18:07 +0000)]
Fix broken markup.
Tom Lane [Fri, 9 Dec 2005 17:08:49 +0000 (17:08 +0000)]
Fix core dump in error path of plpgsql_parse_tripwordtype. Somebody
introduced a copy-and-pasteo while trying to simplify the code.
Bruce Momjian [Fri, 9 Dec 2005 16:35:20 +0000 (16:35 +0000)]
Completed:
* -Have initdb set the input DateStyle (MDY or DMY) based on locale
Peter Eisentraut [Fri, 9 Dec 2005 15:51:14 +0000 (15:51 +0000)]
Let initdb detect the date order of the lc_time locale and initialize the
datestyle parameter of the new cluster accordingly.
Bruce Momjian [Fri, 9 Dec 2005 04:50:40 +0000 (04:50 +0000)]
I reconfirmed MS-VC6. Thank you for wonderful correspondence.
However, Another problem newly occurred.
This solves the problem of snprintf and vsnprintf.
Patch to HEAD and 8.1.X.
Hiroshi Saito
Bruce Momjian [Fri, 9 Dec 2005 02:49:09 +0000 (02:49 +0000)]
Stamp libraries for 8.2 by updating minor library version numbers and
Win32 library files.
Tom Lane [Fri, 9 Dec 2005 01:22:04 +0000 (01:22 +0000)]
Simplify lock manager data structures by making a clear separation between
the data defining the semantics of a lock method (ie, conflict resolution
table and ancillary data, which is all constant) and the hash tables
storing the current state. The only thing we give up by this is the
ability to use separate hashtables for different lock methods, but there
is no need for that anyway. Put some extra fields into the LockMethod
definition structs to clean up some other uglinesses, like hard-wired
tests for DEFAULT_LOCKMETHOD and USER_LOCKMETHOD. This commit doesn't
do anything about the performance issues we were discussing, but it clears
away some of the underbrush that's in the way of fixing that.