]> granicus.if.org Git - postgresql/log
postgresql
23 years agoUpdate TODO list.
Bruce Momjian [Sat, 20 Jan 2001 04:57:11 +0000 (04:57 +0000)]
Update TODO list.

23 years agoAdd.
Bruce Momjian [Sat, 20 Jan 2001 04:46:46 +0000 (04:46 +0000)]
Add.

23 years agoUpdate TODO list.
Bruce Momjian [Sat, 20 Jan 2001 04:46:04 +0000 (04:46 +0000)]
Update TODO list.

23 years agoMove anoncvs to top of docs, then put cvs tree. Hope that is OK. Seems
Bruce Momjian [Sat, 20 Jan 2001 04:16:55 +0000 (04:16 +0000)]
Move anoncvs to top of docs, then put cvs tree.  Hope that is OK.  Seems
more logical.

23 years agoAdd missing piece of BitString support to node output functions. Expand
Peter Eisentraut [Sat, 20 Jan 2001 00:15:59 +0000 (00:15 +0000)]
Add missing piece of BitString support to node output functions.  Expand
and remove IsA_Value macro.

23 years agoIn the Programmer's Guide, the sample code for accessing large objects
Bruce Momjian [Sat, 20 Jan 2001 00:05:54 +0000 (00:05 +0000)]
In the Programmer's Guide, the sample code for accessing large objects
from libpq has two functions with memory leaks.

The functions pickout() and overwrite() malloc space for buf which is
never freed.

See
http://www.postgresql.org/users-lounge/docs/7.0/programmer/largeobjects3207.htm

This problem is also in the 6.5 docs at
http://www.postgresql.org/users-lounge/docs/6.5/programmer/x3184.htm

Nishad Prakash

23 years agoStill further tweaking of s_lock assembler: do not assume that leading
Tom Lane [Sat, 20 Jan 2001 00:03:55 +0000 (00:03 +0000)]
Still further tweaking of s_lock assembler: do not assume that leading
whitespace is unimportant in assembly code.  Also, move VAX definition
of typedef slock_t to port header files to be like all the other ports.
Note that netbsd.h and openbsd.h are now identical, and I rather think
that freebsd.h is broken in the places where it doesn't agree --- but
I'll leave it to the freebsders to look at that.

23 years agoFrom Jason Tishler <jt@dothill.com>
Peter Eisentraut [Fri, 19 Jan 2001 23:43:36 +0000 (23:43 +0000)]
From Jason Tishler <jt@dothill.com>

* doc/FAQ_MSWIN: Update to be consistent with software -- mainly change
comment from lack of Cygwin UNIX domain socket support and to list of
current Cygwin UNIX domain socket issues.
* src/include/config.h.in: Enable UNIX domain sockets for Cygwin.
* src/include/port/win.h: Disable UNIX domain sockets for Cygwin b20.1.
* src/test/regress/pg_regress.sh: Use UNIX domain sockets for Cygwin
instead of TCP/IP.

23 years agoAdd.
Bruce Momjian [Fri, 19 Jan 2001 22:34:45 +0000 (22:34 +0000)]
Add.

23 years agoMake critical sections (elog->crash) and interrupt holdoff sections
Tom Lane [Fri, 19 Jan 2001 22:08:47 +0000 (22:08 +0000)]
Make critical sections (elog->crash) and interrupt holdoff sections
into distinct concepts, per recent discussion on pghackers.

23 years agocleanup.
Bruce Momjian [Fri, 19 Jan 2001 21:09:57 +0000 (21:09 +0000)]
cleanup.

23 years agoRemove ; and add \n to ASM code.
Bruce Momjian [Fri, 19 Jan 2001 20:39:16 +0000 (20:39 +0000)]
Remove ; and add \n to ASM code.

23 years agoupdate
Bruce Momjian [Fri, 19 Jan 2001 19:50:04 +0000 (19:50 +0000)]
update

23 years agoUpdate to reality.
Peter Eisentraut [Fri, 19 Jan 2001 19:43:27 +0000 (19:43 +0000)]
Update to reality.

23 years agoMake pqexpbuffer a little more robust, per bug report from Heinz Ekker.
Tom Lane [Fri, 19 Jan 2001 19:39:23 +0000 (19:39 +0000)]
Make pqexpbuffer a little more robust, per bug report from Heinz Ekker.

23 years agoRepair circular dependencies and broken clean commands.
Peter Eisentraut [Fri, 19 Jan 2001 19:15:33 +0000 (19:15 +0000)]
Repair circular dependencies and broken clean commands.

