# psqlODBC release notes

## psqlODBC 08.01.0200 Release

psqlODBC 08.01.0200 contains only documentation changes over the 08.01.0108 development build.

- Notes: psqlODBC 08.01.0108
1) fix most warnings during build in x86_64 environment
2) fixed point of failure on x86_64 boxes
3) fixed autocommit = off behaviour with starting transactions when needed
4) quick hack againist access violation with Disallow premature - this rarely used feature is still broken, but should no longer crash
5) report correct SQLSTATE in SQLGetDiagField and SQLGetDiagRec
- Notes: psqlODBC 08.01.0107
1) fix next problem with calling implicit rollback in bad time
2) detecting transaction commands into if branch which mean backend successfuly done the command. add support for "start transaction"
3) fix bug when mylog output can't be created
4) fix problem with SQLSetPos
5) fix problem with column length in CC_mapping
6) fix - typelen could be less then zero not only -1
- Notes: psqlODBC 08.01.0106
1) fix problem with getting long text in unicode driver
2) fix sqlstate iin case of error in statement
3) doesn't call rollback in autocommit off or in manual transaction
4) remove obsolete parameter protocol
- Notes: psqlODBC 08.01.0105
Changes:
1) fix problem with rollback aborted queries
2) SQLColumns or SQLColAttribute may return bad answer when Show system tables is turned off
3) adds support for ; delimited options in ConfigDSN
4) fixes problem with binding parameters and SQLCancel without SQLFreeStmt
- Notes: psqlODBC 08.01.0104
Changes:
1) add commit after set basic options in SQLDriverConnect when autocommit is turned off
2) driver doesn't fail when there isn't bind enough parameters
3) collattributes doesn't work since switch to libpq.
There is still problem with select '' as xx from table
4) SQLTables after SQLExecDirect has problem with GetData for all rows
5) grow MAXKEYLEN for SQLConfigDataSource
6) repair behaviour of more queries in one statement
- Notes: psqlODBC 08.01.0103
Changes:
1) RowCount problem in SELECT
2) Server side prepare - but only first run in allocated statement
(http://pgfoundry.org/tracker/index.php?func=detail&aid=1000460&group_id=1000125&atid=538)
3) Table names repeated in BDE with usedeclarefetch=1
4) Binding parameters are now freed in SQLCancel
5) Skip fetching data for commands
- Notes: psqlODBC 08.01.0102
Changes:
1) Server side prepare now works correctly.
2) A bug in SQLTables that shows up in Borland SQL Explorer in
3) Declare/Fetch mode has been fixed.
4) A number of inconsistent internal APIs have been cleaned up. These
issues only showed up on some OS's.
5) Correct value returned by SQLGetInfo for
SQL_CATALOG_LOCATION/SQL_QUALIFIER_LOCATION. This prevented use of the
driver in Visual Studio 2005.
The last four numbers will represent the build. If the last 2 digits are
both zero, a stable version is indicated. If the last two digits are
non-zero, it is a development snapshot.
So, starting with the next stable release, we will have:
08.01.0200 - Stable
08.01.0201 - Development
...
...
08.01.0299 - Development
08.01.0300 - Stable
Of course, we won't necessarily have 99 snaphosts between stable releases!
- Notes: psqlODBC 08.01.0101
Changes:
This release fixes a serious problem in non-declare/fetch mode where
recordsets over the configured declare/fetch cache size were returned
incorrectly. It is advised that all users of v08.01.0100 upgrade as soon
as possible.

## psqlODBC 08.01.0100 Release

