Heikki Linnakangas [Thu, 18 Apr 2013 20:02:20 +0000 (23:02 +0300)]
Format if-statement with commented out "then"-block differently.
To silence a Coverity warning that the semicolon might be misplaced.
Heikki Linnakangas [Thu, 18 Apr 2013 20:01:57 +0000 (23:01 +0300)]
Silence compiler warning that bmp variable might be used uninitialized.
It wasn't actually true, but apparently not all compiler versions were smart
enough to realize it.
Heikki Linnakangas [Thu, 18 Apr 2013 19:37:15 +0000 (22:37 +0300)]
Silence warning about sscanf format vs var type mismatch on 32-bit systems.
Heikki Linnakangas [Thu, 18 Apr 2013 19:36:50 +0000 (22:36 +0300)]
Mark these two structs as const.
It's a good habit to mark constants as such. But I'm also hoping that this
would silence Coverity from complaining that ver2str and ver3str might
not fit in 6 bytes.
Heikki Linnakangas [Thu, 18 Apr 2013 19:36:34 +0000 (22:36 +0300)]
Restructure < 7.4 protocol code a bit.
This avoids accessing unitialized bitmap[0]. It was harmless, as the
uninitialize value that was read was not used for anything, but Coverity
complained about it.
Heikki Linnakangas [Thu, 18 Apr 2013 19:36:05 +0000 (22:36 +0300)]
Initialize field to silence a Coverity false positive.
Coverity doesn't like the fact that the struct is passed to
SC_set_rowset_start without initializing rowset_start field. It's OK,
SC_set_rowset_start doesn't actually use the 'incr' value calculated from
the field if the 3rd arg is FALSE, so this is a false positive, but seems
like a good idea to be tidy here anyway.
Heikki Linnakangas [Thu, 18 Apr 2013 19:35:36 +0000 (22:35 +0300)]
Remove spurious 'break'.
Found by Coverity scan.
Heikki Linnakangas [Thu, 18 Apr 2013 19:35:20 +0000 (22:35 +0300)]
Add NULL-check, to silence a Coverity problem.
The problem is that if the loop above doesn't find a result set with
command tag "FETCH ...", res is left to point to an already-freed result
set, and we'll go ahead and call QR_set_withhold on the already-freed
struct. That can't happen in practice, because the backend does always
return a result set with "FETCH ..." command tag when a FETCH statement is
issued, but better safe than sorry.
Heikki Linnakangas [Thu, 18 Apr 2013 19:35:04 +0000 (22:35 +0300)]
Remove useless null-check.
We reference the same pointer without null-check elsewhere in the function,
so if it's ever NULL, we'll crash anyway. (but looking at the callers, it
never is NULL)
Found by Coverity scan.
Heikki Linnakangas [Thu, 18 Apr 2013 19:34:40 +0000 (22:34 +0300)]
Don't crash if getpwuid() returns NULL.
Found by Coverity scan.
Heikki Linnakangas [Thu, 18 Apr 2013 19:34:17 +0000 (22:34 +0300)]
Handle realloc failures gracefully.
If realloc fails and returns NULL, don't forget the old array. Also check
for overflow of num_Stmts, which is only a 16-bit int
Heikki Linnakangas [Thu, 18 Apr 2013 19:33:56 +0000 (22:33 +0300)]
Remove unused variable, to silence compiler warning.
Heikki Linnakangas [Thu, 18 Apr 2013 19:33:40 +0000 (22:33 +0300)]
Silence compiler warnings about unused msg_truncated variables.
BTW, the error and notice handling could be made much smarter wrt.
truncation. The caller of handle_notice/error_message knows the message size
in advance, so it could easily pass it down and we could allocate a buffer
of the right size, instead of using a fixed size buffer that can be too
small.
Heikki Linnakangas [Thu, 18 Apr 2013 19:33:11 +0000 (22:33 +0300)]
Add parens, per compiler warning's suggestion.
Heikki Linnakangas [Thu, 18 Apr 2013 19:32:59 +0000 (22:32 +0300)]
Silence warning about losing const in "const char *" to "char *" assignment.
Heikki Linnakangas [Thu, 18 Apr 2013 19:32:43 +0000 (22:32 +0300)]
Call shared library destructor at dlclose() or end of program.
For some reason, the destructor was not being called when compiled with gcc.
Not sure why, but I'm assuming it was an oversight. This silences a compiler
warning complaining that finalize_global_cs() function was unused.
Heikki Linnakangas [Thu, 18 Apr 2013 19:32:11 +0000 (22:32 +0300)]
Silence compiler warning by casting away a const.
Heikki Linnakangas [Thu, 18 Apr 2013 19:31:25 +0000 (22:31 +0300)]
Use FORMAT_ULEN to print SQLULENs.
Silences a compiler warning.
Heikki Linnakangas [Thu, 18 Apr 2013 19:30:46 +0000 (22:30 +0300)]
Fix typo in format string, which fixes passing an interval as param.
Compiler warned about this.
Heikki Linnakangas [Thu, 18 Apr 2013 19:30:23 +0000 (22:30 +0300)]
Silence compiler warning about unhandled enum values in switch.
Heikki Linnakangas [Thu, 18 Apr 2013 19:29:59 +0000 (22:29 +0300)]
Silence compiler warnings about variables set but not used.
Heikki Linnakangas [Thu, 18 Apr 2013 19:29:08 +0000 (22:29 +0300)]
Use -Wno-pointer-sign to silence a lot of warnings.
We liberally assign between SQLCHAR * and char *, which generates a lot of
compiler warnings about different pointer signedness. Seems like a lost
cause to add casts everywhere (and it might not be good for robustness
anyway, because it might mask a bug where the datatype of one side is
changed to a struct or something in the future), so just silence the
warnings.
Heikki Linnakangas [Thu, 18 Apr 2013 19:28:03 +0000 (22:28 +0300)]
Remove commented-out if-check, and related unused variable.
This silences a compiler warning about the unused variable.
Heikki Linnakangas [Thu, 18 Apr 2013 19:27:28 +0000 (22:27 +0300)]
Check BUILD_LEGACY_64_BIT_MODE instead of BUILD_REAL_64_BIT_MODE.
Since unixODBC version 2.2.13, the #define that controls whether SQLLEN
and SQLULEN are 32-bits or 64-bits wide is called BUILD_LEGACY_64_BIT_MODE,
not BUILD_REAL_64_BIT_MODE (the default changed to 64-bits in 2.2.13).
2.2.13 was released in 2006, so it's probably safe to assume that psqlodbc
is being built against that or higher.
Heikki Linnakangas [Thu, 18 Apr 2013 19:27:02 +0000 (22:27 +0300)]
Check SIZEOF_LONG_INT when deciding whether SQLROWSETSIZE exists.
For some reason SIZEOF_VOID_P is 0 on my system. But unixodbc's sqltypes.h
header file uses SIZEOF_LONG_INT to decide whether SQLROWSETSIZE exists or
not, so we should use the same.
Heikki Linnakangas [Thu, 18 Apr 2013 19:26:33 +0000 (22:26 +0300)]
If one of 'Database', 'Port', or 'Servername' is missing, make error message
more specific.
Heikki Linnakangas [Thu, 18 Apr 2013 19:25:28 +0000 (22:25 +0300)]
Fix reference-after-free bug.
'refcnt' is a member variable, so it mustn't be referenced after
"delete this;"
Found by Coverity scan.
Heikki Linnakangas [Thu, 18 Apr 2013 19:24:24 +0000 (22:24 +0300)]
Allocate right amount of space in malloc().
This happened to be just harmless waste of memory, because
sizeof(ParameterInfoClass) > sizeof(ParameterImplClass), but it was clearly
wrong.
Found by Coverity scan.
Heikki Linnakangas [Thu, 18 Apr 2013 19:23:32 +0000 (22:23 +0300)]
memset arguments were reversed.
Found by Coverity scan.
Heikki Linnakangas [Thu, 18 Apr 2013 19:22:01 +0000 (22:22 +0300)]
Fix typo in comment.
Heikki Linnakangas [Thu, 18 Apr 2013 19:16:24 +0000 (22:16 +0300)]
Fix references to 'notice.txt'.
notice.txt doesn't exist anymore, the copyright and license information is
in readme.txt now. Update references in comments.
Heikki Linnakangas [Thu, 18 Apr 2013 19:04:43 +0000 (22:04 +0300)]
Remove all CVS keywords.
Hiroshi Saito [Tue, 19 Feb 2013 15:58:03 +0000 (15:58 +0000)]
Fixed EN_Destructor provided. Per Michael Kocherov.
patch by Inoue-san.
Hiroshi Inoue [Sat, 16 Feb 2013 12:58:00 +0000 (12:58 +0000)]
Protect shared connection list when making cleanup tasks in EN_Destructor
using the patch provided by Michael Kocherov.
Hiroshi Saito [Thu, 16 Aug 2012 12:58:15 +0000 (12:58 +0000)]
adjustment build spec.
Hiroshi Saito [Thu, 16 Aug 2012 12:35:06 +0000 (12:35 +0000)]
Prep release 09.01.0200
Hiroshi Saito [Sat, 11 Aug 2012 12:52:50 +0000 (12:52 +0000)]
add the change history.
Hiroshi Inoue [Fri, 10 Aug 2012 21:27:59 +0000 (21:27 +0000)]
Take care of an environment variable PGKRBSRVNAME.
Hiroshi Saito [Fri, 10 Aug 2012 13:15:31 +0000 (13:15 +0000)]
add the change history.
Hiroshi Inoue [Fri, 10 Aug 2012 12:51:15 +0000 (12:51 +0000)]
Fix the bug that when the show OID column option is enabled, SQLColumns() returns "oid" column info even when the column name parameter which is different from "oid" is specified (bug report from Seifert, Jan-Peter).
Hiroshi Saito [Thu, 12 Jul 2012 12:47:56 +0000 (12:47 +0000)]
follow of fixed.
Hiroshi Inoue [Wed, 11 Jul 2012 21:30:08 +0000 (21:30 +0000)]
Fix the bug which causes a segfault in SQLSpecialColumns when table name is null string (bug report by Terrence Enger).
Hiroshi Saito [Sat, 12 May 2012 13:25:43 +0000 (13:25 +0000)]
add change history.
Hiroshi Saito [Sat, 12 May 2012 12:36:29 +0000 (12:36 +0000)]
missing end character.
Hiroshi Inoue [Sat, 12 May 2012 03:31:12 +0000 (03:31 +0000)]
Remove columns info of dropped tables ASAP.
Hiroshi Inoue [Sat, 12 May 2012 02:50:58 +0000 (02:50 +0000)]
Fix the bug reported by Alexandre(alepaes@aldeiadigital.com.br).
1. Don't discard the result of unnamed statements for later SQLDescribeCol or SQLColAttribute calls.
2. Set rowstart_in_cache properly when closing eof cursors.
Hiroshi Inoue [Fri, 11 May 2012 23:10:01 +0000 (23:10 +0000)]
Fix a compilation error etc when MULTITHREAD support is disabled.
Hiroshi Inoue [Fri, 11 May 2012 22:55:36 +0000 (22:55 +0000)]
Improve the handling of ARRAY type.
Hiroshi Inoue [Fri, 11 May 2012 22:43:23 +0000 (22:43 +0000)]
Fix a bug about reference count handling for columns info (Bug report by B.Goebel).
Hiroshi Inoue [Fri, 11 May 2012 22:33:04 +0000 (22:33 +0000)]
Add a missing constant.
Hiroshi Inoue [Fri, 4 May 2012 12:29:44 +0000 (12:29 +0000)]
Add a necessary break in a switch statement etc.
Hiroshi Inoue [Fri, 4 May 2012 12:11:17 +0000 (12:11 +0000)]
Use int instead of size_t when condition >=0 is used.
Hiroshi Saito [Fri, 30 Dec 2011 12:46:53 +0000 (12:46 +0000)]
Prep release.
Hiroshi Saito [Fri, 30 Dec 2011 02:39:28 +0000 (02:39 +0000)]
Prep release note.
Hiroshi Inoue [Thu, 29 Dec 2011 14:26:11 +0000 (14:26 +0000)]
1. Don't clear the columns cache info when they are referenced.
2. Correct the column size of interval types.
Hiroshi Saito [Thu, 29 Dec 2011 10:15:58 +0000 (10:15 +0000)]
Prep release 09.01.0100.
Hiroshi Saito [Thu, 29 Dec 2011 09:56:17 +0000 (09:56 +0000)]
Prep release 09.01.0100.
Hiroshi Saito [Sat, 3 Dec 2011 23:21:53 +0000 (23:21 +0000)]
add the change history.
Hiroshi Inoue [Fri, 2 Dec 2011 23:05:33 +0000 (23:05 +0000)]
Improve the handling of BYTEA type.
Hiroshi Saito [Tue, 22 Nov 2011 23:19:49 +0000 (23:19 +0000)]
add the change history.
Hiroshi Inoue [Tue, 22 Nov 2011 21:50:12 +0000 (21:50 +0000)]
Clear col_info(columns info) cache ehen DROP/ALTER TABLE is called
so that later SQLDescribeCol() etc work properly.
Hiroshi Inoue [Wed, 16 Nov 2011 14:22:17 +0000 (14:22 +0000)]
Fix memory leaks in case memory overflow.
Hiroshi Saito [Fri, 11 Nov 2011 23:48:54 +0000 (23:48 +0000)]
add the change history.
Hiroshi Inoue [Fri, 11 Nov 2011 22:52:01 +0000 (22:52 +0000)]
Before dropping the statement, sync and discard the response from the server for the pending extended query.
Hiroshi Inoue [Fri, 11 Nov 2011 12:11:30 +0000 (12:11 +0000)]
Adjust the operations after closing eof-detected cursors.
Hiroshi Inoue [Thu, 10 Nov 2011 13:36:58 +0000 (13:36 +0000)]
Revise the handling of decimal point.
Hiroshi Inoue [Thu, 10 Nov 2011 12:06:32 +0000 (12:06 +0000)]
Fix the bug that the first fetch operation doesn't work properly when
the operation is SQL_FETCH_ABSOLUTE or SQL_FETCH_LAST.
Hiroshi Inoue [Mon, 31 Oct 2011 14:20:20 +0000 (14:20 +0000)]
Fix the bug that PostgreSQL's function calls in queries cause a
crash on SQL Server linked servers.
Hiroshi Inoue [Sat, 15 Oct 2011 03:20:29 +0000 (03:20 +0000)]
SQLStatistics() sets 'D' for the collation column when an reverse index is used.
Hiroshi Saito [Sun, 3 Jul 2011 05:34:27 +0000 (05:34 +0000)]
Prep release the minor version.
Hiroshi Saito [Fri, 24 Jun 2011 16:14:53 +0000 (16:14 +0000)]
Some bug fix notes.
Hiroshi Inoue [Wed, 22 Jun 2011 15:08:38 +0000 (15:08 +0000)]
Correct the behavior of SQLSetConnectAttr() for the driver specific options.
Hiroshi Inoue [Sun, 19 Jun 2011 12:35:38 +0000 (12:35 +0000)]
Fix compilation errors 2.
Hiroshi Inoue [Sun, 19 Jun 2011 12:27:30 +0000 (12:27 +0000)]
Fix compilation errors in case ODBC 2.5.
Hiroshi Inoue [Sun, 19 Jun 2011 05:03:23 +0000 (05:03 +0000)]
Add some driver specific options for SQLSetConnectAttr().
Hiroshi Inoue [Sun, 19 Jun 2011 04:58:35 +0000 (04:58 +0000)]
Use SOCK_get_next_n_bytes() instead of SOCK_get_next_byte().
Hiroshi Inoue [Sat, 18 Jun 2011 21:33:23 +0000 (21:33 +0000)]
Take the environment variable into account.
Hiroshi Inoue [Sat, 18 Jun 2011 11:44:27 +0000 (11:44 +0000)]
Handle *with or without oids* correctly.
Hiroshi Inoue [Sat, 18 Jun 2011 11:26:42 +0000 (11:26 +0000)]
Now SQLDescribeCol() can detect the changes of column type or size.
Hiroshi Inoue [Sat, 11 Jun 2011 04:59:18 +0000 (04:59 +0000)]
Don't clear the parsed plan in SC_recycle_statement().
Hiroshi Inoue [Sat, 21 May 2011 23:48:12 +0000 (23:48 +0000)]
Fix the bug that strings are copied to a null pointer.
Hiroshi Inoue [Sat, 21 May 2011 23:39:42 +0000 (23:39 +0000)]
Cosmetic changes.
Hiroshi Inoue [Sat, 21 May 2011 10:26:12 +0000 (10:26 +0000)]
Let SC_forget_unnamed() clear the result in case the statement is not
executed yet. It would fix the bug reported by Silvio Brandani.
Hiroshi Inoue [Wed, 4 May 2011 11:10:52 +0000 (11:10 +0000)]
Remove ssl_verify_available() because it's no longer needed.
Hiroshi Saito [Mon, 2 May 2011 13:12:03 +0000 (13:12 +0000)]
Add the change history.
Hiroshi Inoue [Mon, 2 May 2011 08:53:37 +0000 (08:53 +0000)]
Remove a meaningless if clause.
Hiroshi Saito [Thu, 28 Apr 2011 01:03:36 +0000 (01:03 +0000)]
Prep release 09.00.0300.
Hiroshi Saito [Sun, 24 Apr 2011 04:43:59 +0000 (04:43 +0000)]
Add change history.
Hiroshi Inoue [Fri, 8 Apr 2011 22:35:42 +0000 (22:35 +0000)]
Resolve the trouble introduced by the change
*Return 0 for the column size when the size of numeric items are unknown*
reported by Marco Gaiarin.
Hiroshi Saito [Mon, 4 Apr 2011 13:31:28 +0000 (13:31 +0000)]
Arrangement of a history.
Hiroshi Inoue [Tue, 15 Mar 2011 14:31:44 +0000 (14:31 +0000)]
Convert large integer strings properly.
Hiroshi Inoue [Mon, 14 Mar 2011 21:49:52 +0000 (21:49 +0000)]
Fix the bug that Access autonumber fields are not detected in 9.0.0200 reported
by Arnaud Lesauvage.
Hiroshi Saito [Thu, 23 Dec 2010 06:06:55 +0000 (06:06 +0000)]
add some changes.
Hiroshi Inoue [Thu, 9 Dec 2010 12:41:12 +0000 (12:41 +0000)]
Change to read and skip the rest of result data when out of memory occurs while reading tuples so that we can continue to use the connection.
Hiroshi Inoue [Wed, 24 Nov 2010 22:11:48 +0000 (22:11 +0000)]
Applied a patch by Taizo Ito and correct the length of BIT type in Postgres.
Hiroshi Saito [Sat, 20 Nov 2010 17:31:21 +0000 (17:31 +0000)]
addition of a change history.
Hiroshi Inoue [Sat, 20 Nov 2010 02:07:10 +0000 (02:07 +0000)]
Initialize flags member in QResultClass before calling QR_set_rowstart_in_cache() per report from Arno Moore.
Hiroshi Inoue [Sat, 20 Nov 2010 01:47:18 +0000 (01:47 +0000)]
Divide SC_returns_rows() macro into several categories and make SQLResultNumCols(), SQLDescribeCol() or SQLColAttribute() available for insert/update/delete .. returning statements.
Hiroshi Inoue [Wed, 10 Nov 2010 21:47:48 +0000 (21:47 +0000)]
Fix the bug introduced by the previous change reprted by Adrien de Croy.
Hiroshi Inoue [Tue, 9 Nov 2010 12:14:30 +0000 (12:14 +0000)]
Improved a mylog output.