23 years agoChange
Peter Eisentraut [Fri, 19 Jan 2001 19:06:48 +0000 (19:06 +0000)]
Change
#! /usr/local/bin/perl -w
to
#! /usr/bin/perl

The path is probably more portable, and the -w was kind of silly for a six
line script that produces two warnings as it stands.

23 years agoChange
Peter Eisentraut [Fri, 19 Jan 2001 18:35:40 +0000 (18:35 +0000)]
Change
#! /usr/local/bin/python
to
#! /usr/bin/env python
which is the recommended way.

23 years agoAdd email.
Bruce Momjian [Fri, 19 Jan 2001 18:19:34 +0000 (18:19 +0000)]
Add email.

23 years agoAdd more about LRU-2.
Bruce Momjian [Fri, 19 Jan 2001 18:00:22 +0000 (18:00 +0000)]
Add more about LRU-2.

23 years agoAdd to optimizer file.
Bruce Momjian [Fri, 19 Jan 2001 16:54:31 +0000 (16:54 +0000)]
Add to optimizer file.

23 years agoUpdate TODO list.
Bruce Momjian [Fri, 19 Jan 2001 16:54:01 +0000 (16:54 +0000)]
Update TODO list.

23 years agoUpdate TODO list.
Bruce Momjian [Fri, 19 Jan 2001 16:34:14 +0000 (16:34 +0000)]
Update TODO list.

23 years ago> > I have attached a simple change to src/pl/plperl/plperl.c to
Bruce Momjian [Fri, 19 Jan 2001 16:14:36 +0000 (16:14 +0000)]
> > I have attached a simple change to src/pl/plperl/plperl.c to
> > enable the :bash_math opcodes.  Currently plperl.c only
> > enables the :default opcodes.  This leave out about five of six
> > math functions including sqrt().

Travis Bauer

23 years agoFri Jan 19 08:47:00 GMT 2001 peter@retep.org.uk
Peter Mount [Fri, 19 Jan 2001 08:49:06 +0000 (08:49 +0000)]
Fri Jan 19 08:47:00 GMT 2001 peter@retep.org.uk
        - Applied patch submitted by John Schutz <schutz@austin.rr.com> that
          fixed a bug with ANT's SQL functions (not needed for building but nice
          to have fixed).

23 years agoFix alignment
Bruce Momjian [Fri, 19 Jan 2001 07:03:53 +0000 (07:03 +0000)]
Fix alignment

23 years agoFix univel asm alignment
Bruce Momjian [Fri, 19 Jan 2001 06:59:59 +0000 (06:59 +0000)]
Fix univel asm alignment

23 years agoSuppress compiler warning in MULTIBYTE code.
Tom Lane [Fri, 19 Jan 2001 06:57:25 +0000 (06:57 +0000)]
Suppress compiler warning in MULTIBYTE code.

23 years agoSuppress compiler warning in MULTIBYTE case.
Tom Lane [Fri, 19 Jan 2001 06:54:57 +0000 (06:54 +0000)]
Suppress compiler warning in MULTIBYTE case.

23 years agoSuppress unused-variable warning in non-Assert compilations.
Tom Lane [Fri, 19 Jan 2001 06:50:23 +0000 (06:50 +0000)]
Suppress unused-variable warning in non-Assert compilations.

23 years agoNew emails.
Bruce Momjian [Fri, 19 Jan 2001 05:09:47 +0000 (05:09 +0000)]
New emails.

23 years agoAdd to type conversion TODO emails.
Bruce Momjian [Fri, 19 Jan 2001 04:57:43 +0000 (04:57 +0000)]
Add to type conversion TODO emails.

23 years agoUpdate docs to explain that 7.1 locks down LC_COLLATE and LC_CTYPE at
Tom Lane [Fri, 19 Jan 2001 04:47:50 +0000 (04:47 +0000)]
Update docs to explain that 7.1 locks down LC_COLLATE and LC_CTYPE at
initdb time.  A few copy-editing cleanups, too.

23 years agoUpdate TODO list.
Bruce Momjian [Fri, 19 Jan 2001 04:07:58 +0000 (04:07 +0000)]
Update TODO list.

23 years agoAdd __volatile__ to all __asm__ and make consistent indenting
Bruce Momjian [Fri, 19 Jan 2001 03:58:35 +0000 (03:58 +0000)]
Add __volatile__ to all __asm__ and make consistent indenting

