Commit Graph

1125 Commits

Author SHA1 Message Date
Nyall Dawson
8202e38155 Don't automatically add terminators when reading data parts
via SQLGetData for OLE fields

if the column type is OLE, then we don't add terminators
see https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/sqlgetdata-function?view=sql-server-ver15
and https://www.ibm.com/support/knowledgecenter/SSEPEK_11.0.0/odbc/src/tpc/db2z_fngetdata.html

"The buffer that the rgbValue argument specifies contains nul-terminated values, unless you retrieve
binary data, or the SQL data type of the column is graphic (DBCS) and the C buffer type is SQL_C_CHAR."
2020-08-13 08:03:00 +10:00
Evan Miller
130a122c54 Build ODBC on Appveyor 2020-08-12 17:55:45 -04:00
Evan Miller
362938f17c ODBC build fixes
* Require SQLGetPrivateProfileString in ODBC libraries

* Attempt to fix reported deadlock with unixODBC by rearranging
functions
2020-08-12 15:05:25 -04:00
Evan Miller
acbace242c Add Travis targets with --enable-glib 2020-08-12 06:38:57 -04:00
Evan Miller
bd6aa50f73 Merge pull request #11 from nyalldawson/binary_type
Report more accurate field type for OLE fields
2020-08-12 06:26:00 -04:00
Evan Miller
1c20f688e3 Merge pull request #10 from nyalldawson/guint_warn
Fix int/guint comparison warnings
2020-08-12 06:17:50 -04:00
Nyall Dawson
9a749e68fd Report more accurate field type for OLE fields 2020-08-12 15:33:54 +10:00
Nyall Dawson
277b49f209 More warning fixes 2020-08-12 13:11:52 +10:00
Nyall Dawson
1639283779 Fix int/guint comparison warnings 2020-08-12 13:04:20 +10:00
Evan Miller
ef3a9f99a8 Merge pull request #9 from nyalldawson/free_str
Fix incorrect early free of str when reading ole fields
2020-08-11 20:03:01 -04:00
Nyall Dawson
68d3104134 pos should finish on data length 2020-08-12 09:51:54 +10:00
Nyall Dawson
2567e57faa Fix incorrect early free of str when reading ole fields 2020-08-12 09:06:04 +10:00
Evan Miller
b25eb73648 Merge pull request #8 from evanmiller/odbc-fix
Fix for variable-length fields using SQLGetData
2020-08-11 15:14:00 -04:00
Evan Miller
953375ead0 Define separate Travis targets for iODBC and unixODBC 2020-08-11 12:23:59 -04:00
Evan Miller
f7e863b8e4 Put unixODBC under basic build / test coverage 2020-08-11 11:56:08 -04:00
Evan Miller
71e10395fd Try another SQLGetData fix
Set the length of the return value to include the NUL termination
charaacter.
2020-08-11 07:30:33 -04:00
Evan Miller
e330feebd6 Fix for variable-length fields using SQLGetData
See:

