Commit Graph

9427 Commits

Author SHA1 Message Date
Bruce Momjian
eb1ee9e63f Fix ODBC warnings about missing parens and pg_ismb not used (added
#ifdef NOT_USED).
2002-03-29 07:48:56 +00:00
Bruce Momjian
b2c89fa7af Fox for old python PyMem_DEL, was PyMem_Del, 2002-03-29 07:45:39 +00:00
Bruce Momjian
ed6cce4c7b Fix '#' commant to be proper C comment. 2002-03-29 07:21:25 +00:00
Hiroshi Inoue
6852741c18 [2002-03-28]
1) Prepare to separate 4 kinds of Descriptor handles.
2) Detect the transaction status more naturally.
3) Improve Parse Statement functionality for the use
   of updatable cursors.
4) Improve updatable cursors.
5) Implement SQLGetDescField() and improve SQLColAttribute().
6) etc.
2002-03-28 08:08:07 +00:00
Peter Eisentraut
d235d9b8a3 Reset parenthesis level counter upon \r. 2002-03-27 19:16:13 +00:00
Barry Lind
2442e79e32 applied patch from Liam Stewart fixing a message in the properties file
also fixed a NPE when calling the next() method on a result set after the
connection or resultset has been closed. (bug reported by Hans Deragon)
2002-03-27 05:33:27 +00:00
Tom Lane
1dbf8aa7a8 pg_class has a relnamespace column. You can create and access tables
in schemas other than the system namespace; however, there's no search
path yet, and not all operations work yet on tables outside the system
namespace.
2002-03-26 19:17:02 +00:00
Barry Lind
da631e931f applied patch submitted by Florian (mailing-list@urbanet.ch) for BigDecimal support 2002-03-26 06:33:21 +00:00
Barry Lind
ef7d791074 Changed QueryExecutor.java to correctly read responses from the backend.
Fixed NPE when database name was not passed on the jdbc connection URL
Fixed Connection.isClosed() to not hit the DB for every call
2002-03-26 05:52:50 +00:00
Bruce Momjian
af3c380158 Update release list. 2002-03-26 05:34:33 +00:00
Bruce Momjian
ebcd74c788 Update sgml version properly. 2002-03-26 05:33:23 +00:00
D'Arcy J.M. Cain
102fe3f845 Further changes following discussion on INTERFACES mailing list:
- Use PyObject_Del() rather than macro version
  - Check version and drop back to PyMem_Del() for older systems.