23 years agoNew ASM format:
Bruce Momjian [Fri, 19 Jan 2001 02:58:59 +0000 (02:58 +0000)]
New ASM format:

/*
 * Standard __asm__ format:
 *
 *  __asm__(
 *          "command;"
 *          "command;"
 *          "command;"
 *      :   "=r"(_res)          return value, in register
 *      :   "r"(lock)           argument, 'lock pointer', in register
 *      :   "r0");              inline code uses this register
 */

23 years agoUpdate TODO list.
Bruce Momjian [Fri, 19 Jan 2001 02:53:52 +0000 (02:53 +0000)]
Update TODO list.

23 years agoUpdate TODO list.
Bruce Momjian [Fri, 19 Jan 2001 02:05:51 +0000 (02:05 +0000)]
Update TODO list.

23 years agoFix VAX ASM '1 f' -> '1f'.
Bruce Momjian [Thu, 18 Jan 2001 23:40:26 +0000 (23:40 +0000)]
Fix VAX ASM '1 f' -> '1f'.

23 years agoOops. Remove extra semicolon in comment.
Bruce Momjian [Thu, 18 Jan 2001 19:12:36 +0000 (19:12 +0000)]
Oops.  Remove extra semicolon in comment.

23 years agoUpdate TODO list.
Bruce Momjian [Thu, 18 Jan 2001 18:52:20 +0000 (18:52 +0000)]
Update TODO list.

23 years agoComment out xlrec in xact_redo - no support for file unlinking on
Vadim B. Mikheev [Thu, 18 Jan 2001 18:33:45 +0000 (18:33 +0000)]
Comment out xlrec in xact_redo - no support for file unlinking on
commit yet.

23 years agoForgot to cvs add UpdateableResultSet.java ;-)
Peter Mount [Thu, 18 Jan 2001 17:38:50 +0000 (17:38 +0000)]
Forgot to cvs add UpdateableResultSet.java ;-)

23 years agoThu Jan 18 17:37:00 GMT 2001 peter@retep.org.uk
Peter Mount [Thu, 18 Jan 2001 17:37:15 +0000 (17:37 +0000)]
Thu Jan 18 17:37:00 GMT 2001 peter@retep.org.uk
        - Added new error message into errors.properties "postgresql.notsensitive"
          This is used by jdbc2.ResultSet when a method is called that should
          fetch the current value of a row from the database refreshRow() for
          example.
        - These methods no longer throw the not implemented but the new noupdate
          error. This is in preparation for the Updateable ResultSet support
          which will overide these methods by extending the existing class to
          implement that functionality, but needed to show something other than
          notimplemented:
            moveToCurrentRow()
            moveToInsertRow()
            rowDeleted()
            rowInserted()
            all update*() methods, except those that took the column as a String
            as they were already implemented to convert the String to an int.
        - getFetchDirection() and setFetchDirection() now throws
          "postgresql.notimp" as we only support one direction.
          The CursorResultSet will overide this when its implemented.
        - Created a new class under jdbc2 UpdateableResultSet which extends
          ResultSet and overides the relevent update methods.
          This allows us to implement them easily at a later date.
        - In jdbc2.Connection, the following methods are now implemented:
            createStatement(type,concurrency);
            getTypeMap();
            setTypeMap(Map);
        - The JDBC2 type mapping scheme almost complete, just needs SQLInput &
          SQLOutput to be implemented.
        - Removed some Statement methods that somehow appeared in Connection.
        - In jdbc2.Statement()
            getResultSetConcurrency()
            getResultSetType()
            setResultSetConcurrency()
            setResultSetType()
        - Finally removed the old 6.5.x driver.

23 years agoThu Jan 18 12:24:00 GMT 2001 peter@retep.org.uk
Peter Mount [Thu, 18 Jan 2001 14:50:15 +0000 (14:50 +0000)]
Thu Jan 18 12:24:00 GMT 2001 peter@retep.org.uk
        - These methods in org.postgresql.jdbc2.ResultSet are now implemented:
            getBigDecimal(int) ie: without a scale (why did this get missed?)
            getBlob(int)
            getCharacterStream(int)
            getConcurrency()
            getDate(int,Calendar)
            getFetchDirection()
            getFetchSize()
            getTime(int,Calendar)
            getTimestamp(int,Calendar)
            getType()
          NB: Where int represents the column name, the associated version
              taking a String were already implemented by calling the int
              version.
        - These methods no longer throw the not implemented but the new noupdate
          error. This is in preparation for the Updateable ResultSet support
          which will overide these methods by extending the existing class to
          implement that functionality, but needed to show something other than
          notimplemented:
            cancelRowUpdates()
            deleteRow()
        - Added new error message into errors.properties "postgresql.noupdate"
          This is used by jdbc2.ResultSet when an update method is called and
          the ResultSet is not updateable. A new method notUpdateable() has been
          added to that class to throw this exception, keeping the binary size
          down.
        - Added new error message into errors.properties "postgresql.psqlnotimp"
          This is used instead of unimplemented when it's a feature in the
          backend that is preventing this method from being implemented.
        - Removed getKeysetSize() as its not part of the ResultSet API

