Commit Graph

1364 Commits

Author SHA1 Message Date
Hans de Goede
d1a2f179cc Fix -Werror=array-bounds compile error in src/odbc/odbc.c
Use a local variable instead of casting the address of a SQLSMALLINT
to a (size_t *). sizeof(SQLSMALLINT) < sizeof(size_t) so gcc is
rightfully giving the following errors when building on Fedora 34:

/usr/include/sqlucode.h: In function 'SQLErrorW':
odbc.c:130:20: error: array subscript 'size_t[0]' is partly outside array bounds of 'SQLSMALLINT[1]' [-Werror=array-bounds]
  130 |         size_t lin=*_lin, lout=*_lout;
      |                    ^~~~~
odbc.c:974:21: note: while referencing 'pcbErrorMsg8'
  974 |         SQLSMALLINT pcbErrorMsg8;
      |                     ^~~~~~~~~~~~
odbc.c:133:15: error: array subscript 'size_t[0]' is partly outside array bounds of 'SQLSMALLINT[1]' [-Werror=array-bounds]
  133 |         *_lin -= lin;
      |               ^~
odbc.c:974:21: note: while referencing 'pcbErrorMsg8'
  974 |         SQLSMALLINT pcbErrorMsg8;
      |                     ^~~~~~~~~~~~
odbc.c:133:15: error: array subscript 'size_t[0]' is partly outside array bounds of 'SQLSMALLINT[1]' [-Werror=array-bounds]
  133 |         *_lin -= lin;
      |         ~~~~~~^~~~~~
odbc.c:974:21: note: while referencing 'pcbErrorMsg8'
  974 |         SQLSMALLINT pcbErrorMsg8;
      |                     ^~~~~~~~~~~~
