Commit Graph

8495 Commits

Author SHA1 Message Date
Bruce Momjian 914eec7d3b Sync up jdbc error files. 2001-09-06 03:03:37 +00:00
Bruce Momjian 02566f14f4 On Sat, Aug 25, 2001 at 08:15:45PM -0400, Bruce Momjian wrote:
> Can someone research this and figure out what the proper solution for
> this is?  Seems we are going around in circles if we keep
> adding/removing DLLIMPORT.

I believe that the attached patch is the correct solution --  I apologize
for the gyrations.  With the attached patch, Cygwin libpq++ builds
cleanly again.  The root cause was that DLLIMPORT was defaulting to
__declspec(dllimport) since BUILDING_DLL was *not* defined when building
the libpq++ DLL.

Unfortunately, to test my patch requires changing the following makefile:

    src/interfaces/libpq++/examples/Makefile

and the #includes in all of the *.cc to build against the source tree
instead of the following hardcoded installation directory structure:

    /usr/local/pgsql

I was able to manually build

    src/interfaces/libpq++/examples/testlibpq0.exe

against my Cygwin libpq++ without errors.  However, I have not tried to
actually test testlibpq0.exe.

Is this sufficient?  Or, do you want me to clean up libpq++/examples too?
(Or, is it silly to even ask? :,))  Let me know how you want to proceed and
I will submit a patch to pgsql-patches.

Jason Tishler
2001-09-06 02:58:33 +00:00
Bruce Momjian 16910e44de Next version of patch.
Now with documentation update and disabling of UTF conversion for Tcl <=8.0

On Fri, 24 Aug 2001, Vsevolod Lobko wrote:

> On Thu, 23 Aug 2001, Tom Lane wrote:
>
> > > Is this looks better?
> >
> > It does, but one small gripe: the lack of semicolons will probably cause
> > pg_indent to mess up the indentation.  (I know emacs' autoindent mode
> > will not work nicely with it, either.)  Please set up the macros so that
> > you write
> >
> >                         UTF_BEGIN;
> >                         Tcl_DStringAppend(&unknown_src, UTF_E2U(part), -1);
> >                         UTF_END;
> >
> > and then I'll be happy.
>
> Attached revised patch
>
> > Your point about overhead is a good one, so I retract the gripe about
> > using a configure switch.  But please include documentation patches to
> > describe the configure option in the administrator's guide (installation
> > section).
>
> This patch still uses configure switch for enabling feature.
>
> For enabling based on tcl version we have 2 posibilites:
>  1) having feature enabled by default, but in pltcl.c check for tcl
>     version and disable it for old versions
>  2) enable or disable at configure time based on tcl version, but there
>     are problem - current configure don't checks for tcl version at all
>     and my configure skills not enought for adding this
>

Vsevolod Lobko
2001-09-06 02:56:32 +00:00
Bruce Momjian 37c0b64875 Below is the patch against current cvs for libpgtcl and
two additional files win32.mak and libpgtcl.def.
This patch allows to compile libpgtcl.dll on Windows
with tcl > 8.0. I've tested it on WinNT (VC6.0), SUSE Linux (7.0)
and Solaris 2.6 with tcl 8.3.3.

Mikhail Terekhov
2001-09-06 02:54:56 +00:00
Bruce Momjian ee0ef05b8d Hello, i just reviewed the win32 errno patch and i saw that maybe i didn't
really played it totally safe in my last suggestion, the system table might
pick up the msg but not the netmsg.dll, so better try both.
I also added a hex printout of the "errno" appended to all messages, that's
nicer.

If anyone hate my coding style, or that i'm using goto constructs, just tell
me, and i'll rework it into a nested if () thing.