Thu Jan 18 09:46:00 GMT 2001 peter@retep.org.uk
        - Applied modified patch from Richard Bullington-McGuire
          <rbulling@microstate.com>. I had to modify it as some of the code
          patched now exists in different classes, and some of it actually
          patched obsolete code.

Wed Jan 17 10:19:00 GMT 2001 peter@retep.org.uk
        - Updated Implementation to include both ANT & JBuilder
        - Updated README to reflect the changes since 7.0
- Created jdbc.jpr file which allows JBuilder to be used to edit the
          source. JBuilder _CAN_NOT_ be used to compile. You must use ANT for
          that. It's only to allow JBuilders syntax checking to improve the
          drivers source. Refer to Implementation for more details

23 years agoFix some leaks(was my fault).
Hiroshi Inoue [Thu, 18 Jan 2001 07:29:04 +0000 (07:29 +0000)]
Fix some leaks(was my fault).

23 years agoFix up "Postgres-style" time interval representation when fields have
Thomas G. Lockhart [Thu, 18 Jan 2001 07:22:43 +0000 (07:22 +0000)]
Fix up "Postgres-style" time interval representation when fields have
 mixed-signs. Previous effort left way too many minus signs, and was at
 least as broken as the one before that :(
Clean up "ISO-style" time interval representation to omit zero fields if
 there is at least one non-zero field. Supress some leading plus signs
 when not necessary for clarity.
Replace every #ifdef __CYGWIN__ block with a cleaner TIMEZONE_GLOBAL macro
 defined in datetime.h.

23 years agoFix incorrect placeholder name in example.
Thomas G. Lockhart [Thu, 18 Jan 2001 07:18:39 +0000 (07:18 +0000)]
Fix incorrect placeholder name in example.

23 years agoAdd "--nodata" option to allow schema conversion only.
Thomas G. Lockhart [Thu, 18 Jan 2001 07:16:56 +0000 (07:16 +0000)]
Add "--nodata" option to allow schema conversion only.

23 years agoFix performance issue with qualifications on VIEWs: outer query should
Tom Lane [Thu, 18 Jan 2001 07:12:37 +0000 (07:12 +0000)]
Fix performance issue with qualifications on VIEWs: outer query should
try to push restrictions on the view down into the view subquery,
so that they can become indexscan quals or what-have-you rather than
being applied at the top level of the subquery.  7.0 and before were
able to do this, though in a much klugier way, and I'd hate to have
anyone complaining that 7.1 is stupider than 7.0 ...

23 years agoReplace contraction with long form. Cosmetic only.
Thomas G. Lockhart [Thu, 18 Jan 2001 07:11:36 +0000 (07:11 +0000)]
Replace contraction with long form. Cosmetic only.

23 years agoAdd "OK, OK, Hiroshi's right" thread.
Bruce Momjian [Thu, 18 Jan 2001 04:12:47 +0000 (04:12 +0000)]
Add "OK, OK, Hiroshi's right" thread.

23 years agoChange LockClassinfoForUpdate() to retry mark4update() in case
Hiroshi Inoue [Thu, 18 Jan 2001 04:01:42 +0000 (04:01 +0000)]
Change LockClassinfoForUpdate() to retry mark4update() in case
the tuple is already uodated. (If LockClassinfoForUpdate() is
thought to be useful).

23 years agoUpdate TODO list.
Bruce Momjian [Thu, 18 Jan 2001 03:15:55 +0000 (03:15 +0000)]
Update TODO list.

23 years agoUpdate TODO list.
Bruce Momjian [Thu, 18 Jan 2001 03:15:26 +0000 (03:15 +0000)]
Update TODO list.

23 years agoFunctions -> Function's
Bruce Momjian [Wed, 17 Jan 2001 22:13:33 +0000 (22:13 +0000)]
Functions -> Function's

23 years agoattached is a patch that makes SysV semaphore emulation
Bruce Momjian [Wed, 17 Jan 2001 22:11:19 +0000 (22:11 +0000)]
attached is a patch that makes SysV semaphore emulation
using POSIX semaphores more robust on Darwin 1.2/Mac OS X
Public Beta.  this is for the version of 7.1 available
via anon cvs as of Jan 14 2001 14:00 PST.

since the semaphores and shared memory created by this
emulator are shared with the backends via fork(), their
persistent names are not necessary.  removing their
names with shm_unlink() and sem_unlink() after creation
obviates the need for any "ipcclean" function.  further,
without these changes, the shared memory (and, therefore,
the semaphores) will not be re-initialized/re-created after
the first execution of the postmaster, until reboot
or until some (non-existent) ipcclean function is executed.

this patch does the following:

   1) if the shared memory segment "SysV_Sem_Info" already
      existed, it is cleaned up.  it shouldn't be there anyways.

   2) the real indicator for whether the shared memory/semaphore
      emulator has been initialized is if "SemInfo" has been
      initialized.  the shared memory and semaphores must be
      initialized regardless of whether there was a garbage shared
      memory segment lying around.

   3) the shared memory segment "SysV_Sem_Info" is created with "O_EXCL"
      to catch the case where two postmasters might be starting
      simultaneously, so they don't both end up with the same shared
      memory (one will fail).  note that this can't be done with the
      semaphores because Darwin 1.2 has a bug where attempting to
      open an existing semaphore with "O_EXCL" set will ruin the
      semaphore until the next reboot.

   4) the shared memory segment "SysV_Sem_Info" is unlinked after
      it is created.  it will then exist without a name until the
      postmaster and all backend children exit.
   5) all semaphores are unlinked after they are created.  they'll
      then exist without names until the postmaster and all backend
      children exit.