This release represents a major change to the driver over previous versions;
in particular, the network code has been replaced with the PostgreSQL libpq
library. This allows us to more easily take advantage of updates and new
features that might be introduced to the PostgreSQL wire protocol, and also
allowed us to upgrade straight away to the version 3 protocol which was
previously unsupported. We were also able to add SSL support, as well as
Kerberos authentication support.
>From this release, two versions of the driver are provided for Windows,
'PostgreSQL ANSI' which supports single and multibyte applications through
the ANSI ODBC API, and 'PostgreSQL Unicode' which provides Unicode support
through the Unicode ODBC API. On Unix systems, the driver type may be
selected via a configure option.
psqlODBC may be downloaded from http://www.postgresql.org/ftp/odbc/versions/
in source, Windows Installer, merge module, and basic zip file formats.
Please post any bug reports to the pgsql-odbc@postgresql.org mailing list.
I'd like to take this opportunity to thank all those involved with the
development, testing and bug fixing of the updated driver.
PostgreSQL Core Team
- Notes: psqlODBC 08.00.0102
This is a bug fix release
of the pre-libpq version of the driver, specifically to fix a bug
affecting Unix users
(http://gborg.postgresql.org/project/psqlodbc/bugs/bugupdate.php?1176)

## psqlODBC 08.00.0100 Release

The driver is available in source form, as well as a dll, merge module
and msi installer for Windows.
Regards, Dave.
- Notes: psqlODBC 08.00.0005
This version
contains a some recent fixes, and is packaged in a new installer built
entirely using open source tools (specifically, the Wix toolkit).
- Notes: psqlODBC 08.00.0002
This version of the driver is a minor update
with a fix to the string sizing code in SQLGetInfo, and removal of the
need for tables to be in the search path or public schema for them to be
returned by SQLTables.
- Notes: psqlODBC 08.00.0001
The purpose of this version is to try to get something stable, with
proper schema/without OID support ready for the 8.0 release
(particularly the win32 release). To that end, this release is mainly a
quick cleanup of the following:
- GUI cleanup. Dialogues should behave better now and not have unlabeled
buttons or move around the screen in strange ways.
- Updateable Cursor support. This is largely experimental and is (I
believe) the cause of a least a couple of stability issues in the recent
snapshots. In this release it is marked 'experimental' on the setup
dialogue (only in English, if anyone can do the Japanese version, please
send a patch) and turned off by default.
I'd appreciate it if ppl could test it a little with Updateable Cursors
*turned off* and report any bugs.

## psqlODBC 07.05.0001

This is version 07.05.0001. For those that don't know or don't recall
how the versioning works, the major and minor number track the latest
release of PostgreSQL that the driver is expected to work with. The
revision number is a bit more complex. The first two digits are the
version number, where even numbers are development versions, and odd are
release. The last two digits are the build number.
In other words, this driver is build 01 of development version 00, and
is expected to work with PostgreSQL 7.5dev. :-) The leading zeros are an
ODBC thing...

## psqlODBC 07.03.0100 Release

I'm pleased to announce the long awaited new version of psqlODBC. This
release represents a major change in the packaging and distribution of
psqlODBC. In particular the following points should be noted:
1) The build number will now be used to indicate both the release number
(first 2 digits), and snapshot build number (last 2 digits). this
release is 0100, or release 1, snapshot 0. The first development
snapshot will become 0101, the second 0102 and so on. The next official
release should be 07.03.0200.
2) With this release, the ODBC 3 driver is now the default. The
filenames, driver names and their capabilities are as follows:
psqlodbc.dll PostgreSQL ODBC3.0 Level
driver
psqlodbc25.dll PostgreSQL Legacy ODBC2.5 Level
driver
psqlodbc30w.dll PostgreSQL Unicode (Beta) Beta quality ODBC3.0
level driver with Unicode support
3) The 3 drivers are no longer self contained. psqlodbc.dll is used as
the setup dll for all three drivers, hence no matter how you
redistribute or install the drivers, you should always include this
file.
In addition, this driver fixes an annoying problem with recent builds of
PostgreSQL on Redhat systems that have a particularly long compiler
version string that caused a buffer overflow resulting in a GPF on
Windows upon connection to the database.
The driver is released under the LGPL, and can be downloaded from the
Downloads page on the website at
http://gborg.postgresql.org/project/psqlodbc/projdisplay.php

## === gborg.postgresql.org(This is the past history.) ===