2002-03-26 01:50:14 +00:00
Tom Lane
eb77ad55ed Re-allow CREATE AS (but not SELECT INTO) in EXECUTE. 2002-03-25 07:41:10 +00:00
Bruce Momjian
51b55730ae Fix for ODBC compile warnings. 2002-03-25 01:53:55 +00:00
Tom Lane
5eed835b9a Indenting #if commands is not portable, is it? 2002-03-24 18:22:21 +00:00
Tom Lane
ea10ec1b69 Tweak labeling of plan qual conditions for more consistency. 2002-03-24 17:11:37 +00:00
Tom Lane
10d3995057 EXPLAIN output now comes out as a query result, not a NOTICE message.
Also, fix debug logging of parse/plan trees so that the messages actually
go through elog(), not directly to stdout.
2002-03-24 04:31:09 +00:00
Tom Lane
a25b94c080 Create the pg_namespace system catalog. Doesn't do much yet, but it's
there and CREATE SCHEMA will make entries in it...
2002-03-22 21:34:44 +00:00
Tom Lane
48c9164901 Improve catalog commentary. 2002-03-22 20:14:42 +00:00
Tom Lane
108a0ec87d A little further progress on schemas: push down RangeVars into
addRangeTableEntry calls.  Remove relname field from RTEs, since
it will no longer be a useful unique identifier of relations;
we want to encourage people to rely on the relation OID instead.
Further work on dumping qual expressions in EXPLAIN, too.
2002-03-22 02:56:37 +00:00
Tom Lane
56c9b73c1d Change the aclchk.c routines to uniformly use OIDs to identify the
objects to be privilege-checked.  Some change in their APIs would be
necessary no matter what in the schema environment, and simply getting
rid of the name-based interface entirely seems like the best way.
2002-03-21 23:27:25 +00:00
Tom Lane
6137ed1b59 Fix minor syntax error. 2002-03-21 18:28:07 +00:00
Tom Lane
95ef6a3448 First phase of SCHEMA changes, concentrating on fixing the grammar and
the parsetree representation.  As yet we don't *do* anything with schema
names, just drop 'em on the floor; but you can enter schema-compatible
command syntax, and there's even a primitive CREATE SCHEMA command.
No doc updates yet, except to note that you can now extract a field
from a function-returning-row's result with (foo(...)).fieldname.
2002-03-21 16:02:16 +00:00
Peter Eisentraut
8c9c8ca2b5 Remove -mips2 flag, which breaks the build on some MIPS systems.
Report from Ryan Murray via Debian
2002-03-21 15:21:41 +00:00
Michael Meskes
73b92d10c6 Added typedef patches and a new option '-c' to automatically create C typedefs from SQL ones. 2002-03-21 09:42:52 +00:00
Tom Lane
a13ddd36b0 Remove long-dead 'fix for SELECT NULL' to stop current coredump. 2002-03-21 06:21:04 +00:00
Bruce Momjian
c52670e8b2 Fix pg_dump help option alignment. 2002-03-21 05:47:14 +00:00
Dave Cramer
78d40a2a2f Two versions of QueryExecutor, currently only version 2 works 100%
these versions adhere to the backend protocol better than previous version
fixes problem when an error occurs on the backend, and the connection is still used
previous versions were throwing an exception half way through the protocol, leaving it
indeterminate.
also removes empty query code, should speed things up a bit
2002-03-21 03:20:30 +00:00
Dave Cramer
54cc549d8f modifications to the way the protocol is handled to be consistent with
QueryExecutor. This includes:
1) only exit after we receive a 'Z' packet
2) append error messages to a buffer and throw the exception at the end
2002-03-21 02:52:37 +00:00
Dave Cramer
00923229c2 Part of Anders Bengtsson's patch to clean up Connection.java 2002-03-21 02:40:03 +00:00
Dave Cramer
d96c29ab30 Applied Anders patch to move the startup code out of Connection into StartupPacket
* Introduces a new class, StartupPacket.
* Moves a lot of constants from Connection to StartupPacket.
* Makes two instance variables in Connection into locals.
2002-03-21 02:39:06 +00:00
Michael Meskes
8e9b215fdf Just one more test case. 2002-03-20 21:00:24 +00:00
Tom Lane
337b22cb47 Code review for DOMAIN patch. 2002-03-20 19:45:13 +00:00
Tom Lane
251282d4b7 Tweak behavior of array slicing operations: seems like it ought to be
okay to omit low-order dimensions when accessing an array slice.
2002-03-20 19:41:47 +00:00
D'Arcy J.M. Cain
861c336b51 PyGreSQL causes a segfault when used with a Python executable that was
compiled with --with-pymalloc.  This change fixes that.  Thanks to
Dave Wallace <dwallace@udel.edu>
2002-03-20 14:36:06 +00:00
Bruce Momjian
f2842a969d Make CREATE DOMAIN emit CREATE DOMAIN on completion, per Peter E. 2002-03-19 16:10:48 +00:00
D'Arcy J.M. Cain
b752788510 Bump version number to match tree. 2002-03-19 13:21:14 +00:00
D'Arcy J.M. Cain
d6b4153f93 Fix name in comments and add info about this module's place in PyGreSQL. 2002-03-19 13:20:52 +00:00
Bruce Momjian
b292cafcd4 Just adds a regressions test suite for the ALTER TABLE/ADD PRIMARY KEY
feature.

I'll do ALTER TABLE / DROP CONSTRAINT next...