-michael thornburgh, zenomt@armory.com

23 years agoChange lcons(x, NIL) to makeList(x) where appropriate.
Bruce Momjian [Wed, 17 Jan 2001 17:26:45 +0000 (17:26 +0000)]
Change lcons(x, NIL) to makeList(x) where appropriate.

23 years agoChange comparisons of tm->tm_isdst from "nonzero" to "greater than zero".
Thomas G. Lockhart [Wed, 17 Jan 2001 16:46:56 +0000 (16:46 +0000)]
Change comparisons of tm->tm_isdst from "nonzero" to "greater than zero".
 Not sure why some were this way, and others were already correct, but it
 seems to have been like this for several years.
This caused problems on a few damaged platforms like AIX and IRIX which do
 not support DST calculations for years before 1970.
Thanks to Andreas Zeugswetter <ZeugswetterA@wien.spardat.at> for finding
 the problem.

23 years agoThere are misprints in postgres doc., in :
Bruce Momjian [Wed, 17 Jan 2001 16:34:34 +0000 (16:34 +0000)]
There are misprints in postgres doc., in :
Chapter 10. PL/pgSQL - SQL Procedural Language (c40914117.htm)

Statements
...
(resulting in a PL/pgSQL internal SELECT).
But there are cases where someone isn't interested int
-----------------------------------------(have to be)-->
But there are cases where someone isn't interested in
     the functions result.

 RAISE level format''
--(have to be)-->
 RAISE level 'format'

23 years agoMove structure comments from the top block down to the line entries for
Bruce Momjian [Wed, 17 Jan 2001 06:41:31 +0000 (06:41 +0000)]
Move structure comments from the top block down to the line entries for
this file to match all the other files, and to be clearer.

23 years agoRemove bogus backslashes in sed command.
Tom Lane [Tue, 16 Jan 2001 22:48:34 +0000 (22:48 +0000)]
Remove bogus backslashes in sed command.

23 years agoOops, I had managed to break query-cancel-while-waiting-for-lock.
Tom Lane [Tue, 16 Jan 2001 20:59:34 +0000 (20:59 +0000)]
Oops, I had managed to break query-cancel-while-waiting-for-lock.

23 years agoRename fields of lock and lockholder structures to something a tad less
Tom Lane [Tue, 16 Jan 2001 06:11:34 +0000 (06:11 +0000)]
Rename fields of lock and lockholder structures to something a tad less
confusing, and clean up documentation.