cc1: all warnings being treated as errors
2021-07-08 22:16:02 +02:00
Mark Harmstone
e19f278836 mdbtools.h: add mdb_read_next_dpg 2021-06-18 15:57:49 +01:00
Evan Miller
2be2ab711e Remove tautological comparison
Fixes warnings with some versions of GCC
2021-06-10 09:50:51 -04:00
Evan Miller
d72e6381fe Fix build on some ancient systems 2021-06-03 10:05:18 -04:00
Patrick Reynolds
246f854b99
Add backticks around table names in mdb-query output (#307)
* Add [brackets] around mdb-query table names

* Allow column and table names to be in brackets

Column and table names can have whitespace in them.  The traditional way
to indicate that is with bracket characters, like so:
```sql
SELECT [column name] FROM [table name]
```

This change updates the parser to allow bracket format -- similar to
double-quoted format -- in all NAME contexts, i.e., column names, table
names, and database names.

Co-authored-by: Patrick Reynolds <patrick.reynolds@github.com>
2021-06-02 10:34:35 -04:00
Evan Miller
a31a95056d Simplify logic 2021-06-02 09:16:55 -04:00
Evan Miller
6136252a85
Merge pull request #306 from mdbtools/issue-301
Set _XOPEN_SOURCE to 600
2021-05-19 10:09:15 -04:00
Evan Miller
aeda51440a
Merge pull request #305 from filmor/write-encrypted-pages
Write encrypted pages
2021-05-19 10:08:54 -04:00
Benedikt Reinartz
9401d3cd84 Rename function to mdbi_rc4 to prevent it from being exported 2021-05-19 07:45:43 +02:00
Evan Miller
3e11f6dc26 Set _XOPEN_SOURCE to 600. Fixes #301
Some platforms including RHEL need _XOPEN_SOURCE to be defined as a
particular value. 600 seems to be a popular choice.
2021-05-18 14:01:01 -04:00
Benedikt Reinartz
ee5789ebc7 Review comments 2021-05-18 12:22:51 +02:00
Benedikt Reinartz
5fb273fb60
Fix accidental include 2021-05-17 15:47:59 +02:00
Benedikt Reinartz
89ce71637c Re-encrypt pages on write 2021-05-17 07:27:49 +02:00
Benedikt Reinartz
873c6a027e Extract RC4 code to separate file 2021-05-17 07:21:44 +02:00
Evan Miller
373b7ff4c4 Version 0.9.3, final 2021-05-01 07:03:58 -04:00
Evan Miller
e52c47d561 MDB Tools 0.9.3, Beta 4 2021-04-25 13:25:57 -04:00
Evan Miller
31a075e08b Remove function pointer casts 2021-04-25 11:23:38 -04:00
Evan Miller
e796ac173a
Merge pull request #299 from filmor/patch-1
Adjust loop callback signatures (improve emscripten compatibility)
2021-04-25 11:22:46 -04:00
Benedikt Reinartz
e2b722ed46
Adjust loop callback signatures
`GFunc` is `void (gpointer, gpointer)` and `GHFunc` is `void (gpointer, gpointer, gpointer)`,
so the respective callback functions should have the same signature.
2021-04-25 12:47:33 +02:00
Evan Miller
74fd4b1ff9 MDB Tools 0.9.3, Beta 3 2021-04-16 13:43:03 -04:00
Evan Miller
05bee0c69f Remove unnecessary _XOPEN_SOURCE
This was originally intended to expose strptime, which is no longer
(never?) used  by data.c
2021-04-16 13:04:40 -04:00
Evan Miller
ceb65d6ece Conditionally define _XOPEN_SOURCE
Fixes #298
2021-04-13 07:19:19 -04:00
Evan Miller
a47224bb80 Version 0.9.3, Beta 2 2021-04-08 14:59:50 -04:00
Evan Miller
fe0175aa63
Migrate to g_memdup2 (#288)
With fakeglib and older versions of GLib, fall back to g_memdup with
a #define inside mdbprivate.h.

Fixes #287
2021-04-05 09:04:29 -04:00
Evan Miller
afd154f619
Merge pull request #293 from mdbtools/no-wordexp
SQL: Allow spaces in DB names (remove wordexp.h)
2021-04-05 09:00:57 -04:00
Evan Miller
88ecb2986b GitHub Actions: Enable fail-fast for macOS iODBC builds 2021-04-04 22:13:02 -04:00
Evan Miller
c494f0d746 SQL: Allow spaces in DB names (remove wordexp.h)
Fixes #292
2021-04-04 22:07:31 -04:00
Evan Miller
015089ae34
Merge pull request #291 from Bob620/quoted-database-string
SQL: allow double quoted (") database names
2021-04-04 21:59:48 -04:00
bob620
b6bf27d6b3 sql: allow double quoted (") database names 2021-04-04 19:42:34 -05:00
Evan Miller
f265cc1e15 Remove GCC 8 from GitHub Actions
This version of GCC has been removed from the default image; see

https://github.com/actions/virtual-environments/issues/2950
2021-04-03 08:30:56 -04:00
Evan Miller
459516920a
Merge pull request #286 from andipaetzold/patch-1
Add JET version for access 2013/2016/2019 to docs
2021-03-31 14:27:31 -04:00
Andi Pätzold
d7c8e48c9b
Add JET version for access 2013/2016/2019 to docs 2021-03-31 19:22:53 +02:00
Evan Miller
7d10a50faf Version 0.9.3, Beta 1 2021-03-31 09:10:29 -04:00
Evan Miller
5992a1cc66
Merge pull request #285 from Bob620/issue-283
sql: correctly parse 'inverse' operators
2021-03-25 22:38:09 -04:00
bob620
bd76027e67 sql: correctly parse 'inverse' operators 2021-03-25 20:36:44 -05:00
Evan Miller
ff3c6ebd01
Merge pull request #282 from Bob620/support-more-uri
Support more valid uri
2021-03-25 08:23:53 -04:00
bob620
5d27e2008d libmdbsql: remove valid character * 2021-03-24 17:58:29 -05:00
bob620
d05c86fa3d libmdbsql: Allow all special characters from valid URIs in paths 2021-03-24 17:50:33 -05:00
Evan Miller
05a1492eef
Merge pull request #280 from mdbtools/issue-275
libmdbsql: Allow dashes in paths
2021-03-24 18:36:09 -04:00
Evan Miller
db7cefbc22
Merge pull request #279 from mdbtools/issue-274
libmdbsql: Support negative floating point literals
2021-03-24 18:35:20 -04:00
Evan Miller
8c2f8221b5 Allow dashes in paths #275
This is not a complete fix, but should address the immediate reported issue.
2021-03-24 09:57:41 -04:00
Evan Miller
58e4fe281d libmdbsql: Support negative floating point literals
Fixes #274
2021-03-24 09:47:52 -04:00
Evan Miller
d8a81c49a3
Merge pull request #277 from mdbtools/access-2019
Support Access 2019
2021-03-24 09:28:00 -04:00
Evan Miller
8ddf8e6411
Merge pull request #278 from uweber/SQLGetTypeInfo_segv
Fix segfault when attempting to access empty table (e.g. from ODBC)
2021-03-24 09:27:27 -04:00
Ulrich Weber
970023c4e6 fix segfault in SQLGetTypeInfo due pyodbc
dont access pages in mdb_fetch_row when pdata is not initialized.

Happens when a client, e.g. pyodbc, queries for an unsupported type,
e.g. SQL_WVARCHAR, temp_table is empty and further access to it will crash.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff70fe3df in mdb_fetch_row (table=0xa74610) at data.c:467
467				rows = mdb_get_int16(

Backtrace:
0  0x00007ffff70fe3df in mdb_fetch_row (table=0xa74610) at data.c:467
1  0x00007ffff77f8746 in SQLFetch (hstmt=0xa70500) at odbc.c:1074
2  0x00007ffff7729b43 in SQLFetch () from /lib/x86_64-linux-gnu/libodbc.so.2
3  0x00007ffff778d545 in GetColumnSize (cnxn=0x7ffff77eb1f0, cnxn=0x7ffff77eb1f0, psize=0x7ffff77bde00, sqltype=-9) at src/cnxninfo.cpp:81
4  CnxnInfo_New (cnxn=0x7ffff77eb1f0) at src/cnxninfo.cpp:145

Signed-off-by: Ulrich Weber <ulrich.weber@gmail.com>
2021-03-24 13:09:48 +00:00
Evan Miller
8f1f080e3f Support Access 2019
Per #260 I am assuming that the internal version 6 refers to files
created with Access 2019. I can't find any documentation on this format,
so I am calling it ACE17. Testing welcome.
2021-03-23 15:56:39 -04:00
Evan Miller
58222eeb35 Don't build/install mdb-sql if SQL is not supported
Eliminates obsolete message about --enable-sql. See #273
2021-03-23 15:53:43 -04:00
Evan Miller
e1a850d1a7
Merge pull request #272 from HenriHakonen/patch-1
Update write.c
2021-03-23 11:34:05 -04:00
HenriHakonen
d8a0d279e4
Update write.c
This way fwrite returns length. mdb_crack_row takes size instead of end.
2021-03-23 17:17:35 +02:00
Evan Miller
735351d0cb Fix signed-unsigned comparison
Fixes #269
2021-03-15 17:32:47 -04:00