Christopher Kings-Lynne
2002-03-19 12:59:08 +00:00
Bruce Momjian
f5810bb8a5 Add missing trailing semicolons to ecpg rules.
Neil Conway
2002-03-19 12:56:38 +00:00
Bruce Momjian
b9c7b0a2ba Fix DOMAIN breakage. 2002-03-19 12:52:22 +00:00
Bruce Momjian
714f7859d8 psql \? cleanups by Ian Barwick 2002-03-19 03:01:01 +00:00
Bruce Momjian
a9819ca253 The attached patch cleans up the implementation of the TRUNCATE command;
in the current code, the authentication logic (check user, check the
relation we're operating on, etc) is done in tcop/utility.c, whereas the
actual TRUNCATE command in done in TruncateRelation() in
commands/createinh.c (which is really just a wrapper over
heap_truncate() in catalog/heap.c). This patch moves the authentication
logic into TruncateRelation(), as well as making some minor code
cleanups.

Neil Conway
2002-03-19 02:58:20 +00:00
Bruce Momjian
d8e70cd829 Fix for trigger handling:
* We should not even consider checking the row if it is no longer
         * valid since it was either deleted (doesn't matter) or updated
         * (in which case it'll be checked with its final values).

Stephan Szabo
2002-03-19 02:57:15 +00:00
Bruce Momjian
eb1fb8650f >Added ServerEncoding
>       Korean (JOHAB), Thai (WIN874),
>       Vietnamese (TCVN), Arabic (WIN1256)
>
>Added ClientEncoding
>       Simplified Chinese (GBK), Korean (UHC)
>
>Add PsqlODBC and document ...etc patch.


"JDBC patch" is delivered, too. :-)



Eiji Tokuya
2002-03-19 02:48:45 +00:00
Bruce Momjian
d3337c6e3f > I am backing out this patch. Please resubmit with this corrected. Thanks.
>
> I am running Python 1.5.

Therein lies the problem... :)

Since it appears you have the requirement of supporting old python
versions, attached is just the pgdb.py part of the patch (with a fix for
DateTime handling). It has the same functionality but certainly won't be
quite as fast. Given the absence of _PyString_Join in python1.5, it's a
pain to get the C variants working for all versions. The pgdb.py patch
does leaves the hooks in, should someone wish to do the optimization at a
later point.

Elliot Lee
2002-03-19 02:47:57 +00:00
Bruce Momjian
a7ade2bb6b Add psql \dD listing of domains, from Jonathan Eisler. 2002-03-19 02:32:21 +00:00
Bruce Momjian
d3788c3305 Add DOMAIN support. Includes manual pages and regression tests, from
Rod Taylor.
2002-03-19 02:18:25 +00:00
Dave Cramer
525b19399c applied patch from Liam Stewart
If one is trying to compile a JDBC 1 driver and junit.jar is in the
CLASSPATH, then the build fails as ant tries to build the JDBC 2 test
classes. This patch fixes this problem by excluding the jdbc 2 files
unless the jdk1.2+ property is set.
2002-03-19 01:32:48 +00:00
Bruce Momjian
1f0e5f6792 Comment patch:
This one better describes the problem.

heap.c needs to be updated to include 'Hard coded badness' for that
table.
--
Rod Taylor
2002-03-19 01:14:41 +00:00
Bruce Momjian
658371fe9f Update for 7.2.1. 2002-03-18 23:03:13 +00:00
Dave Cramer
202a19e47b Fixes bug where query hangs if there is an error in the query, went back to
code before QueryExecutor class was created and copied behaviour
2002-03-18 04:16:33 +00:00
Tom Lane
0f2fbbbac1 Try to make array_in's behavior a tad less bizarre. Leading whitespace
before a data item is now always skipped, rather than only sometimes.
Backslashes not within double-quoted text are treated reasonably, as
are multiple sequences of quoted text in a single data item.  But it
still seems rather prone to misbehavior if the input is not completely
syntactically correct --- in particular, garbage following a right brace
will be ignored.
2002-03-16 22:47:13 +00:00
Dave Cramer
134fe5ec61 fixed QueryExecuter to deal with multiple errors
previously it was throwing a SQLException as soon as the error message was
received from the backend. This did not allow the protocol to finish properly
now, simply collects error messages from the backend until the query is done
and throws exception at the end
Also added setLogLevel to Driver.java, and made the log levels public
2002-03-16 02:15:23 +00:00
Bruce Momjian
efd45bc68f Manually clean up indenting of ecpg lex/yacc files, OK'ed by Michael
Meskes.  These files are not touched by pgindent so this has to be
manually done.
2002-03-15 21:46:59 +00:00
Tom Lane
01747692fe Repair two problems with WAL logging of sequence nextvalI() ops, as
per recent pghackers discussion: force a new WAL record at first nextval
after a checkpoint, and ensure that xlog is flushed to disk if a nextval
record is the only thing emitted by a transaction.
2002-03-15 19:20:36 +00:00
Dave Cramer
a2b5512929 patch from Alexey Slynko
This patch solve problems with arrays in latest development JDBC driver
2002-03-15 04:11:49 +00:00
Bruce Momjian
31effd10fe The attached patch changes ALTER TABLE OWNER to also change the
ownership of any toast tables that belong to the table that is being
operated upon (as suggested by Tom Lane).

Neil Conway
2002-03-14 22:44:50 +00:00
Hiroshi Inoue
01e322652b 1) Internal improvements to handle updatable cursors(1st cut).
2) Fix a bug in SQLColAttribute().
2002-03-14 05:42:04 +00:00
Peter Eisentraut
f362dcec61 Move
src/GNUmakefile.in to src/Makefile
and
  src/backend/port/Makefile.in to src/backend/port/Makefile

All configure substitutions are now done in Makefile.global.
2002-03-13 00:05:06 +00:00
Tom Lane
6eeb95f0f5 Restructure representation of join alias variables. An explicit JOIN
now has an RTE of its own, and references to its outputs now are Vars
referencing the JOIN RTE, rather than CASE-expressions.  This allows
reverse-listing in ruleutils.c to use the correct alias easily, rather
than painfully reverse-engineering the alias namespace as it used to do.
Also, nested FULL JOINs work correctly, because the result of the inner
joins are simple Vars that the planner can cope with.  This fixes a bug
reported a couple times now, notably by Tatsuo on 18-Nov-01.  The alias
Vars are expanded into COALESCE expressions where needed at the very end
of planning, rather than during parsing.
Also, beginnings of support for showing plan qualifier expressions in
EXPLAIN.  There are probably still cases that need work.
initdb forced due to change of stored-rule representation.
2002-03-12 00:52:10 +00:00
Bruce Momjian
66b6bf67a1 More pgsql \? cleanup for Peter E. 2002-03-11 18:26:20 +00:00
Bruce Momjian
560a2c017c Correct optional args in psql \? as pointed out by Ian Barwick. 2002-03-11 18:22:03 +00:00
Bruce Momjian
80bbfe76d5 Inlined a patch to add the libpq setNoticeProcessor capability to
libpq++.

Ofir Reichenberg
2002-03-11 15:08:18 +00:00
Michael Meskes
9f9e3c9803 Changed the version numbers, but did not commit the Makefiles. 2002-03-11 12:56:02 +00:00
Hiroshi Inoue
dadb718b10 Bug fixes for the 2002-03-08 change.
1) Put back the error message for SQLError().
2) Change Disallow premature to handle the SELECTed
   result.