23 years agoShow intarray contrib module in contrib/README and Makefile.
Tom Lane [Mon, 15 Jan 2001 22:20:00 +0000 (22:20 +0000)]
Show intarray contrib module in contrib/README and Makefile.

23 years agoAdjust file names.
Peter Eisentraut [Mon, 15 Jan 2001 21:17:27 +0000 (21:17 +0000)]
Adjust file names.

23 years agoFix problems with parentheses around sub-SELECT --- for the last time,
Tom Lane [Mon, 15 Jan 2001 20:36:36 +0000 (20:36 +0000)]
Fix problems with parentheses around sub-SELECT --- for the last time,
I hope.  I finally realized that we were going at it backwards: when
there are excess parentheses, they need to be treated as part of the
sub-SELECT, not as part of the surrounding expression.  Although either
choice yields an unambiguous grammar, only this way produces a grammar
that is LALR(1).  With the old approach we were guaranteed to fail on
either 'SELECT (((SELECT 2)) + 3)' or
'SELECT (((SELECT 2)) UNION SELECT 2)' depending on which way we
resolve the initial shift/reduce conflict.  With the new way, the same
reduction track can be followed in both cases until we have advanced
far enough to know whether we are done with the sub-SELECT or not.

23 years agoTweak heap_update/delete so that we do not hold the buffer context lock
Tom Lane [Mon, 15 Jan 2001 05:29:19 +0000 (05:29 +0000)]
Tweak heap_update/delete so that we do not hold the buffer context lock
on the old tuple's page while we are doing TOAST pushups.

23 years agoMinor coding cleanups.
Tom Lane [Sun, 14 Jan 2001 22:21:54 +0000 (22:21 +0000)]
Minor coding cleanups.

23 years agoAnother go-round on making GetRawDatabaseInfo behave as well as it can,
Tom Lane [Sun, 14 Jan 2001 22:21:05 +0000 (22:21 +0000)]
Another go-round on making GetRawDatabaseInfo behave as well as it can,
given the fundamental restriction of not looking at transaction commit
data in pg_log.  Use code that is actually based on tqual.c rather than
ad-hoc tests.  Also write the tuple fetch loop using standard access
macros rather than ad-hoc code.

23 years agopg_database's datpath column must not be marked toastable, because
Tom Lane [Sun, 14 Jan 2001 22:17:22 +0000 (22:17 +0000)]
pg_database's datpath column must not be marked toastable, because
GetRawDatabaseInfo() won't cope with a compressed path spec (much less
a moved-off one).  I'm not going to force an initdb for this change,
because it's noncritical --- we're not actually using datpath at all
right now.  But it seems a good idea to apply the fix while I'm thinking
about it.

23 years agoNeed to do BufferSync at end of DROP DATABASE as well as CREATE DATABASE.
Tom Lane [Sun, 14 Jan 2001 22:14:10 +0000 (22:14 +0000)]
Need to do BufferSync at end of DROP DATABASE as well as CREATE DATABASE.
Otherwise, newly connecting backends will still think the deleted DB is
valid, and will generate unexpected error messages.

23 years agoMake aclcontains() do something that's at least vaguely reasonable:
Tom Lane [Sun, 14 Jan 2001 19:23:27 +0000 (19:23 +0000)]
Make aclcontains() do something that's at least vaguely reasonable:
it now returns true if the aclitem argument exactly matches any one of
the elements of the aclitem[] argument.  Per complaint from Wolff 1/10/01.

23 years agoRestructure backend SIGINT/SIGTERM handling so that 'die' interrupts
Tom Lane [Sun, 14 Jan 2001 05:08:17 +0000 (05:08 +0000)]
Restructure backend SIGINT/SIGTERM handling so that 'die' interrupts
are treated more like 'cancel' interrupts: the signal handler sets a
flag that is examined at well-defined spots, rather than trying to cope
with an interrupt that might happen anywhere.  See pghackers discussion
of 1/12/01.

23 years agoTerminology cleanup: class -> table, instance -> row, attribute -> column,
Peter Eisentraut [Sat, 13 Jan 2001 23:58:55 +0000 (23:58 +0000)]
Terminology cleanup: class -> table, instance -> row, attribute -> column,
etc.

23 years agoBacked out:
Bruce Momjian [Sat, 13 Jan 2001 18:52:42 +0000 (18:52 +0000)]
Backed out:

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

Attached is a set of patches for a couple of bugs dealing with
timestamps in JDBC.

Bug#1) Incorrect timestamp stored in DB if client timezone different
than DB.