Magnus Naeslund(f)
2001-09-06 02:52:00 +00:00
Tom Lane 6c91eef7b7 Fix handling of pg_type.typdefault per bug report from Dave Blasby.
If there's anyone out there who's actually using datatype-defined
default values, this will be an incompatible change in behavior ...
but the old behavior was so broken that I doubt anyone was using it.
2001-09-06 02:07:42 +00:00
Tom Lane f2b604ecf4 Add some debugging details to some of the elog(STOP) conditions for WAL.
Standardize on %X/%X as the formatting for XLOG position display --- we
had a couple of different formats before, and none of 'em were as useful
as hex offsets IMHO.
2001-09-06 02:02:48 +00:00
Bruce Momjian c2ed891512 Overhaul ecpg manual page.
Update Italian jdbc error messages.
2001-09-06 00:23:42 +00:00
Tom Lane 763554393a Fix code so that we recover cleanly if there are no free semaphores
available in freeSemMap.  As noted by Tatsuo, this is now a likely
scenario for detecting MaxBackends-exceeded; if MaxBackends is a multiple
of PROC_NSEMS_PER_SET then we will fail here and not in sinval.c.  The
cleanup path did not work correctly before, anyway.
2001-09-04 21:42:17 +00:00
Tom Lane 936114a019 Fix comment, add Assert. 2001-09-04 19:12:05 +00:00
Tom Lane bc1a61a30d Fix typo. 2001-09-04 19:05:59 +00:00
Peter Eisentraut 2c3bd9e8f3 /usr/local/bin/perl => /usr/bin/perl 2001-09-04 11:41:04 +00:00
Bruce Momjian 5840db21fb Add back incremental patch for BSD indent. 2001-09-04 03:34:42 +00:00
Bruce Momjian 7e13743299 pg_restore option is {c|t}, not {c|f}. Pointed out by someone on IRC.
"  -F {c|t}                 specify backup file format\n"
2001-09-04 03:20:29 +00:00
Tom Lane b553cba15a Clean up the lock state properly when aborting because of early deadlock
detection in ProcSleep().  Bug noted by Tomasz Zielonka --- how did this
escape detection for this long??
2001-09-04 02:26:57 +00:00
Peter Eisentraut 3c59a9e3b7 Bring references to ipcclean in sync with reality. 2001-09-04 00:22:34 +00:00
Peter Eisentraut 309401a7b6 Fix misscanning of """" (an identifier consisting of one double-quote). 2001-09-04 00:19:39 +00:00
Bruce Momjian e5390263ed Add patch for 0LL for BSD indent/pgindent. 2001-09-03 23:11:20 +00:00
Peter Eisentraut 69c52c8e5b Put pgstat internal files into $PGDATA/global. 2001-09-03 12:00:00 +00:00
Peter Eisentraut daac2d0ce3 Parse the arguments of \connect as SQL identifiers, so that they expose
the expected behavior in mixed-case situations.

bug report from James Pattie, 2001-08-31
2001-09-02 23:52:19 +00:00
Peter Eisentraut 60ce9e9279 New blood and fresh air for tutorial 2001-09-02 23:27:50 +00:00
Peter Eisentraut 68e5360018 Convert some fprintf's to elog's. 2001-08-30 19:02:42 +00:00
Peter Eisentraut 11193c8a20 For INSERTs, one can now tab complete DEFAULT VALUES.
from Liam Stewart
2001-08-30 13:17:03 +00:00
Peter Eisentraut b1a38a4380 Install the SQL command man pages into a section appropriate for each
system.  Some systems did not understand the 'l' section, and in general
it wasn't entirely appropriate.

On SCO OpenServer, the man pages won't be installed at all until someone
figures out their man system.
2001-08-29 19:14:40 +00:00
Peter Eisentraut f45b7270b6 Whoops, wrong logic. 2001-08-29 11:54:12 +00:00
Peter Eisentraut dd225655b9 Change the conditionals so the mips + gcc code here doesn't apply for Irix.
The code in s_lock.h should get used.

report from Bruno Mattarollo <bruno@web1.greenpeace.org>
2001-08-28 15:04:27 +00:00
Peter Eisentraut f5944af8ba Include directory rearrangement
Client headers are no longer in a subdirectory, since they have been made
namespace-clean.

Internal libpq headers are in a private subdirectory.

Server headers are in a private subdirectory.  pg_config has a new option
to point there.
2001-08-28 14:20:28 +00:00
Hiroshi Inoue 3fcea502c4 Fix a wrong error handling. 2001-08-28 05:52:13 +00:00
Tom Lane 9d4a45e25c Avoid #ifdef inside printf() ... that loses on platforms where printf()
is a macro.
2001-08-28 02:47:18 +00:00
Tom Lane 7d66bf261c Add some minimal exercising of functional-index feature to regression
tests.
2001-08-27 23:23:35 +00:00
Tom Lane c92b450891 Suppress definitions of 'true' and 'false' macros if __cplusplus.
Since we're assuming a C++ compiler knows what 'bool' is, seems we
should assume it knows 'true' and 'false' too.  This prevents problems
on some systems, per report from Leandro Fanzone.
2001-08-27 23:02:25 +00:00
Tom Lane 814f40cf43 Use a cursor for fetching data in -d or -D mode, so that pg_dump doesn't
run out of memory with large tables in these modes.  Patch from
Martijn van Oosterhout.
2001-08-27 20:33:07 +00:00
Tom Lane 545c6696a6 Fix confusion over static-ness of a subroutine. 2001-08-27 20:03:38 +00:00
Tom Lane 5163394659 Remove unneeded/unportable extern. 2001-08-27 20:02:10 +00:00
Tom Lane d15a118a21 Quick-hack solution to regproc/oid issue was not the right solution. 2001-08-27 01:09:59 +00:00
Tom Lane ceca2a7d14 Un-break pg_dump --- pg_class.indproc is now regproc not oid, which
for some reason displays a zero oid differently.  Possibly we should
revert that schema change, but it's easy to make pg_dump accept both
spellings so I'll do that for now.
2001-08-27 00:44:40 +00:00
Peter Eisentraut 87c5e0fa56 Do not install the odbc header files, per discussion on odbc list. 2001-08-27 00:38:55 +00:00
Peter Eisentraut 42ae4f2940 Turn on plpython build by default if we have something that looks like a
shared library, or we can do without one.
2001-08-27 00:29:49 +00:00
Hiroshi Inoue af70014686 Fix a complie error on Windows platform. 2001-08-27 00:18:03 +00:00
Peter Eisentraut 34fd50880f VPATH and DESTDIR support for PL/Perl, using the same techniques employed
in interfaces/perl5 a brief while ago.

Also, since building PL/Perl without a shared libperl actually works on
some platforms we can enable it there to get some development happening.
I've only checked off linux right now, but others should be added in the
future.
2001-08-26 23:54:41 +00:00
Peter Eisentraut ef7152f99b Put the right runpath to libpq into the Perl module shared object on more
platforms and without relinking.

Also support VPATH builds and DESTDIR installs.  One hopes.
2001-08-26 22:28:04 +00:00
Bruce Momjian 3d162c0d1a Please pull this patch. It breaks JDBC1 support. The JDBC1 code no
longer compiles, due to objects being referenced in this patch that do
not exist in JDK1.1.

Barry Lind
---------------------------------------------------------------------------

The JDBC driver requires

  permission java.net.SocketPermission "host:port", "connect";

in the policy file of the application using the JDBC driver
in the postgresql.jar file.  Since the Socket() call in the
driver is not protected by AccessController.doPrivileged() this
permission must also be granted to the entire application.
2001-08-26 17:08:48 +00:00
Tom Lane bc7d37a525 Transaction IDs wrap around, per my proposal of 13-Aug-01. More
documentation to come, but the code is all here.  initdb forced.
2001-08-26 16:56:03 +00:00
Bruce Momjian e87a5ed1e0 Add single-letter encryption options for createuser. Update createuser --help. 2001-08-26 04:19:46 +00:00
Bruce Momjian 5863d541ae Put createuser ENCRYPTED/UNENCRYPTED in the proper place in the query. 2001-08-26 03:46:58 +00:00
Bruce Momjian 19a251d0ec >>>>The JDBC driver requires
>>>>
>>>> permission java.net.SocketPermission "host:port", "connect";
>>>>
>>>>in the policy file of the application using the JDBC driver
>>>>in the postgresql.jar file.  Since the Socket() call in the
>>>>driver is not protected by AccessController.doPrivileged() this
>>>>permission must also be granted to the entire application.
>>>>
>>>>The attached diff fixes it so that the connect permission can be
>>>>restricted just the the postgresql.jar codeBase if desired.

David Daney
2001-08-26 01:06:20 +00:00
Bruce Momjian 1be615f381 Here is a patch to the resultmap to make the regression tests work on
OU8.

Larry Rosenman
2001-08-26 00:55:15 +00:00
Bruce Momjian f478692552 The attached file: SerializePatch2.tgz, contains a patch for
org.postgresql.util.Serialize and org.postgresql.jdbc2.PreparedStatement
that  fixes the ability to "serialize" a simple java class into a
postgres table.

The current cvs seems completely broken in this support, so the patch
puts it  into working condition, granted that there are many limitations
with  serializing java classes into Postgres.

The code to do serialize appears to have been in the driver since
Postgres  6.4, according to some comments in the source.  My code is not
adding any  totally new ability to the driver, rather just fixing what
is there so that  it actually is usable.  I do not think that it should
affect any existing  functions of the driver that people regularly
depend on.

The code is activated if you use jdbc2.PreparedStatement and try to
setObject  some java class type that is unrecognized, like not String or
not some other  primitive type.  This will cause a sequence of function
calls that results in  an instance of Serialize being instantiated for
the class type passed.  The  Serialize constructor will query pg_class
to see if it can find an existing  table that matches the name of the
java class. If found, it will continue and  try to use the table to
store the object, otherwise an SQL exception is  thrown and no harm is
done.  Serialize.create() has to be used to setup the  table for a java
class before anything can really happen with this code other  than an
SQLException (unless by some freak chance a table exists that it  thinks
it can use).

I saw a difference in Serialize.java between 7.1.3 and 7.2devel that I
didn't  notice before, so I had to redo my changes from the 7.2devel
version (why I  had to resend this patch now).  I was missing the
fixString stuff, which is  nice and is imporant to ensure the inserts
will not fail due to embedded  single quote or unescaped backslashes. I
changed that fixString function in  Serialize just a little since there
is no need to muddle with escaping  newlines: only escaping single quote
and literal backslashes is needed.  Postgres appears to insert newlines
within strings without trouble.
2001-08-26 00:54:42 +00:00
Tom Lane ca86791a61 Fix portability problem in new CLOG code, per report from Rene Pijlman. 2001-08-25 23:24:39 +00:00
Bruce Momjian a263e39bec Re-apply Array.java patch to new Array.java file to fix compile. 2001-08-25 21:08:24 +00:00
Tom Lane 2589735da0 Replace implementation of pg_log as a relation accessed through the
buffer manager with 'pg_clog', a specialized access method modeled
on pg_xlog.  This simplifies startup (don't need to play games to
open pg_log; among other things, OverrideTransactionSystem goes away),
should improve performance a little, and opens the door to recycling
commit log space by removing no-longer-needed segments of the commit
log.  Actual recycling is not there yet, but I felt I should commit
this part separately since it'd still be useful if we chose not to
do transaction ID wraparound.
2001-08-25 18:52:43 +00:00
Bruce Momjian 4699d81dc9 Add ENCRYPTED/UNENCRYPTED control in createuser script. 2001-08-25 17:46:11 +00:00
Bruce Momjian 0927d9929a Add MD5 to win32.mak 2001-08-25 03:01:26 +00:00
Bruce Momjian 46d7ae759b Add intended Array.java file that accidentally was patched into the
wrong directory.
2001-08-25 01:35:45 +00:00
Peter Eisentraut d39ec83cc2 update from Serguei Mokhov 2001-08-25 01:13:29 +00:00
Peter Eisentraut d374e06905 Hide backend debug output in initdb by default. To that end, the bootstrap
backend gets on -o option like the regular backend.
2001-08-25 00:31:17 +00:00
Peter Eisentraut f5cda6d3f3 c.h needs to include postgres_ext.h to be self-contained. 2001-08-24 22:46:28 +00:00
Peter Eisentraut ae05b2fd43 Missed this part in pg_config.h rename. 2001-08-24 22:42:28 +00:00
Peter Eisentraut 7e20c35e1c Add ecpg --help and --version. Renumber the exit status codes, which were
documented wrong.
2001-08-24 22:37:36 +00:00
Peter Eisentraut 9cf701f324 Start adding some more documentation about the number types. Make
bigserial and alias for serial8 for consistency with bigint/int8.
2001-08-24 20:03:45 +00:00
Bruce Momjian e8cb935921 Reverse sense of comparison in psql socket test, per Tom Lane. 2001-08-24 19:59:54 +00:00
Bruce Momjian 4142769257 There are two problems when compiling libpq.dll and psql.exe
on Windows. I'm not sure it is the best way to fix them
(see patch below.)

Mikhail Terekhov with mods by Tom Lane
2001-08-24 16:59:10 +00:00
Bruce Momjian 76a6da8a1b Attached is a patch to fix the current issues with building under jdbc1.
This patch moves the logic that looks up TypeOid, PGTypeName, and
SQLTypeName from Field to Connection.  It is moved to connection since
it needs to differ from the jdbc1 to jdbc2 versions and Connection
already has different subclasses for the two driver versions.  It also
made sense to move the logic to Connection as some of the logic was
already there anyway.

Barry Lind
2001-08-24 16:50:18 +00:00
Peter Eisentraut 968d7733a1 Rename config.h to pg_config.h and os.h to pg_config_os.h, fix a number of
places that were including the wrong files.
2001-08-24 14:07:50 +00:00
Tom Lane 7326e78c42 Ensure that all TransactionId comparisons are encapsulated in macros
(TransactionIdPrecedes, TransactionIdFollows, etc).  First step on the
way to transaction ID wrap solution ...
2001-08-23 23:06:38 +00:00
Tom Lane 5b2208a82e Allow the return value of an SQL function to be binary-compatible with
the declared result type, rather than requiring exact type match as
before.  Per pghackers discusssion of 14-Aug.
2001-08-23 00:49:46 +00:00
Peter Eisentraut 627c0d4472 Add option to output SET SESSION AUTHORIZATION commands rather than
\connect, to avoid possible password prompts and such, at the drawback of
having to have superuser access.
2001-08-22 20:23:24 +00:00
Peter Eisentraut a4cc5770ef remove no longer needed -Wno-error 2001-08-22 20:02:56 +00:00
Tom Lane a54075a6d6 Update GiST for new pg_opclass arrangement (finally a clean solution
for haskeytype).  Update GiST contrib modules too.  Add linear-time split
algorithm for R-tree GiST opclass.
From Oleg Bartunov and Teodor Sigaev.
2001-08-22 18:24:26 +00:00
Bruce Momjian ef80c87f60 Attached is a simple one line patch for the problem reported in the
following email.

 > > The problem:  When I call getBigDecimal() on a ResultSet, it
 > > sometimes throws an exception:
 > >
 > >   Bad BigDecimal 174.50
 > >     at org.postgresql.jdbc2.ResultSet.getBigDecimal(ResultSet.java:373)
 > >     at org.postgresql.jdbc2.ResultSet.getBigDecimal(ResultSet.java:984)
 > >     ...blah blah blah...
 > >   org.postgresql.util.PSQLException: Bad BigDecimal 174.50

Barry Lind
2001-08-22 13:20:06 +00:00
Bruce Momjian e8f7bfc095 Here's a resend of the patch.gz. I gunzip'ed it fine here
so it may be a transit problem.  Also removed the 'txt' suffix
in case that was confusing some transport layer trying to be
too inteligent for our own good.

This may have been because the Array.java class from the
previous patch didn't seem to have made it into the snapshot
build for some reason.  This patch should at least fix that issue.

Greg Zoller
2001-08-21 21:29:42 +00:00
Tom Lane b04e3a2575 Remove special-case treatment of all-zeroes MAC address, per today's
discussion in pgsql-general.
2001-08-21 21:23:21 +00:00
Bruce Momjian 5db5c2db61 > Ok, where's a "system dependent hack" :)
> It seems that win9x doesn't have the "netmsg.dll" so it defaults to "normal"
> FormatMessage.
> I wonder if one could load wsock32.dll or winsock.dll on those systems
> instead of netmsg.dll.
>
> Mikhail, could you please test this code on your nt4 system?
> Could someone else test this code on a win98/95 system?
>
> It works on win2k over here.

It works on win2k here too but not on win98/95 or winNT.
Anyway, attached is the patch which uses Magnus's my_sock_strerror
function (renamed to winsock_strerror). The only difference is that
I put the code to load and unload netmsg.dll in the libpqdll.c
(is this OK Magnus?).

Mikhail Terekhov
2001-08-21 20:39:54 +00:00
Tom Lane f933766ba7 Restructure pg_opclass, pg_amop, and pg_amproc per previous discussions in
pgsql-hackers.  pg_opclass now has a row for each opclass supported by each
index AM, not a row for each opclass name.  This allows pg_opclass to show
directly whether an AM supports an opclass, and furthermore makes it possible
to store additional information about an opclass that might be AM-dependent.
pg_opclass and pg_amop now store "lossy" and "haskeytype" information that we
previously expected the user to remember to provide in CREATE INDEX commands.
Lossiness is no longer an index-level property, but is associated with the
use of a particular operator in a particular index opclass.

Along the way, IndexSupportInitialize now uses the syscaches to retrieve
pg_amop and pg_amproc entries.  I find this reduces backend launch time by
about ten percent, at the cost of a couple more special cases in catcache.c's
IndexScanOK.

Initial work by Oleg Bartunov and Teodor Sigaev, further hacking by Tom Lane.

initdb forced.
2001-08-21 16:36:06 +00:00
Bruce Momjian c2d1566912 Move WAL params higher in file, next to fsync option. 2001-08-21 16:31:23 +00:00
Peter Eisentraut 1837f8cbdf Add -Wno-error because of "unclean" flex output. 2001-08-21 16:25:21 +00:00
Bruce Momjian 253ade2cfe Regroup GEQO configs. 2001-08-21 16:15:31 +00:00
Bruce Momjian 8dbaca424f Fix SCM_CREDS for FreeBSD, from Teodor Sigaev. 2001-08-21 15:49:17 +00:00
Bruce Momjian 2a9bfb1f0d Add new jdbc array file. 2001-08-21 15:26:55 +00:00
Bruce Momjian f00caec541 Add ECPGd_cardinality to end of enum list so ecpg compiles. 2001-08-21 15:24:07 +00:00
Bruce Momjian 9bee8a1fd9 Add missing include for SCM_CREDS. 2001-08-21 15:21:25 +00:00
Bruce Momjian ca66b2370a Fix SO_PEERCRED printf bug added with SCM_CREDS cleanup. 2001-08-21 14:48:19 +00:00
Hiroshi Inoue c2f5d08c11 Fix a lot of compile errors on unix.
Fix '\\' handling for bytea type.
2001-08-21 05:21:09 +00:00
Bruce Momjian 44ae35cab9 >
> Shouldn't
>
>    throw new PSQLException("metadata unavailable");
>
> in getTypeInfo() be something like:
>
>    throw new PSQLException("postgresql.meta.unavailable");
>
> to allow translation of the error message in the
> errors*.properties files?

You're right. Attached is an updated patch that also includes a message
in error.properties. I've attempted a French message in
errors_fr.properties but beware that I haven't written French in quite a
few years. Don't know Italian, German, or Dutch so I can't do those.

Liam Stewart
2001-08-21 00:37:23 +00:00
Bruce Momjian bca9d0cdf4 Add SCM_CREDS to get owner of unix-domain socket on BSD-like systems. 2001-08-21 00:33:28 +00:00
Peter Eisentraut 30c975e2cb One more round of translations and slight message tweaks 2001-08-19 22:17:03 +00:00
Michael Meskes db07a3f47f - Synced preproc.y with gram.y.
- Include some patches by Christof Petig <christof.petig@wtal.de>.
2001-08-19 09:21:45 +00:00
Hiroshi Inoue 0c439e5ef6 1) Change all internal SQL function calls from
SQLxxxx() to PGAPI_xxxx().
2) Handle an escaped date/time format as a parameter.
3) Improve the tuple allocation a little.
4) The preparation of ODBC 3.0 a little.
5) Updatable cursors(may be deprecated before long).
2001-08-18 04:30:47 +00:00
Hiroshi Inoue 58d4f951ea Ensure to hold an exclusive lock while reindexing a relation.
This is mainly to help developers to understand the code.
2001-08-17 23:50:00 +00:00
Bruce Momjian 9df188bc0d A little more code reorg for MD5/crypt. 2001-08-17 15:44:17 +00:00
Bruce Momjian 0a3094b6f3 Reorder MD5/crypt so MD5 comes first in the code. 2001-08-17 15:40:07 +00:00
Bruce Momjian 2637f887e7 Remove some unneeded dashes from libpq comments. 2001-08-17 15:11:15 +00:00
Bruce Momjian 27c272917a Add \n to libpq print output where needed. 2001-08-17 15:02:18 +00:00
Bruce Momjian 955040943a This patch updates some comments in the DatabaseMetaData classes to
reflect a mail thread that discussed our conformance (or lack thereof)
to the SQL92 spec.

Barry Lind
2001-08-17 14:46:22 +00:00
Bruce Momjian a21c096058 Thanks for your feedback (and patience). Enclosed is my third
attempt at a patch to 7.1.2 to support Array.

[I think I've solved the mangled patch problem.  Hotmail seems to
try to format the text file, so gzipping it should solve this
problem.]

In this patch I've incorporated Barry's feedback.  Specifically:

1)  OIDs are no longer hard-coded into Array.java.  In order to
    support this change I added a getOID(String) method to Field.java
    which receives a PostgreSQL field type and returns a value from
    java.sql.Types.  I couldn't get away from using OIDs altogether
    because the JDBC spec for Array specifies that some methods return
    a ResultSet.  This requires I construct Field objects,
    which means I need OIDs.  At least this approach doesn't hard
    code these values.  A Hashtable cache has been added to Field
    so that an SQL lookup isn't necessary (following the model already
    in Field.java).

2)  Rewired the base formatting code in ResultSet.java to use 'to'
    methods, which are then exposed as static methods in ResultSet.
    These methods are used in Array to format the data without
    duplications in the code.

3)  Artifact call to first() in ResultSet.getArray() removed.

Greg Zoller
2001-08-17 14:45:49 +00:00
Bruce Momjian 1ebbfc150a Attached is the patch requested by Tom Lane (see below). It
includes two changes in the JDBC driver:

1) When connected to a backend >= 7.2: use obj_description() and
col_description() instead of direct access to pg_description.

2) In DatabaseMetaData.getTables()/getColumns()/getProcedures():
when there is no comment on the object, return null in the
REMARKS column of the ResultSet, instead of the default string
"no remarks".

Change 2 first appeared as a side-effect of change 1, but it is
actually more compliant with the JDBC spec: "String object
containing an explanatory comment on the table/column/procedure,
which may be null". The default string "no remarks" was strictly
speaking incorrect, as it could not be distinguished from a real
user comment "no remarks". So I removed the default string
completely.

Change 2 might break existing code that doesn't follow the JDBC
spec and isn't prepared to handle a null in the REMARKS column
of getTables()/getColumns()/getProcedures.

Patch tested with jdbc2 against both a 7.1 and a CVS tip
backend. I did not have a jdbc1 environment to build and test
with, but since the touched code is identical in jdbc1 and jdbc2
I don't foresee any problems.

Regards,
Ren? Pijlman
2001-08-17 13:59:29 +00:00
Bruce Momjian b5453fae74 Force crypt() salt to be null-terminated. 2001-08-17 03:09:31 +00:00
Bruce Momjian da45a0bdb7 Add 4-byte MD5 salt. 2001-08-17 02:59:20 +00:00
Bruce Momjian 31874ad39b Update list of files to update. 2001-08-16 21:53:27 +00:00
Tom Lane d4f4b971a4 Sequences are now based on int8, not int4, arithmetic. SERIAL pseudo-type
has an alias SERIAL4 and a sister SERIAL8.  SERIAL8 is just the same
except the created column is type int8 not int4.
initdb forced.  Note this also breaks any chance of pg_upgrade from 7.1,
unless we hack up pg_upgrade to drop and recreate sequences.  (Which is
not out of the question, but I don't wanna do it.)
2001-08-16 20:38:56 +00:00
Bruce Momjian bcb0ccf5be Add new MD5 pg_hba.conf keyword. Prevent fallback to crypt. 2001-08-16 16:24:16 +00:00
Bruce Momjian f7eedfdff2 This patch fixes the well-known but unfixed bug that fetchone() always returns
the first result in the DB-API compliant wrapper. It turned out that the bug
was way down in the C code.

Gerhard Häring
2001-08-16 15:21:16 +00:00
Bruce Momjian cd6868176e Remove protocol version change. Try MD5 first, then crypt() on all clients. 2001-08-16 04:27:18 +00:00
Bruce Momjian 368e87e6ae Use malloc/palloc as appropriate. 2001-08-15 23:22:49 +00:00
Bruce Momjian d4fb1b2388 Move md5.h contents to crypt.h. 2001-08-15 21:08:21 +00:00
Bruce Momjian 957613be18 Add new files. 2001-08-15 18:42:55 +00:00
Bruce Momjian 38bb1abcda Use MD5 for wire protocol encryption for >= 7.2 client/server.
Allow pg_shadow to be MD5 encrypted.
Add ENCRYPTED/UNENCRYPTED option to CREATE/ALTER user.
Add password_encryption postgresql.conf option.
Update wire protocol version to 2.1.
2001-08-15 18:42:16 +00:00
Tatsuo Ishii ab9b6c45cf Add conver/convert2 functions. They are similar to the SQL99's convert. 2001-08-15 07:07:40 +00:00
Tom Lane 5f7c2bdb53 sum() on int2 and int4 columns now uses an int8, not numeric, accumulator
for speed reasons; its result type also changes to int8.  avg() on these
datatypes now accumulates the running sum in int8 for speed; but we still
deliver the final result as numeric, so that fractional accuracy is
preserved.

count() now counts and returns in int8, not int4.  I am a little nervous
about this possibly breaking users' code, but there didn't seem to be
a strong sentiment for avoiding the problem.  If we get complaints during
beta, we can change count back to int4 and add a "count8" aggregate.
For that matter, users can do it for themselves with a simple CREATE
AGGREGATE command; the int4inc function is still present, so no C hacking
is needed.

Also added max() and min() aggregates for OID that do proper unsigned
comparison, instead of piggybacking on int4 aggregates.

initdb forced.
2001-08-14 22:21:59 +00:00
Tom Lane 4bc9f5e9ba Fix brokenness of nested EXCEPT/INTERSECT queries. prepunion was being
a tad sloppy about generating the targetlist for some nodes, by generating
a tlist entry that claimed to be a constant when the value wasn't actually
constant.  This caused setrefs.c to do the wrong thing later on.
2001-08-14 17:12:57 +00:00
Peter Eisentraut ee8ed85da3 Make LANCOMPILER clause in CREATE LANGUAGE optional. Allow "identifier"
syntax for language names (instead of 'string').

createlang now handles the case where a second language uses the same call
handler as an already installed language (e.g., plperl/plperlu).

droplang now handles the reverse case, i.e., dropping a language where
the call handler is still used by another language.  Moreover, droplang
can now be used to drop any user-defined language, not just the supplied
ones.
2001-08-13 21:34:54 +00:00
Tom Lane 38cfc95865 Make hashjoin give the right answer with toasted input data. 2001-08-13 19:50:11 +00:00
Tom Lane 95f8901a96 Add comparison operators and btree indexing support for type bytea.
From Joe Conway.
2001-08-13 18:45:36 +00:00
Tom Lane 1b5cffacdf Make ALTER TABLE RENAME on a view rename the view's on-select rule too.
Needed to keep pg_dump from getting confused.
2001-08-12 21:35:19 +00:00
Peter Eisentraut a0c449a0f8 Make pg_dump handle the new privileges.
Don't hardcode the maximum accepted server version, use PG_VERSION instead.
Install a notice processor so notices are handled like error messages.
Word smithing.
2001-08-12 19:02:39 +00:00
Peter Eisentraut f419de8a7f Clean up some warnings and bugs and make things build easier. 2001-08-11 10:52:09 +00:00
Tom Lane dfb8e3f115 CREATE VIEW with optional column name list wasn't quite right for the
case where there are resjunk columns in the query.
2001-08-11 00:02:13 +00:00
Tom Lane 458bc44571 Revert removal of relhaspkey support; fix unnecessary use of pg_index.oid. 2001-08-10 23:29:46 +00:00
Tom Lane 135dea6322 Since PQoidStatus is deprecated, we should probably stop using it in
our own code ...
2001-08-10 22:50:10 +00:00
Peter Eisentraut 633b5d5653 update 2001-08-10 20:58:09 +00:00
Tom Lane ef6ccb0bcc Cleanup some minor oversights in optional-OIDs stuff. 2001-08-10 20:52:25 +00:00
Tom Lane bf56f0759b Make OIDs optional, per discussions in pghackers. WITH OIDS is still the
default, but OIDS are removed from many system catalogs that don't need them.
Some interesting side effects: TOAST pointers are 20 bytes not 32 now;
pg_description has a three-column key instead of one.

Bugs fixed in passing: BINARY cursors work again; pg_class.relhaspkey
has some usefulness; pg_dump dumps comments on indexes, rules, and
triggers in a valid order.

initdb forced.
2001-08-10 18:57:42 +00:00
Tom Lane d062f0f4e9 Fix collateral damage from error message cleanup. 2001-08-10 18:40:53 +00:00
Peter Eisentraut 8265769c82 message refinements 2001-08-10 15:49:39 +00:00
Bruce Momjian 454f44e8e3 Attached is a patch to remove some redundant code in the JDBC driver.
* Merges identical code from org.postgresql.jdbc[1|2].Statement into
  org.postgresql.Statement.
* Moves escapeSQL() method from Connection to Statement (the only place
  it's used)
* Minor cleanup of the new isolation level stuff.
* Minor cleanup of version string handling.

Anders Bengtsson
2001-08-10 14:42:07 +00:00
Bruce Momjian 13923be7c8 1. null-safe interface to GiST
(as proposed in http://fts.postgresql.org/db/mw/msg.html?mid=1028327)

2. support for 'pass-by-value' arguments - to test this
   we used special opclass for int4 with values in range [0-2^15]
   More testing will be done after resolving problem with
   index_formtuple and implementation of B-tree using GiST

3. small patch to contrib modules (seg,cube,rtree_gist,intarray) -
   mark functions as 'isstrict' where needed.

Oleg Bartunov
2001-08-10 14:34:28 +00:00
Bruce Momjian 77a69a2ed1 Patch to LOCK multiple tables in one LOCK command.
Neil Padgett
2001-08-10 14:30:15 +00:00
Hiroshi Inoue a9d67d0fa7 Add new files for the preparation. 2001-08-10 01:24:15 +00:00
Peter Eisentraut 9c90a2b045 This should be the right expected file. 2001-08-09 21:03:11 +00:00
Peter Eisentraut 2e57875b97 Use format_type sibling in backend error messages, so the user sees
consistent type naming.
2001-08-09 18:28:18 +00:00
Peter Eisentraut 51e8dfddf1 No longer a need for -Wno-error 2001-08-09 18:13:23 +00:00
Bruce Momjian 5ee371d8f3 Update branding for 7.1.3, no HISTORY yet. 2001-08-09 16:38:59 +00:00
Tom Lane de4dc29a20 Fix Cygwin build, per Jason Tishler. 2001-08-09 13:52:06 +00:00
Tom Lane 50982933f8 Add TOAST table to the set of relkinds known to \d. 2001-08-09 03:32:16 +00:00
Peter Eisentraut f7b7b0399c 0 -> O 2001-08-08 13:30:20 +00:00
Bruce Momjian fb5b85a8f2 I think you replaced too many things with put(...
Here is a context diff from latest cvs

And I see why you couldn't apply the last diff, the setCatalog diff has
been backed out, that was causing the compile problem in the first
place.

This following one needs to be applied to allow the current cvs to
compile

Dave Cramer
2001-08-07 17:45:29 +00:00
Bruce Momjian 1b2d57dc83 A small patch to keep postgres working on the latest BeOS.
Cyril VELTER
2001-08-07 16:56:17 +00:00
Tom Lane 0bc291e03c Fix thinko (revealed by gcc warning). 2001-08-07 15:55:16 +00:00
Peter Eisentraut 7739cde4f6 Russian translation by Serguei Mokhov 2001-08-07 11:41:17 +00:00
Peter Eisentraut 957eea278e Czech translation for psql from Karel Zak 2001-08-07 11:28:18 +00:00
Peter Eisentraut 50036e85b3 Add a check for end of client connection before expecting a password
response, to avoid noise in the server log.
2001-08-07 10:44:16 +00:00
Tom Lane 2f4759d5ce Doesn't seem to be much point in keeping this README up to date anymore,
since it's completely redundant with regress.sgml.  I think we agreed to
remove it awhile back, actually, but no one got around to doing it.
2001-08-06 22:55:00 +00:00
Peter Eisentraut bf51b8608b Use a fixed error message for ERANGE to avoid duplicate test result files.
Add some resultmap entries for SCO OpenServer.
2001-08-06 21:55:16 +00:00
Tom Lane 80185f4b5b Seems like a bad idea to free() a string we are about to use in an
error message.
2001-08-06 18:17:42 +00:00
Tom Lane 246793469e Modify partial-index-predicate applicability tester to test whether
clauses are equal(), before trying to match them up using btree opclass
inference rules.  This allows it to recognize many simple cases involving
non-btree operations, for example 'x IS NULL'.  Clean up code a little.
2001-08-06 18:09:45 +00:00
Tom Lane 7d6fbe15a2 Evaluate LIMIT/OFFSET expressions with ExecEvalExprSwitchContext, not
ExecEvalExpr, to avoid possible memory leak.
2001-08-06 18:05:07 +00:00
Peter Eisentraut f487e3da68 Check that the data directory does not have group or world access; remove
a similar check on postgresql.conf.
2001-08-06 13:45:15 +00:00
Bruce Momjian 46e252141b Add QueryIsRule gram.y reset. 2001-08-06 05:42:48 +00:00
Tom Lane 172ef1632e Surely the pg_stat interrogation functions must not be marked proiscachable. 2001-08-06 01:25:32 +00:00
Tom Lane 4cba72ccc8 Show index predicate when doing \d on a partial index. 2001-08-05 22:13:46 +00:00