3) Put back the behavior of AUTUCOMMIT mode change.
4) Fix SQLColumns for ODBC3.0.

5) Improve the handling of variable bookmark in ODBC3.0.
6) Enable Recognize Unique Index Button.
2002-03-11 10:25:57 +00:00
Michael Meskes
7f7fb4e64c Fixed two bugs in define command in pgc.l 2002-03-10 12:09:54 +00:00
Bruce Momjian
a35b6b6418 Add DEFAULT_INDEX_TYPE == "btree", for clarity. 2002-03-10 06:02:24 +00:00
Bruce Momjian
ee27436f6c Disable brackets in multi-statement rules, as discussed. 2002-03-10 06:00:15 +00:00
Thomas G. Lockhart
f20509551d Guard against NULL strings in SET key=val constructs.
Problem noted by Fernando Nasser.
2002-03-09 17:37:16 +00:00
Dave Cramer
ee2154829e Added a check for not calling next() before getting objects from the result set,
moved the check for columnIndex into same call
check at the top of all getXXX
added appropriate error
2002-03-09 17:36:14 +00:00
Tom Lane
c422b5ca6b Code review for improved-hashing patch. Fix some portability issues
(char != unsigned char, Datum != uint32); make use of new hash code in
dynahash hash tables and hash joins.
2002-03-09 17:35:37 +00:00
Dave Cramer
1eb31d197d Here is a small patch that cleans up some error reporting in the JDBC driver. PSQLExceptions are thrown instead of SQLExceptions and if a warning is received while waiting for the backend secret key, that warning is chained to the new Connection object instead of generating an exception. A couple new error messages have been added. 2002-03-09 17:08:39 +00:00
Bruce Momjian
fdcb8516d4 Wording improvements to runtime.sgml. Add mention in postgresql.conf
file that SIGHUP or "pg_ctl reload" are required for changes to take
affect on a running server.
2002-03-09 05:11:38 +00:00
Bruce Momjian
db1d7a9ada Improve wording of pg_hba.conf file. 2002-03-08 20:36:58 +00:00
Hiroshi Inoue
fc70104725 Remove compile errors. 2002-03-08 09:50:39 +00:00
Hiroshi Inoue
4b47467a6b 1) Implement SQLParamOptions().
2) Handle Multiple results and implement SQLMoreResult().
3) Improve multibyte handling thanks to Eiji Tokuya.
4) Add new options.
   LF <-> CR/LF converion.
   TRUE is -1 (for VB).
5) Introduce unicode(UCS-2) support.
6) Reduce the length of connection strings.
7) Improve SQLError, SQLGetDiagRec(ODBC 3.0).
8) Implement SQLTablePrivileges().
9) Miscellaneous changes for ODBC 3.0 support.
2002-03-08 08:52:55 +00:00
Tom Lane
21f8aa396f analyze.o need not depend on parser.h. 2002-03-08 07:12:11 +00:00
Tom Lane
01fe40f5c5 Remove unnecessary inclusion. 2002-03-08 06:55:08 +00:00
Tom Lane
cf68a686a6 Fix copying/equality-check bugs in GrantStmt and ConstraintsSetStmt,
per reports from Fernando Nasser.  Also, rearrange order of declarations
in parsenodes.h as suggested by Fernando.
2002-03-08 04:37:18 +00:00
Bruce Momjian
ee81126d1f TODO item done:
* Change FIXED_CHAR_SEL to 0.20 from 0.04 to give better selectivity (Bruce)
2002-03-08 04:29:01 +00:00
Tom Lane
98b3ae7378 Add missing colon to getopt() arg. 2002-03-08 00:42:09 +00:00
Bruce Momjian
08e1664ab4 Add FULL in VACUUM psql completion. 2002-03-07 20:48:41 +00:00
Bruce Momjian
7ce0f9c375 Adjust elog() tags so source and regression tests match. 2002-03-07 20:18:15 +00:00
Bruce Momjian
7d1b8fe716 Back out psql domain improvements until domain is applied. 2002-03-07 17:54:42 +00:00
Bruce Momjian
b976b8af80 Back out domain patch until it works properly. 2002-03-07 16:35:41 +00:00
Bruce Momjian
609f71b760 Also an small change to the tab-complete feature of psql which allows to
use tables and views interchangeably.

Manuel Sugawara
2002-03-07 04:45:53 +00:00
Bruce Momjian
9178b7fcea Fix syntax error introduced by patch. 2002-03-06 21:49:52 +00:00
Bruce Momjian
7ab7467318 I've attached a patch which implements Bob Jenkin's hash function for
PostgreSQL. This hash function replaces the one used by hash indexes and
the catalog cache. Hash joins use a different, relatively poor-quality
hash function, but I'll fix that later.

As suggested by Tom Lane, this patch also changes the size of the fixed
hash table used by the catalog cache to be a power-of-2 (instead of a
prime: I chose 256 instead of 257). This allows the catcache to lookup
hash buckets using a simple bitmask. This should improve the performance
of the catalog cache slightly, since the previous method (modulo a
prime) was slow.