23 years agoAdd information about bit types. Adjust some other things to promote
Peter Eisentraut [Sat, 13 Jan 2001 18:34:51 +0000 (18:34 +0000)]
Add information about bit types.  Adjust some other things to promote
SQL type names over internal type names.

23 years agoAttached is a set of patches for a couple of bugs dealing with
Bruce Momjian [Sat, 13 Jan 2001 05:18:05 +0000 (05:18 +0000)]
Attached is a set of patches for a couple of bugs dealing with
timestamps in JDBC.

Bug#1) Incorrect timestamp stored in DB if client timezone different
than DB.

The buggy implementation of setTimestamp() in PreparedStatement simply
used the toString() method of the java.sql.Timestamp object to convert
to a string to send to the database.  The format of this is yyyy-MM-dd
hh:mm:ss.SSS which doesn't include any timezone information.  Therefore
the DB assumes its timezone since none is specified.  That is OK if the
timezone of the client and server are the same, however if they are
different the wrong timestamp is received by the server.  For example if
the client is running in timezone GMT and wants to send the timestamp
for noon to a server running in PST (GMT-8 hours), then the server will
receive 2000-01-12 12:00:00.0 and interprete it as 2000-01-12
12:00:00-08 which is 2000-01-12 04:00:00 in GMT.  The fix is to send a
format to the server that includes the timezone offset.  For simplicity
sake the fix uses a SimpleDateFormat object with its timezone set to GMT
so that '+00' can be used as the timezone for postgresql.  This is done
as SimpleDateFormat doesn't support formating timezones in the way
postgresql expects.

Bug#2) Incorrect handling of partial seconds in getting timestamps from
the DB

When the SimpleDateFormat object parses a string with a format like
yyyy-MM-dd hh:mm:ss.SS it expects the fractional seconds to be three
decimal places (time precision in java is miliseconds = three decimal
places).  This seems like a bug in java to me, but it is unlikely to be
fixed anytime soon, so the postgresql code needed modification to
support the java behaviour.  So for example a string of '2000-01-12
12:00:00.12-08' coming from the database was being converted to a
timestamp object with a value of 2000-01-12 12:00:00.012GMT-08:00.  The
fix was to check for a '.' in the string and if one is found append on
an extra zero to the fractional seconds part.

Bug#3) Performance problems

In fixing the above two bugs, I noticed some things that could be
improved.  In PreparedStatement.setTimestamp(),
PreparedStatement.setDate(), ResultSet.getTimestamp(), and
ResultSet.getDate() these methods were creating a new SimpleDateFormat
object everytime they were called.  To avoid this unnecessary object
creation overhead, I changed the code to use static variables for
keeping a single instance of the needed formating objects.
Also the code used the + operator for string concatenation.  As everyone
should know this is very inefficient and the use of StringBuffers is
prefered.

