1. 06 Sep, 2001 12 commits
    • Bruce Momjian's avatar
      This fixes the regression test .so builds on sysv5 systems: · 56b102a9
      Bruce Momjian authored
      I believe this will fix peter_e's problen with gcc.
      
      Larry Rosenman
      56b102a9
    • Bruce Momjian's avatar
      Attached is my attempt to clean up the horrors of the ExecSQL() method in · e30b283f
      Bruce Momjian authored
      the JDBC driver.
      
      I've done this by extracting it into a new method object called
      QueryExecutor (should go into org/postgresql/core/) and then taking it
      apart into different methods in that class.
      
      A short summary:
      
      * Extracted ExecSQL() from Connection into a method object called
        QueryExecutor.
      
      * Moved ReceiveFields() from Connection to QueryExecutor.
      
      * Extracted parts of the original ExecSQL() method body into smaller
        methods on QueryExecutor.
      
      * Bug fix: The instance variable "pid" in Connection was used in two
        places with different meaning. Both were probably in dead code, but it's
        fixed anyway.
      
      Anders Bengtsson
      e30b283f
    • Bruce Momjian's avatar
      Attached is a patch for current CVS, consisting of a cvs diff -c · d99794e6
      Bruce Momjian authored
      for the changed files and a few new files:
      - test/jdbc2/BatchExecuteTest.java
      - util/MessageTranslator.java
      - jdbc2/PBatchUpdateException.java
      
      As an aside, is this the best way to submit a patch consisting
      of both changed and new files? Or is there a smarter cvs command
      which gets them all in one patch file?
      
      This patch fixes batch processing in the JDBC driver to be
      JDBC-2 compliant. Specifically, the changes introduced by this
      patch are:
      
      1) Statement.executeBatch() no longer commits or rolls back a
      transaction, as this is not prescribed by the JDBC spec. Its up
      to the application to disable autocommit and to commit or
      rollback the transaction. Where JDBC talks about "executing the
      statements as a unit", it means executing the statements in one
      round trip to the backend for better performance, it does not
      mean executing the statements in a transaction.
      
      2) Statement.executeBatch() now throws a BatchUpdateException()
      as required by the JDBC spec. The significance of this is that
      the receiver of the exception gets the updateCounts of the
      commands that succeeded before the error occurred. In order for
      the messages to be translatable, java.sql.BatchUpdateException
      is extended by org.postgresql.jdbc2.PBatchUpdateException() and
      the localization code is factored out from
      org.postgresql.util.PSQLException to a separate singleton class
      org.postgresql.util.MessageTranslator.
      
      3) When there is no batch or there are 0 statements in the batch
      when Statement.executeBatch() is called, do not throw an
      SQLException, but silently do nothing and return an update count
      array of length 0. The JDBC spec says "Throws an SQLException if
      the driver does not support batch statements", which is clearly
      not the case. See testExecuteEmptyBatch() in
      BatchExecuteTest.java for an example. The message
      postgresql.stat.batch.empty is removed from the language
      specific properties files.
      
      4) When Statement.executeBatch() is performed, reset the
      statement's list of batch commands to empty. The JDBC spec isn't
      100% clear about this. This behaviour is only documented in the
      Java tutorial
      (http://java.sun.com/docs/books/tutorial/jdbc/jdbc2dot0/batchupdates.html).
      Note that the Oracle JDBC driver also resets the statement's
      list in executeBatch(), and this seems the most reasonable
      interpretation.
      
      5) A new test case is added to the JDBC test suite which tests
      various aspects of batch processing. See the new file
      BatchExecuteTest.java.
      
      Regards,
      Ren? Pijlman
      d99794e6
    • Bruce Momjian's avatar
      Apply jdbc error changes. · e5d3df20
      Bruce Momjian authored
      e5d3df20
    • Bruce Momjian's avatar
      Sync up jdbc error files. · 914eec7d
      Bruce Momjian authored
      914eec7d
    • Bruce Momjian's avatar
      On Sat, Aug 25, 2001 at 08:15:45PM -0400, Bruce Momjian wrote: · 02566f14
      Bruce Momjian authored
      > 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
      02566f14
    • Bruce Momjian's avatar
      Next version of patch. · 16910e44
      Bruce Momjian authored
      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
      16910e44
    • Bruce Momjian's avatar
      Below is the patch against current cvs for libpgtcl and · 37c0b648
      Bruce Momjian authored
      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
      37c0b648
    • Bruce Momjian's avatar
      Hello, i just reviewed the win32 errno patch and i saw that maybe i didn't · ee0ef05b
      Bruce Momjian authored
      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)
      ee0ef05b
    • Tom Lane's avatar
      Fix handling of pg_type.typdefault per bug report from Dave Blasby. · 6c91eef7
      Tom Lane authored
      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.
      6c91eef7
    • Tom Lane's avatar
      Add some debugging details to some of the elog(STOP) conditions for WAL. · f2b604ec
      Tom Lane authored
      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.
      f2b604ec
    • Bruce Momjian's avatar
      Overhaul ecpg manual page. · c2ed8915
      Bruce Momjian authored
      Update Italian jdbc error messages.
      c2ed8915
  2. 04 Sep, 2001 17 commits
  3. 03 Sep, 2001 5 commits
  4. 02 Sep, 2001 2 commits
  5. 31 Aug, 2001 4 commits