Peter Eisentraut [Tue, 15 Apr 2003 13:26:54 +0000 (13:26 +0000)]
Change names of ISO-8859-x encodings to ISO_8859_x, to match reality.
Peter Eisentraut [Tue, 15 Apr 2003 13:25:08 +0000 (13:25 +0000)]
Bring SQL ref pages to consistent format, part 1.
Peter Eisentraut [Tue, 15 Apr 2003 13:23:35 +0000 (13:23 +0000)]
Add better markup and improve some text here and there.
Tom Lane [Tue, 15 Apr 2003 05:18:12 +0000 (05:18 +0000)]
eqjoinsel's logic for case where MCV lists are not present should
account for NULLs; in hindsight this is obvious since the code for
the MCV-lists case would reduce to this when there are zero entries
in both lists. Per example from Alec Mitchell.
Tom Lane [Mon, 14 Apr 2003 21:15:13 +0000 (21:15 +0000)]
path.c needs to be included in libpq; per Joe Conway.
Tom Lane [Mon, 14 Apr 2003 18:08:58 +0000 (18:08 +0000)]
Another try at correctly explaining the difference between Postgres and
SQL92 temp tables. Possibly I got it right this time.
Tom Lane [Mon, 14 Apr 2003 17:31:33 +0000 (17:31 +0000)]
Reorganize clog's error reporting so that PANIC on clog I/O error can
be reduced to a plain ERROR. Should make it at least a little less
painful to deal with data-corruption problems.
Bruce Momjian [Mon, 14 Apr 2003 16:23:36 +0000 (16:23 +0000)]
Document file name as optional for \o in psql help (\h).
Tom Lane [Mon, 14 Apr 2003 15:40:02 +0000 (15:40 +0000)]
Minor copy-editing.
Tom Lane [Mon, 14 Apr 2003 15:24:46 +0000 (15:24 +0000)]
Clarify description of our deviation from standard for temp tables,
per suggestion from Mike Sykes.
Dave Cramer [Mon, 14 Apr 2003 10:39:51 +0000 (10:39 +0000)]
exposed the addDataType method to the PGConnection, allows users to add datatypes
Peter Eisentraut [Sun, 13 Apr 2003 09:57:35 +0000 (09:57 +0000)]
Integrate the operator class section into the comprehensive extending SQL
chapter as well.
Peter Eisentraut [Sun, 13 Apr 2003 09:56:00 +0000 (09:56 +0000)]
A couple of minor fixes
Barry Lind [Sun, 13 Apr 2003 04:10:07 +0000 (04:10 +0000)]
Applied patch submitted by Nic Ferrier with some cleanups of his previous
patch to add cursor based queries.
Modified Files:
jdbc/org/postgresql/core/BaseConnection.java
jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
Tom Lane [Sun, 13 Apr 2003 04:07:17 +0000 (04:07 +0000)]
Second try at avoiding conflicts with system isblank().
Tom Lane [Sun, 13 Apr 2003 01:19:06 +0000 (01:19 +0000)]
Add code to provide useful dynamic-linking error messages on OS X.
Tom Lane [Sat, 12 Apr 2003 23:25:42 +0000 (23:25 +0000)]
On some systems <sys/types.h> must be included before <sys/socket.h>.
Tom Lane [Sat, 12 Apr 2003 22:28:33 +0000 (22:28 +0000)]
Guard against macro versions of isblank().
Tatsuo Ishii [Sat, 12 Apr 2003 07:53:57 +0000 (07:53 +0000)]
Fix encoding conversion function bug.
See following posting for more details.
Subject: Re: [HACKERS] [BUGS] Bug #943: Server-Encoding from EUC_TW to UTF-8 doesn't
From: Tatsuo Ishii <t-ishii@sra.co.jp>
To: michael.enke@wincor-nixdorf.com, pgsql-bugs@postgresql.org
Cc: pgsql-hackers@postgresql.org
Date: Sat, 12 Apr 2003 10:51:45 +0900 (JST)
Peter Eisentraut [Fri, 11 Apr 2003 18:41:20 +0000 (18:41 +0000)]
Revision
Peter Eisentraut [Fri, 11 Apr 2003 13:22:35 +0000 (13:22 +0000)]
Revision
Tom Lane [Thu, 10 Apr 2003 23:03:08 +0000 (23:03 +0000)]
Fix error recovery for SSL_read/SSL_write calls.
Michael Meskes [Thu, 10 Apr 2003 13:06:57 +0000 (13:06 +0000)]
Informix fixes.
Tom Lane [Thu, 10 Apr 2003 02:47:46 +0000 (02:47 +0000)]
Remove premature attempt to constant-fold type coercion expressions.
While usually safe, this fails if the coercion function needs the
query snapshot to be set already. Per example from Nigel Andrews.
Peter Eisentraut [Thu, 10 Apr 2003 01:22:45 +0000 (01:22 +0000)]
In an effort to reduce the total number of chapters, combine the small
chapters on extending types, operators, and aggregates into the extending
functions chapter. Move the information on how to call table functions
into the queries chapter. Remove some outdated information that is
already present in a better form in other parts of the documentation.
Tom Lane [Tue, 8 Apr 2003 23:20:04 +0000 (23:20 +0000)]
First phase of work on array improvements. ARRAY[x,y,z] constructor
expressions, ARRAY(sub-SELECT) expressions, some array functions.
Polymorphic functions using ANYARRAY/ANYELEMENT argument and return
types. Some regression tests in place, documentation is lacking.
Joe Conway, with some kibitzing from Tom Lane.
Tom Lane [Tue, 8 Apr 2003 17:09:51 +0000 (17:09 +0000)]
Get rid of inappropriate flags in CPPFLAGS override --- these break
non-gcc compilers, and they would never belong in CPPFLAGS anyway.
Tom Lane [Tue, 8 Apr 2003 17:02:04 +0000 (17:02 +0000)]
Mark TimeScales constants as double to avoid integer overflow in some compilers.
Tom Lane [Tue, 8 Apr 2003 16:57:45 +0000 (16:57 +0000)]
Remove extraneous semicolons.
Michael Meskes [Tue, 8 Apr 2003 12:34:25 +0000 (12:34 +0000)]
Added some more informix compatibility functions.
Jan Wieck [Mon, 7 Apr 2003 20:30:38 +0000 (20:30 +0000)]
Avoid primary key lookup (and lock) if foreign key does not change
on UPDATE.
This get's rid of the long standing annoyance that updating a row
that has foreign keys locks all the referenced rows even if the
foreign key values do not change.
The trick is to actually do a check identical to NO ACTION after an
eventually done UPDATE in the SET DEFAULT case. Since a SET DEFAULT
operation should have moved referencing rows to a new "home", a following
NO ACTION check can only fail if the column defaults of the referencing
table resulted in the key we actually deleted. Thanks to Stephan.
Jan
Tom Lane [Mon, 7 Apr 2003 15:04:03 +0000 (15:04 +0000)]
Remove unnecessary dt2local() call.
Peter Eisentraut [Mon, 7 Apr 2003 01:29:26 +0000 (01:29 +0000)]
General editing
Peter Eisentraut [Sun, 6 Apr 2003 22:45:23 +0000 (22:45 +0000)]
Generate pg_config.h.in by autoheader. Separate out manually editable
parts. Standardize spelling of comments in pg_config.h.
Peter Eisentraut [Sun, 6 Apr 2003 22:41:52 +0000 (22:41 +0000)]
Fix markup.
Tom Lane [Sun, 6 Apr 2003 17:47:24 +0000 (17:47 +0000)]
Clarify exactly when DST-changeover-induced regression test failures
can be expected to occur.
Bruce Momjian [Sat, 5 Apr 2003 19:54:12 +0000 (19:54 +0000)]
Fix compile problem with Win32 macro used inside another macro.
Bruce Momjian [Fri, 4 Apr 2003 20:42:13 +0000 (20:42 +0000)]
Add Win32 path handling for / vs. \ and drive letters.
Bruce Momjian [Fri, 4 Apr 2003 20:40:45 +0000 (20:40 +0000)]
Handle cp, rm, and exec for Win32.
Tom Lane [Fri, 4 Apr 2003 15:48:38 +0000 (15:48 +0000)]
Fix some signed-vs-unsigned-int issues; make print_aligned_vertical
safe for zero-column tables.
Tom Lane [Fri, 4 Apr 2003 06:57:39 +0000 (06:57 +0000)]
Tighten up register usage for inline PPC version of tas().
Tom Lane [Fri, 4 Apr 2003 05:32:30 +0000 (05:32 +0000)]
Put the isync where it's supposed to be.
Tom Lane [Fri, 4 Apr 2003 04:50:44 +0000 (04:50 +0000)]
Avoid repeated computation of the constants date2j(1970, 1, 1) and
date2j(2000, 1, 1). Should make for some marginal speed improvement
in date/time operations.
Tom Lane [Fri, 4 Apr 2003 03:03:54 +0000 (03:03 +0000)]
Code review for pg_stat_get_backend_activity_start patch --- fix
return type, make protection condition agree with recent change to
pg_stat_get_backend_activity, clean up documentation.
Tom Lane [Thu, 3 Apr 2003 23:32:47 +0000 (23:32 +0000)]
Remove zero_damaged_pages from postgresql.conf.sample; the only way to
find out about it is to read the documentation that tells you how
dangerous it is. Add default_transaction_read_only to documentation;
seems to have been overlooked in patch that added read-only transactions.
Clean up check_guc comparison script, which has been suffering bit rot.
Tom Lane [Thu, 3 Apr 2003 22:35:48 +0000 (22:35 +0000)]
Prevent EXPLAIN (without ANALYZE) SELECT ... INTO from creating an INTO
table. Needed due to recent change that makes us call ExecutorStart
even when not planning to carry out the query.
Tom Lane [Thu, 3 Apr 2003 21:50:23 +0000 (21:50 +0000)]
Don't re-invent the strchr() wheel.
Tom Lane [Thu, 3 Apr 2003 21:25:02 +0000 (21:25 +0000)]
Fix load_user/load_group to not leave dangling pointers around if the
config files are present on one pass and not present on a later pass.
Tom Lane [Thu, 3 Apr 2003 20:18:16 +0000 (20:18 +0000)]
const-ify functions used with completion_matches(), to suppress
cast-away-const warnings from compilers pickier than gcc.
Tom Lane [Thu, 3 Apr 2003 18:04:09 +0000 (18:04 +0000)]
Repair incorrect checking of grouped/ungrouped variables in the presence
of unnamed joins; per pghackers discussion 31-Mar-03.
Bruce Momjian [Thu, 3 Apr 2003 05:25:41 +0000 (05:25 +0000)]
Add prototype for toupper/tolower().
Bruce Momjian [Wed, 2 Apr 2003 22:44:50 +0000 (22:44 +0000)]
Done in previous release:
< * Add --port flag to regression tests
Tom Lane [Wed, 2 Apr 2003 21:07:59 +0000 (21:07 +0000)]
Fix buffer overrun in to_ascii(), per report from Guido Notari.
Tom Lane [Wed, 2 Apr 2003 20:00:21 +0000 (20:00 +0000)]
Fix convSockAddr6to4(): eliminate bogus assumptions about byte ordering,
remove useless SockAddr_ntop() call. Per report from Andreas Pflug.
Tom Lane [Wed, 2 Apr 2003 02:33:52 +0000 (02:33 +0000)]
Fix platform-dependent failure introduced by recent to_char changes
(ye good olde uninitialized-local-variable).
Tom Lane [Wed, 2 Apr 2003 00:58:08 +0000 (00:58 +0000)]
This is a derived file and should never have been added to CVS.
Tom Lane [Wed, 2 Apr 2003 00:49:28 +0000 (00:49 +0000)]
Whack getaddrinfo() patch around until it works, more or less, on
machines without IPv6. Or at least it works on HPUX 10.20 ...
Tom Lane [Tue, 1 Apr 2003 23:42:55 +0000 (23:42 +0000)]
Add missing semicolon.
Michael Meskes [Tue, 1 Apr 2003 14:37:25 +0000 (14:37 +0000)]
More patches for informix compatibility.
Bruce Momjian [Tue, 1 Apr 2003 03:10:44 +0000 (03:10 +0000)]
Update Russian FAQ, from Viktor Vislobokov
Bruce Momjian [Mon, 31 Mar 2003 20:53:45 +0000 (20:53 +0000)]
Please, apply patch for contrib/ltree to current CVS and 7.3.2
CHANGES
Mar 28, 2003
Added finctions index(ltree,ltree,offset), text2ltree(text),
ltree2text(text)
Teodor Sigaev
Bruce Momjian [Mon, 31 Mar 2003 20:48:45 +0000 (20:48 +0000)]
Skip START WITH in sequence definition when it's the default value --
and hasn't been called yet.
Fixes bug where it wasn't supplied (due to being NULL).
Rod Taylor
Bruce Momjian [Mon, 31 Mar 2003 20:47:51 +0000 (20:47 +0000)]
The following patch cleans up the deferred trigger mechanism. There is
an unneeded memory context and some variables that are not used anymore.
It's pretty trivial and the regression tests pass fine. There's no
change in functionality, only deletion of unused code. I left an empty
function because maybe I'll need it for nested transactions.
Alvaro Herrera
Tom Lane [Mon, 31 Mar 2003 20:32:29 +0000 (20:32 +0000)]
TestConfiguration returns int, not bool. This mistake is relatively
harmless on signed-char machines but would lead to core dump in the
deadlock detection code if char is unsigned. Amazingly, this bug has
been here since 7.1 and yet wasn't reported till now. Thanks to Robert
Bruccoleri for providing the opportunity to track it down.
Tom Lane [Sun, 30 Mar 2003 21:48:37 +0000 (21:48 +0000)]
Fix broken markup.
Bruce Momjian [Sun, 30 Mar 2003 21:38:02 +0000 (21:38 +0000)]
Properly document default value of log_min_error_statement in postgresql.conf.
Michael Meskes [Sun, 30 Mar 2003 13:26:09 +0000 (13:26 +0000)]
Forgot two new files and one that was moved.
Michael Meskes [Sun, 30 Mar 2003 11:48:19 +0000 (11:48 +0000)]
Moved Informix stuff to its own compat library. Interval datetype is now fully functional.
Peter Eisentraut [Sat, 29 Mar 2003 11:31:52 +0000 (11:31 +0000)]
Simplify the socket handling code by supplying a replacement getaddrinfo()
function if the OS doesn't provide one.
Bruce Momjian [Sat, 29 Mar 2003 05:00:15 +0000 (05:00 +0000)]
[ Backpatch to 7.3.X.]
SSL_read/write can error needing ERROR_WANT_READ or ERROR_WANT_WRITE.
Bruce Momjian [Sat, 29 Mar 2003 03:56:44 +0000 (03:56 +0000)]
[ Backpatch to 7.3.X.]
typing error in src/backend/libpq/be-secure.c ???
Long Description
In src/backend/libpq/be-secure.c: secure_write
on SSL_ERROR_WANT_WRITE call secure_read instead
secure_write again. May be is this a typing error?
Sergey N. Yatskevich (syatskevich@n21lab.gosniias.msk.ru)
Tom Lane [Fri, 28 Mar 2003 20:17:13 +0000 (20:17 +0000)]
Add code to apply some simple sanity checks to the header fields of a
page when it's read in, per pghackers discussion around 17-Feb. Add a
GUC variable zero_damaged_pages that causes the response to be a WARNING
followed by zeroing the page, rather than the normal ERROR; this is per
Hiroshi's suggestion that there needs to be a way to get at the data
in the rest of the table.
Tom Lane [Fri, 28 Mar 2003 17:24:28 +0000 (17:24 +0000)]
Regression output didn't get updated to match recent commit.
Bruce Momjian [Fri, 28 Mar 2003 16:34:50 +0000 (16:34 +0000)]
Fix NULL casting warning, pointed out by Joe Conway
Bruce Momjian [Fri, 28 Mar 2003 00:23:29 +0000 (00:23 +0000)]
Fix number of columns in SGML, from Weiping He
Tom Lane [Thu, 27 Mar 2003 19:25:40 +0000 (19:25 +0000)]
Fix bogus coding of SET DEFAULT ri triggers ... or at least make it less
bogus than it was. Per bug report from Adrian Pop.
Bruce Momjian [Thu, 27 Mar 2003 17:25:34 +0000 (17:25 +0000)]
Add <stdlib> to add calloc() prototype.
Bruce Momjian [Thu, 27 Mar 2003 17:10:55 +0000 (17:10 +0000)]
Fix syntax error in to_char fixes --- was defining variable in main code
block, ala C++.
Bruce Momjian [Thu, 27 Mar 2003 16:58:21 +0000 (16:58 +0000)]
It may not be obvious to you, but the plpython regression tests
include output that vary depending on the python build one is
running. Basically, the order of keys in a dictionary is
non-deterministic, and that part of the test fails for me regularly.
I rewrote the test to work around this problem, and include a patch
file with that change and the change to the expected otuput as well.
Mike Meyer
Bruce Momjian [Thu, 27 Mar 2003 16:57:39 +0000 (16:57 +0000)]
New \d format:
Example:
test=# \d test
Table "public.test"
Column | Type | Modifiers
--------+---------+-----------
a | integer | not null
Indexes:
"test_pkey" PRIMARY KEY btree (a)
Check Constraints:
"$2" CHECK (a > 1)
Foreign Key Constraints:
"$1" FOREIGN KEY (a) REFERENCES parent(b)
Rules:
myrule AS ON INSERT TO test DO INSTEAD NOTHING
Triggers:
"asdf asdf" AFTER INSERT OR DELETE ON test FOR EACH STATEMENT EXECUTE
PROCEDURE update_pg_pwd_and_pg_group(),
mytrigger AFTER INSERT OR DELETE ON test FOR EACH ROW EXECUTE PROCEDURE
update_pg_pwd_and_pg_group()
I have minimised the double quoting of identifiers as much as I could
easily, and I will submit another patch when I have time to work on it that
will use a 'fmtId' function to determine it exactly.
I think it's a significant improvement in legibility...
Obviously the table example above is slightly degenerate in that not many
tables in production have heaps of (non-constraint) triggers and rules.
Christopher Kings-Lynne
Bruce Momjian [Thu, 27 Mar 2003 16:55:11 +0000 (16:55 +0000)]
Add new file.
Bruce Momjian [Thu, 27 Mar 2003 16:53:15 +0000 (16:53 +0000)]
Add new files.
Bruce Momjian [Thu, 27 Mar 2003 16:51:29 +0000 (16:51 +0000)]
This patch implements holdable cursors, following the proposal
(materialization into a tuple store) discussed on pgsql-hackers earlier.
I've updated the documentation and the regression tests.
Notes on the implementation:
- I needed to change the tuple store API slightly -- it assumes that it
won't be used to hold data across transaction boundaries, so the temp
files that it uses for on-disk storage are automatically reclaimed at
end-of-transaction. I added a flag to tuplestore_begin_heap() to control
this behavior. Is changing the tuple store API in this fashion OK?
- in order to store executor results in a tuple store, I added a new
CommandDest. This works well for the most part, with one exception: the
current DestFunction API doesn't provide enough information to allow the
Executor to store results into an arbitrary tuple store (where the
particular tuple store to use is chosen by the call site of
ExecutorRun). To workaround this, I've temporarily hacked up a solution
that works, but is not ideal: since the receiveTuple DestFunction is
passed the portal name, we can use that to lookup the Portal data
structure for the cursor and then use that to get at the tuple store the
Portal is using. This unnecessarily ties the Portal code with the
tupleReceiver code, but it works...
The proper fix for this is probably to change the DestFunction API --
Tom suggested passing the full QueryDesc to the receiveTuple function.
In that case, callers of ExecutorRun could "subclass" QueryDesc to add
any additional fields that their particular CommandDest needed to get
access to. This approach would work, but I'd like to think about it for
a little bit longer before deciding which route to go. In the mean time,
the code works fine, so I don't think a fix is urgent.
- (semi-related) I added a NO SCROLL keyword to DECLARE CURSOR, and
adjusted the behavior of SCROLL in accordance with the discussion on
-hackers.
- (unrelated) Cleaned up some SGML markup in sql.sgml, copy.sgml
Neil Conway
Bruce Momjian [Thu, 27 Mar 2003 16:47:58 +0000 (16:47 +0000)]
Remove email file.
Bruce Momjian [Thu, 27 Mar 2003 16:47:10 +0000 (16:47 +0000)]
Done:
> o -Allow cursors outside transactions
Bruce Momjian [Thu, 27 Mar 2003 16:45:51 +0000 (16:45 +0000)]
* Make pg_get_triggerdef documentation consistent with other pg_get_
functions
* Document pg_conversion_is_visible() which was created in one of my
previous patches and didn't get documented for some reason
Christopher Kings-Lynne
Bruce Momjian [Thu, 27 Mar 2003 16:45:01 +0000 (16:45 +0000)]
Attached are two patches for psql's tab-completion.c.
The first cleans up a couple of minor errors and ommissions
and adds tab completion support to more slash commands, e.g.
\dv.
The second is an attempt to add tab completion for schemas
and fully qualified relation names (e.g. public.mytable ).
I think this covers the TODO-item:
"Allow psql to do table completion for SELECT * FROM schema_part and table
completion for SELECT * FROM schema_name."
This happens via union selects querying:
- relation_name in current search path;
- schema_name;
- schema.relation_name
matching the current input string.
E.g:
SELECT p[TAB]
will produce a list of all appropriate relation names in the current search
path which begin with 'p', and also all schema names which begin with 'p';
\d pub[TAB]
will produce any relation names in the current search path and also
any schema names beginning with 'pub';
\d public.[TAB]
will produce a list of all relations in the schema 'public';
\d public.my[TAB]
produces all relation names beginning with 'my' in schema 'public'.
It seems to work for me; comments, suggestions, particularly regarding
the coding and queries, are very welcome.
Note that tables, indexes, views and sequences relations in the
'pg_catalog' namespace are excluded even though they are in
the current search path. I found not doing this produced annoying behaviour
when expanding names beginning with 'p'. People who work with system
tables a lot may not like this though; I can look for another solution
if necessary.
Ian Barwick
Bruce Momjian [Thu, 27 Mar 2003 16:43:07 +0000 (16:43 +0000)]
Adds
ALTER TABLE foo CLUSTER ON bar;
In pg_dumps, to preserve cluster settings.
Christopher Kings-Lynne
Bruce Momjian [Thu, 27 Mar 2003 16:39:17 +0000 (16:39 +0000)]
Reorder language creation to restore constistently.
Laurent FAILLIE
Bruce Momjian [Thu, 27 Mar 2003 16:35:31 +0000 (16:35 +0000)]
to_char fixes, Karel Zak
Tom Lane [Thu, 27 Mar 2003 14:33:11 +0000 (14:33 +0000)]
GetTupleForTrigger must use outer transaction's command counter for time
qual checking, not GetCurrentCommandId. Per test case from Steve Wolfe.
Michael Meskes [Thu, 27 Mar 2003 14:29:17 +0000 (14:29 +0000)]
More changes to pgtypeslib and set optimization to -O1.
Peter Eisentraut [Tue, 25 Mar 2003 16:15:44 +0000 (16:15 +0000)]
Merge documentation into one book. (Build with "make html".) Replace
vague cross-references with real links.
Bruce Momjian [Tue, 25 Mar 2003 15:11:53 +0000 (15:11 +0000)]
I mean, bison 1.875. :-)
Bruce Momjian [Tue, 25 Mar 2003 14:58:15 +0000 (14:58 +0000)]
Mention bison 1.85 is now required.
Tom Lane [Tue, 25 Mar 2003 03:16:41 +0000 (03:16 +0000)]
plpgsql can assign to subscripted variables now, e.g.
x[42] := whatever;
The facility is pretty primitive because it doesn't do array slicing and
it has the same semantics as array update in SQL (array must already
be non-null, etc). But it's a start.
Dave Cramer [Tue, 25 Mar 2003 02:46:23 +0000 (02:46 +0000)]
patch to notify listeners on error from Csaba Nagy
Bruce Momjian [Tue, 25 Mar 2003 02:44:36 +0000 (02:44 +0000)]
Use PQfreemem() consistently, and document its use for Notify.
Keep PQfreeNotify() around for binary compatibility.
Dave Cramer [Tue, 25 Mar 2003 02:28:45 +0000 (02:28 +0000)]
added DISTINCT to the query to get cross reference. This is required when two columns in a table are both foreign keys to another table. From Peter Royal proyal@pace2020.com
Dave Cramer [Tue, 25 Mar 2003 02:24:07 +0000 (02:24 +0000)]
fixed problem where information from previous updates was leaking into subsequent updates patch from Shawn Green, slightly modified