brianb/mdbtools#130
brianb/mdbtools#131
evanmiller/mdbtools#6
2020-08-10 21:38:08 -04:00
Evan Miller
02c5544c14 Syntax fix 2020-08-10 19:19:19 -04:00
Evan Miller
a712dfef65 Get rid of indirection in ODBC driver 2020-08-10 19:15:03 -04:00
Evan Miller
05b1e2229a Fix unittest exit code 2020-08-10 17:08:55 -04:00
Evan Miller
c471570d16 Fix __attribute__ syntax 2020-08-10 17:07:54 -04:00
Evan Miller
280075a3e2 Fix unused function warnings 2020-08-10 17:04:11 -04:00
Evan Miller
abe7ebcb74 Add ODBC unittest to Travis 2020-08-10 16:59:15 -04:00
Evan Miller
4ca16b8edf Fix bug in fake g_strsplit
Lack of NULL termination caused an occasional crash
2020-08-10 16:58:11 -04:00
Evan Miller
cc292b3f0d Improved ODBC error messages 2020-08-10 16:57:43 -04:00
Evan Miller
3c7761f965 Support --disable-glib flag with ODBC driver 2020-08-10 15:58:22 -04:00
Evan Miller
d4f7bd6ec5 Remove mdb-check
This program is not built by default, and its functionality is covered
by the other utilties.
2020-08-10 06:58:05 -04:00
Evan Miller
82bbc0cef7 Improved bounds checking 2020-08-09 16:38:25 -04:00
Evan Miller
7690ef376f Turn off -Wsign-compare for the lexer
Flex doesn't like it.
2020-08-09 16:23:06 -04:00
Evan Miller
c93156626c Fix all sign-compare warnings
Also flip on -Wsign-compare in the default configuration
2020-08-09 16:15:20 -04:00
Evan Miller
99099cdada Remove unnecessary "extern" keywords from header files 2020-08-09 16:14:19 -04:00
Evan Miller
de46410a8e Tweak README 2020-08-09 15:23:38 -04:00
Evan Miller
98381e83a5 Merge pull request #7 from evanmiller/update-iconv-m4
Update iconv.m4
2020-08-07 13:28:09 -04:00
Evan Miller
5c3cc98447 Update iconv.m4
The existing iconv.m4 warns against using a serial version, but adding
an empty config.rpath to build-aux/ should make it work just fine.
The new version should work better on various less-popular platforms.
2020-08-07 13:02:06 -04:00
Evan Miller
2e1e1ed796 Simplify bounds checking logic with snprintf 2020-08-06 23:58:34 -04:00
Evan Miller
47724e50c9 Merge pull request #5 from nyalldawson/fix_SQL_COLUMN_TYPE_NAME
Implement SQL_COLUMN_TYPE_NAME field identifier in SQLColAttributes
2020-08-06 23:57:15 -04:00
Nyall Dawson
3517b0eee6 Implement SQL_COLUMN_TYPE_NAME field identifier in SQLColAttributes
Without this use of mdbtools in UnixODBC is broken, as all calls to
SqlFetch error out
2020-08-07 13:48:45 +10:00
Evan Miller
e7782f7821 Remove debugging comments from mdb-schema 2020-08-06 23:18:05 -04:00
Evan Miller
2e6e88b96f Improve bounds and return-value checking
Fixes a memory leak and a number of buffer overruns
2020-08-06 15:17:04 -04:00
Evan Miller
b01c4b8941 Check result of mdb_find_pg_row / fix crash 2020-08-06 14:14:32 -04:00
Evan Miller
4682ec0f8a Fix crash 2020-08-06 14:08:30 -04:00
Evan Miller
63e8cb54ac Merge pull request #1 from evanmiller/no-glib
Remove GLib dependency
2020-08-06 13:19:25 -04:00
Evan Miller
272bd191bc Merge branch 'master' into no-glib 2020-08-06 12:51:52 -04:00
Evan Miller
2117195fac Update README 2020-08-06 12:51:45 -04:00
Evan Miller
9b6b52cc8c Fix buffer overflow in mdb_numeric_to_string brianb/mdbtools#124 2020-08-06 12:34:09 -04:00
Evan Miller
c67a92f459 Provide NUMERIC type in Postgres backend brianb/mdbtools#129 2020-08-06 08:20:11 -04:00
Evan Miller
edc20bcc39 Merge branch 'master' into no-glib 2020-08-06 08:16:06 -04:00
Evan Miller
c17aeb0826 Remove length specifier from MySQL TEXT types brianb/mdbtools#133 2020-08-06 08:15:06 -04:00
Evan Miller
d0d3060223 Fix program_invocation_short_name on Cygwin 2020-08-05 23:59:58 -04:00
Evan Miller
0b6809be82 Fix program_invocation_short_name on Linux 2020-08-05 23:54:25 -04:00