In my tests, this improves the performance of hash indexes by between 4%
and 8%; the performance when using btree indexes or seqscans is
basically unchanged.

Neil Conway <neilconway@rogers.com>
2002-03-06 20:49:46 +00:00
Bruce Momjian
5b5cef9abd Enable ALTER TABLE ADD PRIMARY KEY for pg_dump, for performance reasons
so index is not on table during COPY.

> > AFAICT, the patch I posted to -patches a little while to enable the
> > usage of ALTER TABLE ADD PRIMARY KEY by pg_dump hasn't been applied, nor
> > is it in the unapplied patches list. I was under the impression that
> > this was in the queue for application -- did it just get lost?

Neil Conway <neilconway@rogers.com>
2002-03-06 20:48:42 +00:00
Bruce Momjian
c666d6fd41 Here is a diff of changes to the psql source code implementing a simple
'list domains' command '\dD'. This is the interface component of
rbt@zort.ca's domain backend modifications.

Jonathan Eisler
2002-03-06 20:39:45 +00:00
Bruce Momjian
01c76f7411 Ok. Updated patch attached.
- domain.patch -> source patch against pgsql in cvs
- drop_domain.sgml and create_domain.sgml -> New doc/src/sgml/ref docs

- dominfo.txt -> basic domain related queries I used for testing
[ ADDED TO /doc]

Enables domains of array elements -> CREATE DOMAIN dom int4[3][2];

Uses a typbasetype column to describe the origin of the domain.

Copies data to attnotnull rather than processing in execMain().

Some documentation differences from earlier.

If this is approved, I'll start working on pg_dump, and a \dD <domain>
option in psql, and regression tests.  I don't really feel like doing
those until the system table structure settles for pg_type.


CHECKS when added, will also be copied to to the table attributes.  FK
Constraints (if I ever figure out how) will be done similarly.  Both
will lbe handled by MergeDomainAttributes() which is called shortly
before MergeAttributes().

Rod Taylor
2002-03-06 20:35:02 +00:00
Bruce Momjian
3d9f865e94 Modify ALTER TABLE OWNER to change index ownership; code cleanup.
Neil Conway
2002-03-06 19:58:26 +00:00
Bruce Momjian
7d5edf2ba7 Add new elog() levels to stored procedure languages. plperl DEBUG hack
still needed because only removed in 7.4.
2002-03-06 18:50:33 +00:00
Bruce Momjian
9956c566e3 Add libpgeasy example file. 2002-03-06 14:40:05 +00:00
Michael Meskes
5ca7c8e314 Synced parser with backend. 2002-03-06 10:10:52 +00:00
Bruce Momjian
4e15b9233d Improve elog descriptions. 2002-03-06 06:23:20 +00:00
Bruce Momjian
e6227fd0ec Add missing Unicode multibyte files. 2002-03-06 06:12:59 +00:00
Bruce Momjian
92288a1cf9 Change made to elog:
o  Change all current CVS messages of NOTICE to WARNING.  We were going
to do this just before 7.3 beta but it has to be done now, as you will
see below.

o Change current INFO messages that should be controlled by
client_min_messages to NOTICE.

o Force remaining INFO messages, like from EXPLAIN, VACUUM VERBOSE, etc.
to always go to the client.

o Remove INFO from the client_min_messages options and add NOTICE.

Seems we do need three non-ERROR elog levels to handle the various
behaviors we need for these messages.

Regression passed.
2002-03-06 06:10:59 +00:00
Dave Cramer
39c58b9065 changed Cancel to cancel 2002-03-06 03:07:45 +00:00
Dave Cramer
ffe356b5dd backed out changes for cancel, no need to look for two 'Z' responses 2002-03-05 20:11:57 +00:00
Dave Cramer
29ea8ff9b1 Patch by Nicolas Verger to correctly propogate SQLWarning to the Statement and ResultSet 2002-03-05 18:02:44 +00:00
Dave Cramer
ff2f9b663f fixed cancel query bug introduced by patch 2002-03-05 18:01:27 +00:00
Bruce Momjian
0416641baa At this moment, --enable-debug adds debugging information to most of the
parts o f postgresql. The jdbc drivers are never compiled with debugging
support. This p atch make sure that debugging information is added to
the jdbc jar when the --en able-debug is added. This was usefull for me
for debugging some java jdbc poolin g objects but this might perhaps be
usefull for other people too?

Dries Verachtert
2002-03-05 17:55:23 +00:00
Bruce Momjian
af41101a40 Prevent failed passwords from being echoed to server logs, for security. 2002-03-05 07:57:45 +00:00
Bruce Momjian
16d6615b41 Prevent failed passwords from being echoed to server logs, for security. 2002-03-05 06:52:05 +00:00
Bruce Momjian
ed5eb09cce Adds \du documentation line for \? in psqls help.c
Thought I saw a patch earlier converting docs to use []s, so this uses
them.

Rod Taylor
2002-03-05 06:13:19 +00:00
Bruce Momjian
6024ac1ba0 Back out old version and update with newer patch of:
Fix for non-blocking connections in libpq

