59 Commits

Author SHA1 Message Date
Hiroshi Inoue
dadb718b10 Bug fixes for the 2002-03-08 change.
1) Put back the error message for SQLError().
2) Change Disallow premature to handle the SELECTed
   result.
3) Put back the behavior of AUTUCOMMIT mode change.
4) Fix SQLColumns for ODBC3.0.

5) Improve the handling of variable bookmark in ODBC3.0.
6) Enable Recognize Unique Index Button.
2002-03-11 10:25:57 +00:00
Hiroshi Inoue
4b47467a6b 1) Implement SQLParamOptions().
2) Handle Multiple results and implement SQLMoreResult().
3) Improve multibyte handling thanks to Eiji Tokuya.
4) Add new options.
   LF <-> CR/LF converion.
   TRUE is -1 (for VB).
5) Introduce unicode(UCS-2) support.
6) Reduce the length of connection strings.
7) Improve SQLError, SQLGetDiagRec(ODBC 3.0).
8) Implement SQLTablePrivileges().
9) Miscellaneous changes for ODBC 3.0 support.
2002-03-08 08:52:55 +00:00
Hiroshi Inoue
3c16d095b5 The version is now 7.01.0010.
1) Handle parameter array.
2) Allow re-use of the connection handle after SQLDisconnect.
3) Reject NULL if no indicator specified.
4) Improve the handling of '_' in table name.
5) Unify internal begin/commit/abort operations.
6) Change SQLTables() to return null not "" for the
   table_owner.
7) Fix a bug about parameter handling reported by Benoit Menendez.
8) Add cast in handling ODBC date/time escape sequences.
9) Fix a bug about cache_size handing in declare/fetch mode.

[ODBC3.0 related]
10) Improve the handling of descriptor handles(ODBC3.0).
11) Improve the type handling of some types for ODBC3.0.

[Thanks to Marcelo Aceto for his useful patches]
12) Allow nested ODBC escape.
13) Allow changing autocommit on/off inside the transaction
    block.
14) Improve the handling of ODBC scalar functions.
2002-02-18 03:16:11 +00:00
Bruce Momjian
ea08e6cd55 New pgindent run with fixes suggested by Tom. Patch manually reviewed,
initdb/regression tests pass.
2001-11-05 17:46:40 +00:00
Hiroshi Inoue
34153b2052 Preparation for the parameter array handling. 2001-11-05 10:35:14 +00:00
Hiroshi Inoue
c0b27c4feb 1) Fix a few bugs about SQLGetData()
reported by Mika Mantyla.
2) Timestamp precision.
3) Separate ODBC3.0 files.
2001-11-05 09:46:17 +00:00
Bruce Momjian
6783b2372e Another pgindent run. Fixes enum indenting, and improves #endif
spacing.  Also adds space for one-line comments.
2001-10-28 06:26:15 +00:00
Bruce Momjian
b81844b173 pgindent run on all C files. Java run to follow. initdb/regression
tests pass.
2001-10-25 05:50:21 +00:00
Hiroshi Inoue
8c3cb43bac Change SC_fetch() to not retrieve data in case the
SQL_RETRIEVE_DATA option is SQL_RD_OFF. This would
avoid a crash when scrolling Grid controls.
2001-10-19 05:39:14 +00:00
Peter Eisentraut
364a7ebe26 Provide some initial support for building the ODBC driver for
an already installed iODBC or unixODBC driver manager.  In particular,
use the include files provided by the driver manager over our own,
and use the odbcinst library of the driver manager rather than gpps.c.

Migrate portability sections common to several files into psqlodbc.h.
2001-09-22 22:54:33 +00:00
Hiroshi Inoue
70b0831387 1) Improve the implementation of *Disallow Premature* for
older versions of servers.
2) Implement SQLProcedures.

Hiroshi Inoue
2001-09-14 06:30:37 +00:00
Hiroshi Inoue
ec6c4d8c82 Improve declare/fetch mode a little.
Add a new DSN option for PREPARE hadling.