1.33 by hinoue Annotate
Thu Feb 5 09:11:44 2004 (2 weeks, 3 days ago)
Changed since 1.32: +3 -3 [Select for Diff]
Diffs to version 1.32 (long / unified)
Diffs ignoring whitespace to version 1.32 (long / unified)
[7.3.0208]
1) Change catalog functions to search 'public' schema if a user
tries to search the user named schema and finds no record to
return.
2) Set the statement status to STMT_FINISHED(not STMT_PREPARED)
if the pre execution causes an error.
3) Adjust null terminator for SQL_C_WCHAR type.
4) Change getCharColumnSize to return max size when the
statement has no result.
5) Cache the number of parameters for statements.
1.32 by hinoue Annotate
Tue Jan 6 09:58:22 2004 (46 hours, 12 minutes ago)
Changed since 1.31: +3 -3 [Select for Diff]
Diffs to version 1.31 (long / unified)
Diffs ignoring whitespace to version 1.31 (long / unified)
1) Correct the handling of SQL_C_ULONG (for *nix).
2) Prevent plan deallocation errors when the transaction
is in abort status.
3) Avoid a connection failure when notice message arrives.
4) Improve the handling of mutex(critical section).
5) Correct the cursor open check.
6) Change the Unicode driver to set the NULL terminator
of SQL_C_WCHAR type data properly.
7) Add some m(re)alloc error check.
8) Add proper cleanup steps for some functions.
9) Return proper min & max scale for timestamp data type.
10) Return proper scale for timestamp data fields.
11) Fix the bug that .009 numeric generates .9 output. (George A.J)
1.31 by hinoue Annotate
Tue Dec 9 05:01:38 2003 (44 hours, 22 minutes ago)
Changed since 1.30: +3 -3 [Select for Diff]
Diffs to version 1.30 (long / unified)
Diffs ignoring whitespace to version 1.30 (long / unified)
[7.3.0205]
(for *nix)
1. Detect -lsocket for some platforms.
2. Handle unix domain sockets.
3. EINTR safety for send/recv.
4. Set TCP_NDEALY option for inet connections.
<1-4: thanks to Hartmut Raschick>
5. Use recursive mutex if possible.
6. Add descriptor.c to Makefile.
(for Windows)
7. Automatic setting of client encoding for latin1(9).
(common)
8. Avoid those notorious core dumps when logging on hitting
"null" data...
<8: thanls to Hartmut Raschick>
9. Removed a static varible for thread-safety.
10. Improve the performance of keyset-driven fetch operation.
11. Map (var)char type to SQL type more properly.
12. Change create_params for NUMERIC type to (precison, scale).
13. Add type cast to remove some compiler warnings.
1.30 by hinoue
Wed Nov 12 05:15:21 2003 (8 days, 1 hour ago)
Changed since 1.29: +3 -3 [Select for Diff]
Diffs to version 1.29 (long / unified)
Diffs ignoring whitespace to version 1.29 (long / unified)
[7.03.0204]
1) Clear statements' cursors on commit/rollback.
2) Change SQLColumns, SQLTablePrivileges to take show_system_tables
option into account.
3) When an ODBC 2.x application working with an ODBC 3.x driver
1.calls SQLExecDirect, SQLExecute, or SQLParamData, and a searched
2.update or delete statement was executed but did not affect any
3.rows at the data source, the ODBC 3.x driver should return
4.SQL_SUCCESS. When an ODBC 3.x application working with an ODBC
5.3.x driver calls SQLExecDirect, SQLExecute, or SQLParamData
6.with the same result, the ODBC 3.x driver should return SQL_NO_DATA.
1.29 by hinoue
Mon Nov 10 02:10:07 2003 (10 hours, 1 minute ago)
Changed since 1.28: +3 -3 [Select for Diff]
Diffs to version 1.28 (long / unified)
Diffs ignoring whitespace to version 1.28 (long / unified)
[7.03.0203]
1) Add conversion from text to SQL_C_BINARY(bug report from Brad Wilson).
2) Change SQLColumns, SQLTables etc to initialize the statement handle
properly(bug report from Yutaka Tanida).
3) Improve the handling of mutex under *nix(bug report from Steve Wampler).
1.28 by hinoue
Wed Nov 5 20:35:02 2003 (4 days, 15 hours ago)
Changed since 1.27: +3 -3 [Select for Diff]
Diffs to version 1.27 (long / unified)
Diffs ignoring whitespace to version 1.27 (long / unified)
[7.03.0202]
1) Improve SQLColAttributes(SQL_COLUMN_DISPLAY_SIZE) (bug report from Benjamin Riefenstahl).
2) Correct EN_set_odbc3 macro (bug report from tomas@nocrew.org(Tomas Skûñe)).
1.27 by hinoue
Sat Oct 25 00:19:23 2003 (2 weeks, 2 days ago)
Changed since 1.26: +3 -3 [Select for Diff]
Diffs to version 1.26 (long / unified)
Diffs ignoring whitespace to version 1.26 (long / unified)
[7.03.0201]
1) Revise the handling of descriptors and implement SQLCopyDesc.
2) Handle data_at_execution columns for SQLSetPos or SQLBulkOperations.
1.26 by dpage
Wed Oct 22 09:07:25 2003 (2 weeks, 5 days ago)
CVS Tags: REL-07_03_0200
Changed since 1.25: +3 -3 [Select for Diff]
Diffs to version 1.25 (long / unified)
Diffs ignoring whitespace to version 1.25 (long / unified)
Version number bump.
1.25 by hinoue
Sun Oct 19 22:37:42 2003 (3 weeks ago)
Changed since 1.24: +3 -3 [Select for Diff]
Diffs to version 1.24 (long / unified)
Diffs ignoring whitespace to version 1.24 (long / unified)
[7.03.0116]
1. Fix a memory leak in case of updatable KEYSET_DRIVEN cursors.
2. Change SQLMoreResults to initialize the cursor position.
3. Hopefully, SQLDescribeCol() returns a more appropriate
error code(SQLSTATE).
1.24 by hinoue
Fri Sep 19 05:25:17 2003 (7 weeks, 3 days ago)
Changed since 1.23: +3 -3 [Select for Diff]
Diffs to version 1.23 (long / unified)
Diffs ignoring whitespace to version 1.23 (long / unified)
1) Correct the return info for SQLGetInfo(.., SQL_CURSOR_COMMIT
(ROLLBACK)_BEHAVIOR) call.
2) Explictly reject the SQLBrowseConnect call.
1.23 by hinoue
Mon Sep 15 04:25:03 2003 (8 weeks ago)
Changed since 1.22: +3 -3 [Select for Diff]
Diffs to version 1.22 (long / unified)
Diffs ignoring whitespace to version 1.22 (long / unified)
1. Serialize the connection use for communication(multi-thread).
2. Let escape strings case-insensitive.
1.22 by hinoue
Tue Sep 2 07:25:53 2003 (2 months, 1 week ago)
Changed since 1.21: +1 -1 [Select for Diff]
Diffs to version 1.21 (long / unified)
Diffs ignoring whitespace to version 1.21 (long / unified)
Fix a bug when handling data_at_execution parameter array
reported by Jol Valentine .
1.21 by hinoue
Wed Aug 27 06:17:53 2003 (2 months, 2 weeks ago)
Changed since 1.20: +3 -3 [Select for Diff]
Diffs to version 1.20 (long / unified)
Diffs ignoring whitespace to version 1.20 (long / unified)
1) Fix a bug on SQLSetStmtAttr(.., SQL_CONCURRENCY) reported by Shachar Shemesh.
2) Apply a patch to changes the storage type of the debug "func" variables
to be stored in the constant area of the program(Shachar Shemesh).
3) Correct the column size in case of bytea as LO.
1.20 by hinoue
Wed Jul 30 21:57:50 2003 (3 months, 1 week ago)
Changed since 1.19: +3 -3 [Select for Diff]
Diffs to version 1.19 (long / unified)
Diffs ignoring whitespace to version 1.19 (long / unified)
1) Distinguish the rowset size for SQLFetch(Scroll) from that for
SQLExtendedFetch.
2) Implement SQLGetDiagFieldW() for the Unicode driver.
1.19 by hinoue
Fri Jul 11 06:47:17 2003 (4 months ago)
Changed since 1.18: +3 -3 [Select for Diff]
Diffs to version 1.18 (long / unified)
Diffs ignoring whitespace to version 1.18 (long / unified)
Improve SQLGetDiagField so that an MFC appliaction reports
error messages properly(bug report from Silvio Scarpati).
1.18 by hinoue
Wed Jul 9 04:09:11 2003 (4 months ago)
Changed since 1.17: +3 -3 [Select for Diff]
Diffs to version 1.17 (long / unified)
Diffs ignoring whitespace to version 1.17 (long / unified)
Add quotes around table names to use ::regclass in parse.c .
1.17 by hinoue
Sun Jun 29 23:51:24 2003 (4 months, 1 week ago)
Changed since 1.16: +3 -3 [Select for Diff]
Diffs to version 1.16 (long / unified)
Diffs ignoring whitespace to version 1.16 (long / unified)
Change SQLGetFunctions to contain ODBC3 APIs.
1.16 by hinoue
Thu May 29 22:30:33 2003 (5 months, 1 week ago)
Changed since 1.15: +3 -3 [Select for Diff]
Diffs to version 1.15 (long / unified)
Diffs ignoring whitespace to version 1.15 (long / unified)
1) Improve the SQL_C_VARBOOKMARK type handling.
2) Cleanup copy_and_convert_field() a little.
3) Set an error number and an error message for SQLAllocHandle(
SQL_HANDLE_DESC).
1.15 by hinoue
Tue May 27 22:26:37 2003 (5 months, 2 weeks ago)
Changed since 1.14: +3 -3 [Select for Diff]
Diffs to version 1.14 (long / unified)
Diffs ignoring whitespace to version 1.14 (long / unified)
Fix a bug about a bookmark handling in SQLBulkOperaitons(SQL_ADD,..)
1.14 by hinoue
Tue May 27 19:23:41 2003 (5 months, 2 weeks ago)
Changed since 1.13: +3 -3 [Select for Diff]
Diffs to version 1.13 (long / unified)
Diffs ignoring whitespace to version 1.13 (long / unified)
Remove date cast(::date) from the conversion of {d escape before
7.3 servers. 7.2 servers are poor in implicit cast from date ->
timestamp without time zone.
1.13 by hinoue
Tue May 27 01:20:09 2003 (5 months, 2 weeks ago)
Changed since 1.12: +3 -3 [Select for Diff]
Diffs to version 1.12 (long / unified)
Diffs ignoring whitespace to version 1.12 (long / unified)
1) Corrent the handling of bookmark in SQLBulkOperations.
2) Correct the calculation of a global index in SC_pos_add.
3) Cleanup global/rowset/resultset index handling a little.
1.12 by hinoue
Sun May 25 20:47:50 2003 (5 months, 2 weeks ago)
Changed since 1.11: +3 -3 [Select for Diff]
Diffs to version 1.11 (long / unified)
Diffs ignoring whitespace to version 1.11 (long / unified)
Correct a handling of offset in SQLBulkOperations.
1.11 by hinoue
Tue May 20 10:11:22 2003 (5 months, 3 weeks ago)
Changed since 1.10: +4 -4 [Select for Diff]
Diffs to version 1.10 (long / unified)
Diffs ignoring whitespace to version 1.10 (long / unified)
Fix a crash bug in SQLDriverConnect().
1.10 by hinoue
Tue May 20 06:39:28 2003 (5 months, 3 weeks ago)
Changed since 1.9: +3 -3 [Select for Diff]
Diffs to version 1.9 (long / unified)
Diffs ignoring whitespace to version 1.9 (long / unified)
The previous change wasn't in time of 7.3.0100.
It belongs to 7.03.0101.
1.9 by hinoue
Mon May 19 06:12:09 2003 (5 months, 3 weeks ago)
Changed since 1.8: +1 -1 [Select for Diff]
Diffs to version 1.8 (long / unified)
Diffs ignoring whitespace to version 1.8 (long / unified)
1) Revert a *int8 as* DSN option to *numeric* for MS Jet.
2) Add a SQL_CA2_SENSITIVITY_ADDTIONS mask to the reply for
SQLGetInfo(.., SQL_ATTR_KEYSET_DRIVEN_CURSOR_ATTRIBUTES2)
which would make a little OpenOffice happy.
3) Fix a bug in SQLGetInfo(.., SQL_ATTR_ROW_NUMBER) for keyset_driven
cursors.
1.8 by dpage
Thu May 15 04:24:40 2003 (5 months, 3 weeks ago)
CVS Tags: REL-07_03_0100
Changed since 1.7: +3 -3 [Select for Diff]
Diffs to version 1.7 (long / unified)
Diffs ignoring whitespace to version 1.7 (long / unified)
Updates for 07.03.0100
1.7 by dpage
Thu May 15 03:38:16 2003 (5 months, 3 weeks ago)
Changed since 1.6: +3 -3 [Select for Diff]
Diffs to version 1.6 (long / unified)
Diffs ignoring whitespace to version 1.6 (long / unified)
Updates for 07.03.0001
1.6 by hinoue
Mon May 12 11:44:08 2003 (5 months, 4 weeks ago)
Changed since 1.5: +3 -3 [Select for Diff]
Diffs to version 1.5 (long / unified)
Diffs ignoring whitespace to version 1.5 (long / unified)
1) Add a *bytea as LO* DSN option button.
2) Add japanese resources to psqlodbc.rc.
3) Add a dialog for the driver change.
1.5 by hinoue
Wed Apr 23 05:49:47 2003 (6 months, 2 weeks ago)
Changed since 1.4: +3 -3 [Select for Diff]
Diffs to version 1.4 (long / unified)
Diffs ignoring whitespace to version 1.4 (long / unified)
1) Avoid password leak in the log.
2) Reduce time() calls for the performance.
3) Improve the handling of per Driver resource.
4) #define HAVE_STRTOLL
etc.
1.4 by hinoue
Wed Nov 27 04:30:53 2002 (11 months, 1 week ago)
CVS Tags: REL-07_02_0005
Changed since 1.3: +3 -3 [Select for Diff]
Diffs to version 1.3 (long / unified)
Diffs ignoring whitespace to version 1.3 (long / unified)
Upgrade to 7.2.0005.
1.3 by hinoue
Thu Oct 10 02:37:54 2002 (13 months ago)
CVS Tags: REL-07_02_0004
Changed since 1.2: +3 -3 [Select for Diff]
Diffs to version 1.2 (long / unified)
Diffs ignoring whitespace to version 1.2 (long / unified)
1) Change SQLDescribeCol or SQLColAttribute to return right ResultNumCols for
keyset/static cursors.
2) Change PG_TYPE_TEXT -> PG_TYPE_VARCHAR for character columns of the
result of catalog functions (bug report from Mike Mascari).
1.2 by hinoue
Mon Sep 23 04:08:22 2002 (13 months, 2 weeks ago)
CVS Tags: REL-07_02_0003
Changed since 1.1: +3 -3 [Select for Diff]
Diffs to version 1.1 (long / unified)
Diffs ignoring whitespace to version 1.1 (long / unified)
1) Removed most static variables for thread safety.
2) Trial implementation of the thread safe driver under
Windows.
3) Fix a bug about DSN options setting.
4) Fix a bug about Driver options setting.
5) Implement SQLProcedureColumns().
6) Changed default numeric precision/scale.
7) Fix some memory leaks in Unicode driver.
8) datetime -> timestamp with time zone since 7.0.
9) Change manually started(using begin) transactions never
be implicitly committed.
1.1 by inoue
Thu May 9 00:10:22 2002 (18 months ago)
[Select for Diff]
Add a file for version control.