1.40
- Raise required DBI version to 1.38
- Execute returns 0 (0E0) not -1 for successful DDL commands.
[Robert Treat]
- Change all string lengths to use STRLEN
[rink@stack.nl]
- Added $dbh->pg_server_trace($fh) [Greg Sabino Mullane]
- Added $dbh->{pg_errorlevel}. [Greg Sabino Mullane]
- Fix utf8 quote() support [Dominic Mitchell <dom@semantico.com>]
- Added explicit support for types SQL_BOOLEAN, DATE, TIME,
TIMESTAMP, and TIMESTAMPTZ. Return correct values for
DATEOID and TIMEOID. [Greg Sabino Mullane]
- Added tablespace support for table_info and primary_key_info.
[Greg Sabino Mullane]
- Added new attributes to $dbh: pg_db, pg_user, pg_pass,
pg_host, pg_port, pg_options, pg_socket, pg_pid
[Greg Sabino Mullane]
- Minor fixes in quote.c, dbdimp.c, and types.h
[Christophe Martin: schplurtz at free.fr]
- Added support for SQLSTATE via $dbh->state and $sth->state
[Greg Sabino Mullane]
- Major overhaul of prepare/execute to handle new server-side
prepare system. See Pg.pm for details. [Greg Sabino Mullane]
- Make the tests honor the DBD_SCHEMA variable instead of
assuming that the "public" schema is available.
[Rainer Weikusat]
- dbdimp.c cleanups: better error messages, ensure commit
is only called once after a transaction fails.
[Alexey Slynko]
- primary_key() returns empty list not undef if no match.
[Julian Mehnle]
- Added the pg_protocol database handle attribute
[Greg Sabino Mullane]
- Changed "noprefix" to pg_noprefix
1.32 Wed Feb 25 18:24:18 UTC 2004
- Bugfix for memory allocation problems on win systems
[Rafael Kitover <caelum@debian.org>]
- Rewrote the foreign_key_info() method to handle
multi-column keys. [Greg Sabino Mullane]
- Rewrote the primary_key_info() and primary_key() methods to
cleanly handle multi-column primary keys. Also added a "pg_onerow"
attribute to allow primary_key_info() to return a single
row containing multiple-column information. [Greg Sabino Mullane]
- Switched commit behavior from commit->execute->begin
to begin->execute->commit
[xelah-junk@xelah.com]
- Made the _pg_use_catalog subroutine use {private_dbgpg}.
(CPAN bug #4841) [Greg Sabino Mullane]
- Changed strdup to safemalloc/strcpy in dbdimp.c
(CPAN bug #4578) [anonymous CPAN user]
- Made the data_sources method escape the database names as needed.
Added support for databases with spaces in their names.
[Greg Sabino Mullane]
- Added the "noprefix" attribute to prevent the tables() method
from prepending the schema name. [Greg Sabino Mullane]
- Rewrote the testing suite. Many more tests are performed.
Servers with a low client_min_messages are handled correctly.
[Greg Sabino Mullane]
- Fixed bug causing '$\d' to be picked up as a placeholder.
(CPAN bug #4799) [Greg Sabino Mullane]
- pg_notifies now catches and reports when PQconsumeInput fails.
(CPAN bug #4027) [nmueller@cs.wisc.edu]
- Enabled the "pg_bool_tf" database handle [Greg Sabino Mullane]
- Added required fields to the type_info() method:
SQL_DATA_TYPE, SQL_DATETIME_SUB, and INTERVAL PRECISION
[Greg Sabino Mullane]
- Fixed bug where the table_attributes() method was incorrectly
removing the NULLABLE column. [Greg Sabino Mullane]
- Fixed bug where case was not being preserved by the
foreign_key_info() method [Greg Sabino Mullane]
- a fetch on any column that had a type that did not have an entry
in the type_info array would segfault DBD::Pg.
(CPAN bugs #4818,4432) [Rudy Lippan]
- Duplicate rows bug with column_info() REMARKS has been fixed. However,
support for Postgres 7.1.x which worked briefly for 1.31 has now been
dropped for this feature. (Mark Stosberg)
- Bumped required Perl version to 5.6.1 in Makefile.PL. We were already
already requiring 5.6.1 for Pg.pm since 1.31.
- Removed extra "return" statement in quote.c to make Solaris happy
(CPAN bug #4419) [Rudy Lippan]
- Changed get_info(29) to return (") instead of (\")
(CPAN bug #4829) [Greg Sabino Mullane]
1.31 Mon Nov 17 21:21:21 UTC 2003
- $dbh->{TYPE} now returns SQL_TYPE_TIMESTAMP instead of 1114 for
timestamp columns. (In 1.31_x {x| x<8} $sth->{TYPE} returned 0
but reported by ["Hirche, Joachim" <Joachim.Hirche@cimconcepts.com>]).
- Raised required versions to Perl 5.6.1 and DBI 1.35
- Fix syntax error related to pg_server_version (CPAN bugs #2492,2755,3121)
- Cache multiple calls to pg_server_version.
- Notice messages generated by the database now use the perl
warning mechanism instead of going to stderr.
[Dominic Mitchell <dom@semantico.com>]
- $dbh->prepare() rewrites the SQL statement into an internal form,
striping out comments and whitespace, and if PostgreSQL > 7.3 takes the
stripped statement and passes that to Postgres' PREPARE statement,
then rewrites the statement as 'EXECUTE "DBD::PG::cached_query n"
($1, $2, ... $n, $n+1)' for DBD::Pg's execute.
-- Currently disabled until PREPARE works a little better
- Allows the use of :n and :foo bind params. So:
(SELECT * FROM foo WHERE 1 = :this and 2 = :that) will now work.
- Complains on execute when unbound bind params are submitted
(instead of defaulting to NULL)
- Switched over to use driver.xst.
- pg_error() removes \n's rather than truncating the message on the first \n.
- Fixed statement scan problem where the preparse of
"SELECT foo[3:33] from bar" was scanning :33 as a placeholder
- Moved the quoting of bind values out of execute() and into
bind -- as there is no need to requote the value every time execute
is called.
- :veryverylongplaceholdername == Long walk, short pier -- fixed.
- quote() is now in C and uses same code as bind_param.
- Quoting and dequoting now use libpq quoting functions where available
(I still need to take the libpq functions swiped out of quote.c and move
it into libpqswip.c with license info &c., and switch ifndefs to ifdefs)
- bind_param() will convert from 1,0 to TRUE/FALSE when pg_type
is PGBOOLOID.
- Fixed many heap buffer overruns.
- Added support for the get_info() method [Greg Sabino Mullane]
- Added tests for POD validation [Mark Stosberg]
- Several improvements to column_info, including:
- Fixed column_info so NULLABLE field shows correctly. [kevin@sysexperts.com]
- REMARKS field works now [Mark Stosberg]
- COLUMN_DEF fixed
- COLUMN_SIZE fixed
- pg_constraint column added to display column constraints
- additional documentation and tests added
- make test is now more intelligent and will bail out early if
db connection fails. [Greg Sabino Mullane]
1.22 Wed Mar 26 22:33:44 EST 2003
- Win32 compile fix for snprintf [Joe Spears]
- Fix memory allocation problem in bytea escaping [Barrie Slaymaker]
- Add utf8 support [Dominic Mitchell <dom@semantico.com>]
- Transform Perl arrays into PostgreSQL arrays [Alexey Slynko]
- Fix for foreign_key_info() [Keith Keller]
- Fix PG_TEXT parameter binding
- Doc cleanups [Greg Sabino Mullane]
- Fix warning from func($table, 'table_attributes') [Greg Sabino Mullane]
- Added support for schemas [Greg Sabino Mullane]
- Fix binary to a bytea field conversion [Chris Dunlop <chris@onthe.net.au>]
1.21 Sun Jan 12 21:00:44 EST 2003
- System tables no longer returned by tables(). [Dave Rolsky]
- Fix table_attributes to handle removal of pg_relcheck in 7.3,
from Ian Barwick <barwick@gmx.net>
- Properly reset transaction status after failed transaction when
autocommit is off. Properly report transaction failure message.
Kai <kai@xs4all.nl>
- New pg_bool_tf database handle that when set to true booleans are
returned as 't'/'f' rather than 1/0.
1.20 Wed Nov 27 16:19:26 2002
- Maintenance transferred to GBorg,
http://gborg.postgresql.org/project/dbdpg/projdisplay.php. Incremented
version number to reflect new management. [Bruce Momjian]
- README cleaned up. [Bruce Momjian]
- Added t/15funct.t, a series of tests that determine if the meta data
is working. [Thomas Lowery]
- Added implementations of column_info() and table_info(), and
primary_key_info(). [Thomas Lowery]
- The POD formatting was cleaned up. [David Wheeler]
- The preparser was updated to better handle escaped characters.
[Rudy Lippan]
- Removed redundant use of strlen() in pg_error() (Jason E. Stewart).
- Test suite cleaned up, converted to use Test::More, and updated to use
standard DBI environment variables for connecting to a test database.
[Jason E. Stewart]
- Added eg/lotest.pl as a demonstration of using large objects in buffers
rather than files. Contributed by Garth Webb.
- Added LISTEN/NOTIFY functionality. Contributed by Alex Pilosov.
- Added constants for common PostgreSQL data types, plus simple tests to
make sure that they work. These are exportable via
"use DBD::Pg qw(:pg_types);". [David Wheeler]
- Deprecated the undocumented (and invalid) use of SQL_BINARY in
bind_param() and documented the correct approach: "bind_param($num,
$val { pg_type => PG_BYTEA });". Use of SQL_BINARY in bind_param() will
now issue a warning if $h->{Warn} is true. [David Wheeler]
- Removed invalid (and broken) support for SQL_BINARY in quote().
[David Wheeler]
- Added App::Info::RDBMS::PostgreSQL to the distribution (but it won't
be installed) to help Makefile.PL find the PostgreSQL include and
library files. [David Wheeler]
- Fixed compile-time warnings. [David Wheeler and Jason E. Stewart]
2002-04-27 Jeffrey W. Baker <jwbaker@acm.org>
- dbdimp.c: Add default at end of switch statement for pg_type attrib.
- t/13pgtype.t: test for above.
2002-04-09 Jeffrey W. Baker <jwbaker@acm.org>
- Pg.pm, dbdimp.c: Applied patch from
Thomas A. Lowery <tlowery@stlowery.net> concerning metadata in
table_info and so forth.
2002-03-06 Jeffrey W. Baker <jwbaker@acm.org>
- Pg.pm (quote): Applied patch from David Wheeler <david@wheeler.net>
to simplify and speed up quoting.
- t/11quoting.t: Tests for above patch.
- t/12placeholders.t: Tests for placeholder parsing in quoted strings.
2002-03-06 Jeffrey W. Baker
- Version 1.10 uploaded to CPAN.
1.01 Jun 27, 2001
- fixed core dump when trying to use a BYTEA value with
a byte outside 0..127 Alex Pilosov <alex@pilosoft.com>
1.00 May 27, 2001
- Fetching all records now resets Active flag as it should.
0.99 May 24, 2001
- fix the segmentation fault in pg_error.
0.98 Apr 25, 2001
- bug-fix for core-dump after any failed function call.
- applied patch from Alex Pilosov <alex@pilosoft.com>
which adds support for the datatype bytea
0.97 Apr 20, 2001
- fix bug in connect method, which erroneously set the userid
and the password to the environment variables DBI_USER and
DBI_PASS.
- applied patch from Jan-Pieter Cornet <john@pc.xs4all.nl>,
which removed the special handling of a backslash when
used for octal presentation. Now a backslash always will
be escaped.
0.96 Apr 09, 2001
- remove memory-leak in ping function, bug-fix
from Doug Perham <dperham@wgate.com>
- correct the recognition of primary keys in
table_attributes(). Patch from Brian Powell <brian@nicklebys.com>.
- applied patch from David D. Kilzer <ddkilzer@lubricants-oil.com>
which fixes a segmentation fault in DBD::pg::blob_read() when
reading LOBs that required perl to reallocate space for the
variable holding the scalar value
- updated test.pl to create a test blob larger than 256 bytes
(now 128 Kbytes)
- apply patch from Tom Lane, which fixes a segmentation fault when
inserting large amounts of text.
- apply patch from Peter Haworth pmh@edison.ioppublishing.com,
which removes the newlines from the error messages and which
quotes date placeholders.
0.95 Jul 10, 2000
- add Win32 port from Bob Kline <bkline@rksystems.com>.
0.94 Jul 07, 2000
- applied patch from Rudy Lippan <almighty@randomc.com>
which fixes a memory-leak with failed connections.
- applied patch from Hein Roehrig <hein@acm.org>
which fixes a bug with escaping a backslash except for
octal presentation
- applied patch from Francis J. Lacoste <francis.lacoste@iNsu.COM
which fixes a segmentation fault when all bound parameters are NULL
- adapt test.pl to avoid warnings with postgresql-7.0
- added support for 'COPY FROM STDIN' and 'COPY TO STDOUT'
- added patch from Mark Stosberg <mark@summersault.com>
to enhance the table_attributes subroutine
0.93 Sep 29, 1999
- it is required now to set the environment variables POSTGRES_INCLUDE
and POSTGRES_LIB for compiling the module.
- add Win32 port from Bob Kline <bkline@rksystems.com>.
- support for all large-object functions via the func interface.
- fixed bug with placeholders and casts spotted bymschout@gkg.net
- replaced the method attributes by the method table_attributes,
from Scott Williams <scott@james.com>.
- fix type definitions for type_info_all().
bug spotted by "carlos" <emarcet@intramed.net.ar>.
- now the Pg-specific quote() method also evaluates the data-type parameter.
0.92 Jun 16, 1999
- proposal from Philip Warner <pjw@rhyme.com.au>:
increase BUFSIZE from 1024 to 32768 in order to improve I/O performance.
- bug-fix in Makefile.PL for $POSTGRES_HOME not defined
spotted by mdalphin@amgen.com (Mark Dalphin)
- bug-fix for data-type datetime in type_info_all
spotted by Alan Grover <awgrover@iconnect-inc.com>
- bug-fix for escaped 's spotted by Hankin <hankin@consultco.com>
- removed 'large objects' related tests from test.pl
0.91 Feb 14, 1999
- removed restriction for commercial use in copyright
- corrected DATA_TYPE in type_info_all()
0.90 Jan 15, 1998
- discard parameter authtype from connect string
- remove work-around for bug in the large object interface of postgresql
0.89 Nov 05, 1998
- bug-fix from Jan Iven <j.iven@rz.uni-sb.de>:
fix problem with quoting Null in bind variables.
0.88 Oct 10, 1998
- fixed blob_read
- suppressed warning when testing DBI::errstr
0.87 Sep 05, 1998
- Pg.xs adapted to Driver.xst from DBI-1.0
- major rewrite of module documentation
- major rewrite of the test script
- use built-in DBI method for $dbh->do
- add macro dHTR in order to avoid compile errors
with threaded perl5.005
- renamed attribute AutoEscape to pg_auto_escape
- renamed attribute SIZE to pg_size
- new attribute pg_type
- added support for DBI->data_sources($driver)
- added support for $dbh->table_info
- blob_read documented and added to test.pl
- added support for attr parameter in bind_param()
0.86 Aug 21, 1998
- added /usr/lib/ to search path for libpq.
- added ChopBlanks, patch from
Victor Krasinsky <victor@rdovira.lviv.ua>
- changed test.pl to test multiple database handles
0.85 July 19, 1998
- non-printable characters in parameters will not be converted
to '.'. They are passed unchanged to the database.
0.84 July 18, 1998
- bug-fix from Max Cohan <mcohan@adnc.net>:
check for \xxx presentation before escaping backslash in parameters.
- introduce new database handle attribute AutoEscape, which
controls escaping of quotes and backslashes in parameters.
When set to on, all quotes except at the beginning and
at the end of a line will be escaped and all backslashes
except when used to indicate an octal presentation (\xxx)
will be escaped. Default of AutoEscape is on.
0.83 July 10, 1998
- bug-fix from Max Cohan <mcohan@adnc.net>:
using traces together with undef in place-holders dumped core.
0.82 June 20, 1998
- bug-fix from Matthew Lenz <matthew@nocturnal.org>:
corrected include path in Makefile.PL .
- added 'use strict;' to test.pl
0.81 June 13, 1998
- bug-fix from Rolf Grossmann <grossman@securitas.net>:
undefined parameters in an execute statement will be
translated from 'undef' to 'NULL'. Also every parameter
for bind_param() will be quoted by default (escape quote
and backslash). Appropriate tests have been added to test.pl.
- change ping method to use libpq-interface.
0.80 June 07, 1998
- adapted to postgresql-6.4:
the backend protocol has changed, which needs an adapted
ping method. A ping-test has been added to the test-script.
Also some type identifiers have changed.
0.73 June 03, 1998
- changed include directives in Makefile.PL from
archlib to installarchlib and from sitearch to
installsitearch (Tony.Curtis@vcpc.univie.ac.at).
- applied patch from Junio Hamano <junio@twinsun.com>
quote method also doubles backslash.
0.72 April 20, 1998
- applied patch from Michael J Schout <mschout@gkg.net>
which fixed the bug with queries containing the cast operator.
- applied patch from "Irving Reid" <irving@tor.securecomputing.com>
which fixed a memory leak.
0.71 April 04, 1998
- applied patch from "Irving Reid"
<irving@tor.securecomputing.com> which fixed the
the problem with the InactiveDestroy message.
0.70 March 28, 1998
- linking again with the shared version of libpq
due to problems on several operating systems.
0.69 March 6, 1998
- expanded the search path for include files
- module is now linked with static libpq.a
0.68 March 3, 1998
- return to UNIX domain sockets in test-scripts
0.67 February 21, 1998
- remove part of Driver.xst due to compile error on some systems.
0.66 February 19, 1998
- remove defines in Pg.h so that
it compiles also with postgresql-6.2.1
- changed ping method: set RaiseError=0
0.65 February 14, 1998
- adapted to changes in DBI-0.91, so that the
default setting for AutoCommit and PrintError is
again conformant to the DBI specs.
0.64 February 01, 1998
- changed syntax of data_source (ODBC-conformant):
'dbi:Pg:dbname=dbname;host=host;port=port'
!!! PLEASE ADAPT YOUR SCRIPTS !!!
- implemented place-holders
- implemented ping-method
- added support for $dbh->{RaiseError} and $dbh->{PrintError},
note: DBI-default for PrintError is on !
- allow commit and rollback only if AutoCommit = off
- added documentation for $dbh->tables;
- new method to get meta-information about a given table:
$dbh->DBD::Pg::db::attributes($table);
- host-parameter in test.pl is set explicitly to localhost
0.63 October 05, 1997
- adapted to PostgreSQL-6.2:
o $sth->rows as well as $sth->execute and $sth->do return the
number of affected rows even for non-Select statements.
o support for password authorization added,
please check the man-page for pg_passwd.
- the data_source parameter of the connect
method accepts two additional parameters
which are treated as host and port:
DBI->connect("dbi:Pg:dbname:host:port", "uid", "pwd")
- support for AutoCommit, please read the
module documentation for impacts on your
scripts !
- more perl-ish handling of data type bool,
please read the module documentation for
impacts on your scripts !
0.62 August 26, 1997
- added blobs/README
0.61 August 23, 1997
- adapted to DBI-0.89/Driver.xst
- added support for blob_read
0.52 August 15, 1997
- added support for literal $sth->{'TYPE'}, pg_type.pl / pg_type.pm.
0.51 August 12, 1997
- changed attributes to be DBI conformant:
o OID_STATUS to pg_oid_status
o CMD_STATUS to pg_cmd_status
0.5 August 05, 1997
- support for user authentication
- support for bind_columns
- added $dbh->tables
0.4 Jun 24, 1997
- adapted to DBI-0.84:
o new syntax for DBI->connect !
o execute returns 0E0 -> n for SELECT statement
-1 for non SELECT statement
-2 on error
- new attribute $sth->{'OID_STATUS'}
- new attribute $sth->{'CMD_STATUS'}
0.3 Apr 24, 1997
- bug fix release, ( still alpha ! )
0.2 Mar 13, 1997
- complete rewrite, ( still alpha ! )
0.1 Feb 15, 1997
- creation, ( totally pre-alpha ! )