Hiroshi Inoue
2001-09-08 16:20:16 +00:00
Hiroshi Inoue
377d131b6c 1) Most driver options could be set per DSN.
2) Keep FE/BE protocol more precisely.
3) Improve procedure calls.
4) A trial to avoid PREMATURE execution(#ifdef'd now).

Hiroshi Inoue
2001-09-07 06:02:24 +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
Hiroshi Inoue
c2f5d08c11 Fix a lot of compile errors on unix.
Fix '\\' handling for bytea type.
2001-08-21 05:21:09 +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
bbca11bf3b Handle Procedure calls.
Now the version is 7.01.0006.
2001-06-27 07:38:07 +00:00
Hiroshi Inoue
a8dbe428de Change SQLPrimaryKeys() so that it detects the primary key
other than tablename_pkey.
2001-06-22 05:59:43 +00:00
Hiroshi Inoue
9c50a0047f Change the driver so that large error messages are returned
by multiple SQLError calls.
2001-06-20 07:06:40 +00:00
Hiroshi Inoue
76d38cb0c6 Changed the error handling as follows.
1) ERRORs cause an SQL_ERROR and the SQLSTATE='S1000'.
2) NOTICEs cause an SQL_SUCCESS_WITH_INFO and the succeeding
   SQLError() returns the NOTICE message.
2001-06-19 02:17:06 +00:00
Hiroshi Inoue
e5cff3fe64 Get rid of the following size limit.
1) Query size limit(was 65536) for >=7.0 servers.
2) Text size limit(was 8190) for 7.1 servers.
2001-05-25 08:12:32 +00:00
Bruce Momjian
1c551683cb Run pgindent on ODBC code only, to reformat new comments. 2001-05-08 17:12:36 +00:00
Bruce Momjian
296e7ba2ba ODBC source code cleanup patch. Should match rest of PostgreSQL code better. 2001-05-08 17:06:18 +00:00
Hiroshi Inoue
cc6bdb3e48 A patch to fix the following bugs.
1) [ODBC] Psqlodbc and Centura: here it is a patch
        posted by Matteo Cavalleli
2) [ODBC] pgsqODBC binding parameters II
        posted by Ludek Finstrle
3) Invalid Page Fault in PSQLODBC.DLL
        personal mail from Johann Zuschlag

   Hiroki Kataoka   kataoka@interwiz.koganei.tokyo.jp
2001-04-23 01:00:49 +00:00
Bruce Momjian
12ceb11182 ODBC source code cleanup. Mostly alignment of #define constants. 2001-03-27 04:00:55 +00:00
Bruce Momjian
9e1552607a pgindent run. Make it all clean. 2001-03-22 04:01:46 +00:00
Hiroshi Inoue
e666422ebf 1)Allow the access to indexes with up to 16 keys.
2)Fix some memory leaks.
3)Change some bogus error messages.
2001-03-10 03:34:57 +00:00
Hiroshi Inoue
462c13215a 1) Change transaction boundary in autocommit off mode
per recent discussion in pgsql-odbc. Now SELECT is
   a boundary but VACUUM isn't.
2) Put back the error handling behavior. When elog(ERROR)
   was detected the driver automatically issue "ABORT"
   if a transaction is in progress.
3) Driver version is 7.01.0003(Dave already set it but
   it was put back).
2001-02-15 05:32:00 +00:00
Bruce Momjian
594e97b72f Back out all ODBC formatting changes, and back out removal of <6.4
protocol. I have left in Tom's SOCK_get_next_byte() fix, and the new
win32.mak file addition.  I have also left in the 'X' connection close
fix.
2001-02-14 05:45:46 +00:00
Bruce Momjian
3152ef63a6 Source alignment cleanups. 2001-02-11 05:58:41 +00:00
Bruce Momjian
26dc50141b More cleanup. 2001-02-11 05:13:52 +00:00
Bruce Momjian
9d244ddb26 Cleanup of source. 2001-02-11 04:56:58 +00:00
Bruce Momjian
5ad627479c More ODBC formatting cleanup. 2001-02-10 07:11:28 +00:00
Bruce Momjian
755a87332a Run pgindent over ODBC source. We couldn't do this years ago because we
weren't the master source.  We are now, and it really needs it.
2001-02-10 07:01:19 +00:00
Bruce Momjian
505a828a66 Remove protocol-dependent code. This should have been on previous commit. 2001-02-10 06:58:40 +00:00
Bruce Momjian
895a57bdd2 Cleanup 2001-02-10 06:57:53 +00:00
Bruce Momjian
fd40942fd8 Properly exit ODBC with 'X', allow linking on BSD/OS. 2001-02-10 05:50:29 +00:00
Tom Lane
5b6acff6e0 Ignore leading whitespace when trying to determine statement type,
so that ODBC driver doesn't go belly up by failing to recognize a
SELECT as such.
2001-02-10 03:12:16 +00:00
Hiroshi Inoue
5a03b0c393 Change SELECT to not trigger "BEGIN" in not autocommit mode. 2001-02-09 06:03:14 +00:00
Peter Eisentraut
74e2bf95ec Remove C++ comment. 2000-12-30 16:48:49 +00:00
Bruce Momjian
0cf37659c4 there is one problem with Zoltan patches commited into the tree:
if we set autocommit off and issued COMMIT (or ROLLBACK) on a connection
new transaction is not started