Bernhard Herzog
2002-03-05 06:07:27 +00:00
Bruce Momjian
a8bd7e1c6e > Tatsuo Ishii wrote:
> > > > It was made to cope with encoding such as an Asian bloc in 7.2Beta2.
> > > >
> > > > Added ServerEncoding
> > > >         Korean (JOHAB), Thai (WIN874),
> > > >         Vietnamese (TCVN), Arabic (WIN1256)
> > > >
> > > > Added ClientEncoding
> > > >         Simplified Chinese (GBK), Korean (UHC)
> > > >
> > > >
> > > >
> http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2b2.newencoding.diff.tar.gz
> > > > (608K)
> > >
> > > Looks good.  I need some people to review this for me.
> >
> > For me they look good too. The only missing part is a
> > documentation. I will ask him to write it up. If he couldn't, I will
> > do it for him.
> > > The diff is 3mb
> > > but appears to address only additions to multibyte.  I have attached a
> > > list of files it modifies.  Also, look at the sizes of the mb/
> > > directory.  It is getting large:
> > >
> > >   4       ./CVS
> > >   6       ./Unicode/CVS
> > >   3433    ./Unicode
> > >   6197    .
> >
> > Yes. We definitely need the on-the-fly encoding addition capability:
> > i.e. CREATE CHRACTER SET in the future...
> > --
> > Tatsuo Ishii
> >
> >

Address chainge.

http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2.newencoding.diff.gz

Add PsqlODBC and document ...etc patch.

Eiji Tokuya
2002-03-05 05:52:50 +00:00
Bruce Momjian
03194432de I attach a version of my toast-slicing patch, against current CVS
(current as of a few hours ago.)

This patch:

1. Adds PG_GETARG_xxx_P_SLICE() macros and associated support routines.

2. Adds routines in src/backend/access/tuptoaster.c for fetching only
necessary chunks of a toasted value. (Modelled on latest changes to
assume chunks are returned in order).

3. Amends text_substr and bytea_substr to use new methods. It now
handles multibyte cases -and should still lead to a performance
improvement in the multibyte case where the substring is near the
beginning of the string.

4. Added new command: ALTER TABLE tabname ALTER COLUMN colname SET
STORAGE {PLAIN | EXTERNAL | EXTENDED | MAIN} to parser and documented in
alter-table.sgml. (NB I used ColId as the item type for the storage
mode string, rather than a new production - I hope this makes sense!).
All this does is sets attstorage for the specified column.

4. AlterTableAlterColumnStatistics is now AlterTableAlterColumnFlags and
handles both statistics and storage (it uses the subtype code to
distinguish). The previous version of my patch also re-arranged other
code in backend/commands/command.c but I have dropped that from this
patch.(I plan to return to it separately).

5. Documented new macros (and also the PG_GETARG_xxx_P_COPY macros) in
xfunc.sgml. ref/alter_table.sgml also contains documentation for ALTER
COLUMN SET STORAGE.

John Gray
2002-03-05 05:33:31 +00:00
Bruce Momjian
276fc7ce82 I was digging through the GiST code, and figured I'd fix up some of the
"bad smell" in that code. Stuff like function parameters that aren't
used, typos in the comments, comparison between signed and unsigned
ints, etc.

Attached is a pretty trivial patch; it compiles, but beyond that
completely untested. Unless anyone sees any problems, please apply for
7.3.

Neil Conway
2002-03-05 05:30:40 +00:00
Bruce Momjian
33766e680d Here's a patch against 7.1.3 that fixes a problem with sending larger
queries over non-blocking connections with libpq. "Larger" here
basically means that it doesn't fit into the output buffer.

The basic strategy is to fix pqFlush and pqPutBytes.

The problem with pqFlush as it stands now is that it returns EOF when an
error occurs or when not all data could be sent. The latter case is
clearly not an error for a non-blocking connection but the caller can't
distringuish it from an error very well.

The first part of the fix is therefore to fix pqFlush. This is done by
to renaming it to pqSendSome which only differs from pqFlush in its
return values to allow the caller to make the above distinction and a
new pqFlush which is implemented in terms of pqSendSome and behaves
exactly like the old pqFlush.

The second part of the fix modifies pqPutBytes to use pqSendSome instead
of pqFlush and to either send all the data or if not all data can be
sent on a non-blocking connection to at least put all data into the
output buffer, enlarging it if necessary. The callers of pqPutBytes
don't have to be changed because from their point of view pqPutBytes
behaves like before. It either succeeds in queueing all output data or
fails with an error.

I've also added a new API function PQsendSome which analogously to
PQflush just calls pqSendSome. Programs using non-blocking queries
should use this new function. The main difference is that this function
will have to be called repeatedly (calling select() properly in between)
until all data has been written.

AFAICT, the code in CVS HEAD hasn't changed with respect to non-blocking
queries and this fix should work there, too, but I haven't tested that
yet.