I also did some cleanup in ResultSet.getTimestamp().  This method has
had multiple patches applied some of which resulted in code that was no
longer needed.  For example the ISO timestamp format that postgresql
uses specifies the timezone as an offset like '-08'.  Code was added at
one point to convert the postgresql format to the java one which is
GMT-08:00, however the old code was left around which did nothing.  So
there was code that looked for yyyy-MM-dd hh:mm:sszzzzzzzzz and
yyyy-MM-dd hh:mm:sszzz.  This second format would never be encountered
because zzz (i.e. -08) would be converted into the former (also note
that the SimpleDateFormat object treats zzzzzzzzz and zzz the same, the
number of z's does not matter).

There was another problem/fix mentioned on the email lists today by
mcannon@internet.com which is also fixed by this patch:

Bug#4) Fractional seconds lost when getting timestamp from the DB
A patch by Jan Thomea handled the case of yyyy-MM-dd hh:mm:sszzzzzzzzz
but not the fractional seconds version yyyy-MM-dd hh:mm:ss.SSzzzzzzzzz.

The code is fixed to handle this case as well.

Barry Lind

23 years agoMore cleanup.
Bruce Momjian [Sat, 13 Jan 2001 04:58:53 +0000 (04:58 +0000)]
More cleanup.

23 years agoRelax test on typmod matching between a table and its proposed ON SELECT
Tom Lane [Sat, 13 Jan 2001 03:58:28 +0000 (03:58 +0000)]
Relax test on typmod matching between a table and its proposed ON SELECT
rule.  Needed to avoid failure when reloading a 7.0 pg_dump of a view
that has a NUMERIC column.

23 years agoWindows wants shared libraries in PATH.
Peter Eisentraut [Sat, 13 Jan 2001 03:25:48 +0000 (03:25 +0000)]
Windows wants shared libraries in PATH.

23 years agocheck one last time for any erros ...
Marc G. Fournier [Sat, 13 Jan 2001 03:17:05 +0000 (03:17 +0000)]
check one last time for any erros ...

23 years agoNew shell for the to be written CHECKPOINT documentation, so the summary
Peter Eisentraut [Sat, 13 Jan 2001 03:11:12 +0000 (03:11 +0000)]
New shell for the to be written CHECKPOINT documentation, so the summary
shows up in psql now.

23 years agoignore his too
Marc G. Fournier [Sat, 13 Jan 2001 03:11:07 +0000 (03:11 +0000)]
ignore his too

23 years agoand this time?
Marc G. Fournier [Sat, 13 Jan 2001 03:09:43 +0000 (03:09 +0000)]
and this time?

23 years agotry this again ...
Marc G. Fournier [Sat, 13 Jan 2001 03:08:02 +0000 (03:08 +0000)]
try this again ...

23 years agoClean up garbage.
Peter Eisentraut [Sat, 13 Jan 2001 02:18:31 +0000 (02:18 +0000)]
Clean up garbage.

23 years agoSurely one README file is enough.
Peter Eisentraut [Sat, 13 Jan 2001 02:14:32 +0000 (02:14 +0000)]
Surely one README file is enough.

23 years agoUpdate pgcvslog to fix problem with duplicate narratives.
Bruce Momjian [Sat, 13 Jan 2001 01:49:35 +0000 (01:49 +0000)]
Update pgcvslog to fix problem with duplicate narratives.

23 years agookay, this appears to work ...
Marc G. Fournier [Sat, 13 Jan 2001 00:57:06 +0000 (00:57 +0000)]
okay, this appears to work ...

onlly changes aer adding some white space ...

23 years agoSurely we don't need a 7.0.3 makefile in 7.1.
Peter Eisentraut [Fri, 12 Jan 2001 22:36:57 +0000 (22:36 +0000)]
Surely we don't need a 7.0.3 makefile in 7.1.

23 years agoUpdate information about compiling extension modules.
Peter Eisentraut [Fri, 12 Jan 2001 22:15:32 +0000 (22:15 +0000)]
Update information about compiling extension modules.

23 years agoAdd more critical-section calls: all code sections that hold spinlocks
Tom Lane [Fri, 12 Jan 2001 21:54:01 +0000 (21:54 +0000)]
Add more critical-section calls: all code sections that hold spinlocks
are now critical sections, so as to ensure die() won't interrupt us while
we are munging shared-memory data structures.  Avoid insecure intermediate
states in some code that proc_exit will call, like palloc/pfree.  Rename
START/END_CRIT_CODE to START/END_CRIT_SECTION, since that seems to be
what people tend to call them anyway, and make them be called with () like
a function call, in hopes of not confusing pg_indent.
I doubt that this is sufficient to make SIGTERM safe anywhere; there's
just too much code that could get invoked during proc_exit().

23 years agoUpdate TODO list.
Bruce Momjian [Fri, 12 Jan 2001 17:57:57 +0000 (17:57 +0000)]
Update TODO list.

23 years agoUpdate TODO list.
Bruce Momjian [Fri, 12 Jan 2001 17:48:18 +0000 (17:48 +0000)]
Update TODO list.

23 years agoFixed handling of renamed columns in PK constraints
Philip Warner [Fri, 12 Jan 2001 15:41:29 +0000 (15:41 +0000)]
Fixed handling of renamed columns in PK constraints

23 years agoAdd to DROP todo.
Bruce Momjian [Fri, 12 Jan 2001 05:37:37 +0000 (05:37 +0000)]
Add to DROP todo.

23 years agoUpdate TODO list.
Bruce Momjian [Fri, 12 Jan 2001 05:32:38 +0000 (05:32 +0000)]
Update TODO list.

23 years agoUpdate TODO list.
Bruce Momjian [Fri, 12 Jan 2001 05:23:10 +0000 (05:23 +0000)]
Update TODO list.

23 years agoBring CREATE TABLE syntax synopsis into line with reality; update a
Tom Lane [Fri, 12 Jan 2001 05:06:40 +0000 (05:06 +0000)]
Bring CREATE TABLE syntax synopsis into line with reality; update a
bunch of old or poorly-worded documentation.