Max Khon
2000-12-15 19:11:28 +00:00
Thomas G. Lockhart
c404d91c0b From Zoltan Kovacs back in April (sorry for the delay Zoltan!):
I modified the current ODBC driver for

* referential integrity error reporting,
* SELECT in transactions and
* disabling autocommit.

I tested these changes with Borland C++ Builder -> ODBCExpress ->
WinODBC driver (DLL) -> Postgres 7.0beta1 and Borland C++ Builder -> BDE ->
WinODBC driver (DLL) -> Postgres 7.0beta1. The patch is based on snapshot of
22th April (I don't think that someone has modified it since that: Byron
hasn't gave any sign of living for about a month and I didn't find any
comments about the ODBC driver on the list).
2000-10-25 14:15:49 +00:00
Bruce Momjian
ddae527c96 Remove // comments from ODBC. 2000-05-27 03:35:14 +00:00
Bruce Momjian
a8020a78ec Back out odbc changes until 7.1. 2000-05-17 15:36:37 +00:00
Bruce Momjian
a47e20b049 Several compilation and run-time problems occur when building on SGI
IRIX systems using the native compilers.  A summary is:
- Various files use "//" as a comment delimiter in c files.
- Problems caused by assuming "char" is signed.
  cash.in: building -signed the rules regression test fails as described
    in FAQ_QNX4.  If CHAR_MAX is "255U" then ((signed char)CHAR_MAX) is -1.
  postmaster.c: random number regression test failed without this change.
- Some generic build issues and warning message cleanup.

David Kaelbling
2000-05-16 20:48:52 +00:00
Bruce Momjian
f4ca323d21 I suspect that you are not the person to send this to, but I wasn't sure
where else to mail it. I am the maintainer of unixODBC, and we have a
set of code in our project that started life as the Postgres windows
ODBC driver, which has been ported back to unix. Anyway I have just
fixed a memory leak in the driver, and I cant see any mention of the fix
being done in the main Postgres code, so I thougth I would let you know.

Its in the statement.c module, after the COMMIT statement has been
executed in SC_Execute, the code was

Nick Gorham
2000-02-14 12:33:19 +00:00
Bruce Momjian
b78769fda2 Fix it's and its to be correct. 2000-01-05 18:23:54 +00:00
Bruce Momjian
63d7df4003 Small patch which fixes the ODBC driver so it doesn't segfault if:
You have CommLog and Debug enabled
You encounter in error in any operation (SQLConnect/SQLExec).
Previously, the extra logging didn't check for NULL pointers
when trying to print some of the strings- the socket error
message could frequently be NULL by design (if there was no socket
error)
and Solaris does not handle NULLS passed to things like printf
("%s\n",string);
gracefully.
This basically duplicates the functionality found in Linux where passing
a null pointer
to printf prints "(NULL)". No very elegant, but the logging is for debug
only anyway.

Dirk Niggemann
1999-11-29 23:42:03 +00:00
Byron Nikolaidis
c4c8e812b4 bug fix for large objects (free) 1999-10-25 01:11:44 +00:00
Byron Nikolaidis
19f947e800 driver v06-40-0007 1999-09-03 04:41:45 +00:00