Bernhard Herzog
2002-03-05 05:20:12 +00:00
Tom Lane
944671820f Previous patch to mark UNION outputs with common typmod (if any) breaks
three-or-more-way UNIONs, as per example from Josh Berkus.  Cause is a
fragile assumption that one tlist's entries will exactly match another.
Restructure code to make that assumption a little less fragile.
2002-03-05 05:10:24 +00:00
Dave Cramer
17b6baf17d Doug Fields patch to prevent exception being thrown on zero length arrays 2002-03-05 03:46:03 +00:00
Dave Cramer
fe4e95f682 patch from Zhenbang Wei
The errors_zh_TW.properties must be translated using native2ascii or it
will raise an exception. Please replace the old file.
2002-03-05 03:33:29 +00:00
Dave Cramer
8f83590aa1 Patch from Ryouichi Matsuda
An attached patch corrects problem of this bug and fractional second.


 The handling of time zone was as follows:

   (a) with time zone
       using  SimpleDateFormat("yyyy-MM-dd HH:mm:ss z")
   (b) without time zone
       using  SimpleDateFormat("yyyy-MM-dd HH:mm:ss")


 About problem of fractional second,
 Fractional second was changed from milli-second to nano-second
2002-03-05 03:29:30 +00:00
Dave Cramer
7aa6270fc7 patch from Mitchel Friedman to fix getTables 2002-03-05 03:02:52 +00:00
Bruce Momjian
925d60ee53 Showing index details with \d on psql.
Greg Sabino Mullane
2002-03-05 02:42:56 +00:00
Dave Cramer
521017c5d0 patch from Vicktor to fix Numeric decimal digits in getColumns 2002-03-05 02:14:08 +00:00
Bruce Momjian
fef790cc03 Back out python patch:
Elliot Lee wrote:
> This patch to the python bindings adds C versions of the often-used
query
> args quoting routines, as well as support for quoting lists e.g.
> dbc.execute("SELECT * FROM foo WHERE blah IN %s", ([1,2,3],))
2002-03-05 02:01:44 +00:00
Bruce Momjian
14b05248cc This patch to the python bindings adds C versions of the often-used
query args quoting routines, as well as support for quoting lists e.g.
dbc.execute("SELECT * FROM foo WHERE blah IN %s", ([1,2,3],))

Elliot Lee
2002-03-05 00:23:13 +00:00
Bruce Momjian
25b0b09fd3 Add \timing patch to psql. Times all queries.
Greg Sabino Mullane
2002-03-05 00:01:03 +00:00
Bruce Momjian
294f0d4bd6 Add PQunescapeBytea libpq function.
Everyone using libpq and bytea is probably having to invent this wheel..

Patrick Welche
2002-03-04 23:59:14 +00:00
Bruce Momjian
b2aade0e4b Improve libpgeasy API for multiple result sets, add example. 2002-03-04 18:50:21 +00:00
Tom Lane
e7db8fa80e Add Assert check to catch vsnprintf overrunning its buffer. (Seen to
occur on Solaris 7 in 64-bit mode, for one.)
2002-03-04 18:34:02 +00:00
Tom Lane
dd178e37f0 Make port makefile slightly less crufty. 2002-03-04 17:43:32 +00:00
Tom Lane
26c246036d Fix very ancient breakage in alter-table tests: apparently, there was a
type named 'dt' back in Postgres 4.2, and the regression test wasn't
updated when it was removed.  Per report from Patricia Holben of Great
Bridge.
2002-03-04 05:17:55 +00:00
Tom Lane
653556cc26 If presented db path has a trailing slash, remove it to avoid generating
double slashes in generated filenames.  This is not strictly necessary
on standard Unixen, but I'm being a neatnik...
2002-03-04 04:45:27 +00:00
Tatsuo Ishii
3382fbb60d Fix bug in extract/date_part for milliseconds/miscroseconds and
timestamp/timestamptz combo. Now extract/date_part returns
seconds*1000 or 1000000 + fraction part as the manual stats.
regression test are also fixed.

See the thread in pgsql-hackers:

Subject: Re: [HACKERS] timestamp_part() bug?
Date: Sat, 02 Mar 2002 11:29:53 +0900
2002-03-04 03:55:50 +00:00
Tom Lane
a616cbc5e3 Fix bogus error check in pg_execute, per report from lbayuk@mindspring.com. 2002-03-04 02:41:49 +00:00
Tom Lane
36f693ec69 Further work on elog cleanup: fix some bogosities in elog's logic about
when to send what to which, prevent recursion by introducing new COMMERROR
elog level for client-communication problems, get rid of direct writes
to stderr in backend/libpq files, prevent non-error elogs from going to
client during the authentication cycle.
2002-03-04 01:46:04 +00:00
Tom Lane
26ac217173 Catcaches can now store negative entries as well as positive ones, to
speed up repetitive failed searches; per pghackers discussion in late
January.  inval.c logic substantially simplified, since we can now treat
inserts and deletes alike as far as inval events are concerned.  Some
repair work needed in heap_create_with_catalog, which turns out to have
been doing CommandCounterIncrement at a point where the new relation has
non-self-consistent catalog entries.  With the new inval code, that
resulted in assert failures during a relcache entry rebuild.
2002-03-03 17:47:56 +00:00
Bruce Momjian
343e47c27d Default server_min_messages is NOTICE. 2002-03-03 02:11:09 +00:00
Tom Lane
ce7a4f06a2 Cause regression tests to pass again after elog changes. 2002-03-03 01:05:22 +00:00
Tom Lane
cfae62c476 Some kibitzing about appropriate elog levels for sinval messages. 2002-03-02 23:35:57 +00:00
Bruce Momjian
a033daf566 Commit to match discussed elog() changes. Only update is that LOG is
now just below FATAL in server_min_messages.  Added more text to
highlight ordering difference between it and client_min_messages.

---------------------------------------------------------------------------

REALLYFATAL => PANIC
STOP => PANIC
New INFO level the prints to client by default
New LOG level the prints to server log by default
Cause VACUUM information to print only to the client
NOTICE => INFO where purely information messages are sent
DEBUG => LOG for purely server status messages
DEBUG removed, kept as backward compatible
DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added
DebugLvl removed in favor of new DEBUG[1-5] symbols
New server_min_messages GUC parameter with values:
        DEBUG[5-1], INFO, NOTICE, ERROR, LOG, FATAL, PANIC
New client_min_messages GUC parameter with values:
        DEBUG[5-1], LOG, INFO, NOTICE, ERROR, FATAL, PANIC
Server startup now logged with LOG instead of DEBUG
Remove debug_level GUC parameter
elog() numbers now start at 10
Add test to print error message if older elog() values are passed to elog()
Bootstrap mode now has a -d that requires an argument, like postmaster
2002-03-02 21:39:36 +00:00
Tom Lane
8d8aa931ef Add code to allow profiling of backends on Linux: save and restore the
profiling timer setting across fork().  The correct way to build a
profilable backend on Linux is now gmake PROFILE="-pg -DLINUX_PROFILE"
2002-03-02 20:46:12 +00:00
Tom Lane
78ab803402 Don't bother to request SSL connection over a Unix socket, since the
postmaster won't accept the request anyway.  (If your kernel can't
be trusted, SSL will not help you.)
2002-03-02 00:49:22 +00:00
Tom Lane
608d843e61 Array slice extraction should produce a result array with index lower
bounds of 1, not the lower bound subscripts of the original slice.
Per bug report from Andre Holzner, 1-Feb-02.
2002-03-02 00:34:24 +00:00
Peter Eisentraut
1aac2c852a User and database-specific session defaults for run-time configuration
variables.  New commands ALTER DATABASE ... SET and ALTER USER ... SET.
2002-03-01 22:45:19 +00:00
Peter Eisentraut
851f766115 array_ref() should set isNull to false explicitly if it's not going to
return NULL.
2002-03-01 22:17:10 +00:00
Tom Lane
54f7f62d4a Fix thinko: cost_mergejoin must pay attention to which side of the
mergeclause is which when extracting selectivity info.
2002-03-01 20:50:20 +00:00
Hiroshi Inoue
e1716475e4 Add files for Unicode support. 2002-03-01 07:18:34 +00:00
Tom Lane
8f0a9e85b3 Second thoughts dept: arrange to cache mergejoin scan selectivity
in RestrictInfo nodes, instead of recomputing on every use.
2002-03-01 06:01:20 +00:00
Tom Lane
f8c109528c Teach planner about the idea that a mergejoin won't necessarily read
both input streams to the end.  If one variable's range is much less
than the other, an indexscan-based merge can win by not scanning all
of the other table.  Per example from Reinhard Max.
2002-03-01 04:09:28 +00:00
Tom Lane
fdc60bd9d9 Tweak pg_exec_query_string so that we close down transaction command
before reporting command-complete message for the final command of a
query string.  This way, any errors detected during finish_xact_command
(such as RI violations) will appear to be part of the final command,
rather than coming out after the command is reported complete.  This
avoids confusing PQendcopy and other not-overly-bright clients.
Per Lee Harr's bug report of 25-Feb-02.
2002-02-27 23:16:07 +00:00
Tom Lane
af1b72d83b #ifdef out pg_dump's check on whether a sequence's sequence_name field
matches the sequence name from pg_class.  This fails if the sequence has
been renamed, and seems rather pointless in any case.
Also improve a couple of error messages about inconsistencies.
2002-02-27 20:59:05 +00:00
Tom Lane
04cb9a6a16 Paranoia about data structure lifetime ... 2002-02-27 19:52:41 +00:00
Tom Lane
6779c55c22 Clean up BeginCommand and related routines. BeginCommand and EndCommand
are now both invoked once per received SQL command (raw parsetree) from
pg_exec_query_string.  BeginCommand is actually just an empty routine
at the moment --- all its former operations have been pushed into tuple
receiver setup routines in printtup.c.  This makes for a clean distinction
between BeginCommand/EndCommand (once per command) and the tuple receiver
setup/teardown routines (once per ExecutorRun call), whereas the old code
was quite ad hoc.  Along the way, clean up the calling conventions for
ExecutorRun a little bit.
2002-02-27 19:36:13 +00:00
Hiroshi Inoue
fc3726b4b9 Improve the handling of ODBC escape(a request from Marcelo Aceto).
Change SQLGetFunctions() to reply not yet implemented ODBC 3.0
functions precisely.
2002-02-27 01:43:24 +00:00