Commit Graph
100 Commits
Author SHA1 Message Date
Evan Miller 00e4437a17 Git-ignore generated header 2021-08-19 08:11:30 -04:00
Evan Miller e8c40a136d Version 1.0.0, Beta 2 2021-08-19 07:58:28 -04:00
Evan Miller ff2e421ab3 Add ax_tls.m4 2021-08-19 07:47:12 -04:00
Evan Miller c1bb53d930 Ensure compiler supports thread-local storage 2021-08-19 07:44:19 -04:00
Evan Miller 7fb7660b09 Restore previous mdb_register_backend API
Add new mdbi_register_backend2 function with the features introduced in
PRs #321 and #322. The purpose is to prevent API/ABI breakage in the
1.0 release.
2021-08-19 06:23:16 -04:00
Evan Miller 33b9dfa52f Version 1.0.0, Beta 1 2021-08-04 17:04:49 -04:00
Evan Miller 83cd14fa37 Fix README link 2021-08-04 16:57:36 -04:00
Evan Miller 4143f34706 Install ODBC drivers to odbc/ subdirectory
See #315
2021-08-04 16:29:31 -04:00
Evan Miller 7791c74246 README fixes 2021-08-04 16:13:09 -04:00
Evan Miller d5a42d9fed Bump _XOPEN_SOURCE to 700
This allows locale_t to be defined on Linux.
2021-08-04 16:06:47 -04:00
Evan Miller c866b04b74 Fix Linux build 2021-08-04 15:59:17 -04:00
Evan Miller a803abe1cf Change #if to #ifdef in a couple places 2021-08-04 15:55:20 -04:00
Evan Miller 2a58435fbf Fix build 2021-08-04 15:39:09 -04:00
Evan Miller 12a888988d Update README and deprecate mdb-hexdump 2021-08-04 15:33:43 -04:00
Evan Miller e88e3cc7e7 Remove HAVE_ macros from mdbtools.h and mdbsql.h
Generate mdbtools.h at configure-time. This ensures that the public
interface matches the compiled structures.

See #316
2021-08-04 15:29:23 -04:00
Evan Miller a44a8ed8ae Postgres-style ILIKE operator (with Unicode support) (#244)
Access's `LIKE` is actually case-insensitive, but to prevent breaking existing
programs that rely on mdbtools' case-sensitive behavior, introduce a new
`ILIKE` operator to perform a case-insensitive match. Use GLib's `g_utf8_casefold`
to make the comparison UTF-8 aware. A "poor man's" version is implemented
in fakeglib, which relies on `towlower`, and won't work with multi-grapheme
case transformations (e.g. German Eszett).

Fixes #233
2021-08-04 14:45:31 -04:00
Evan Miller 1b147b8d29 Merge pull request #276 from mdbtools/no-sql
Don't build/install mdb-sql if SQL is not supported
2021-08-04 14:12:20 -04:00
Evan Miller 12643bd95b Merge pull request #310 from maharmstone/mdb_read_next_dpg
mdbtools.h: add mdb_read_next_dpg
2021-08-04 14:10:58 -04:00
Evan Miller 930f234f05 Merge pull request #322 from doraemoncito/name-normalization
Added support for name normalisation when generating code for PostgreSQL
2021-08-01 15:06:07 -04:00
Evan Miller ce4cf5acbf Merge pull request #321 from doraemoncito/custom-create-table-statements-standalone
Introduced customised "create table" DDL statements per database type.
2021-07-31 08:49:13 -04:00
Evan Miller a73202c8df Merge pull request #320 from doraemoncito/ignore-intellij-idea-state-files
Ignore the the .idea folder in the project's root directory contains IntelliJ IDE project specific settings files.
2021-07-31 07:39:24 -04:00
Evan Miller 8692586205 Merge branch 'dev' into no-sql 2021-07-24 11:34:25 -04:00
Evan Miller 3cc0871339 Only install libmdbsql.pc if libmdbsql is built 2021-07-24 11:33:33 -04:00
Evan Miller f3053fbd45 MDB Tools 0.9.4, Beta 1 2021-07-18 14:01:24 -04:00
Evan Miller 9fe8c43ab8 Remove obsolete AC_HEADER_STDC macro 2021-07-17 10:35:00 -04:00
Evan Miller f79f942d1f Fix RC4 decryption on big-endian platforms 2021-07-17 10:13:24 -04:00
Evan Miller 45779d03ff Merge pull request #319 from Bob620/dev
sql: Properly handle arbitrary parentheses placements in PATH breaking SELECT functions
2021-07-14 12:41:59 -04:00
Evan Miller fe77bc5c8e Remove uses of ntohl 2021-07-14 09:33:24 -04:00
Evan Miller 398d46577a Merge pull request #313 from jwrdegoede/fedora34-compile-fix
Fix -Werror=array-bounds compile error in src/odbc/odbc.c
2021-07-08 16:53:02 -04: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
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
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
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
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
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
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
Evan Miller ff3c6ebd01 Merge pull request #282 from Bob620/support-more-uri
Support more valid uri
2021-03-25 08:23:53 -04: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
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
Evan Miller 735351d0cb Fix signed-unsigned comparison
Fixes #269
2021-03-15 17:32:47 -04:00
Evan Miller cdfefe08e6 Merge pull request #268 from mdbtools/nirgal-patch-1
Refresh AUTHORS
2021-03-15 08:50:09 -04:00
Evan Miller ad8c80892b Fix compilation error 2021-03-07 14:36:07 -05:00
Evan Miller 46a65b9789 Fix warning when reading binary properties
Also fix some type-size issues in mdb_col_to_string.

See #262
2021-03-07 09:03:39 -05:00
Evan Miller 636d54b530 Clarify docs about the necessity of autoreconf 2021-03-07 09:02:51 -05:00
Evan Miller b185c277dc Merge pull request #261 from thesamesam/dev
configure.ac: Respect --libdir for unixODBC
2021-02-27 11:16:16 -05:00
Evan Miller 9b200549d7 Version 0.9.2, final 2021-02-27 09:04:27 -05:00
Evan Miller 1464882931 mdb-tables: Support --version flag 2021-02-22 09:24:06 -05:00
Evan Miller d59abb99b4 Version 0.9.2, Beta 6 2021-02-22 09:02:06 -05:00
Evan Miller ed894ef12c Merge pull request #257 from mjwoodcock/mysql-schema
Mysql schema
2021-02-16 16:48:42 -05:00
Evan Miller 1bfce353d4 Move mdb_col_to_string warning 2021-02-15 21:25:53 -05:00
Evan Miller abe820c66c Version 0.9.2, Beta 5 2021-02-15 19:59:23 -05:00
Evan Miller e655cba907 Fix handling of numeric types in ODBC driver
Fixes #255 and supersedes #256
2021-02-15 19:50:15 -05:00
Evan Miller b9c065885c Merge pull request #254 from h3xx/fix-library-cflags
Add -DHAVE_GLIB to library cflags if needed
2021-02-10 16:11:24 -05:00
Evan Miller c5593d893e Merge pull request #253 from kalpha2/patch-1
Update write.c
2021-02-10 12:45:22 -05:00
Evan Miller 0c34e1aa2b Versio 0.9.2, Beta 4 2021-02-05 14:02:12 -05:00
Evan Miller 763716ecc6 Fix unused function warning without iconv 2021-02-02 18:40:40 -05:00
Evan Miller 77f78ea757 Version 0.9.2, Beta 3 2021-01-29 08:32:49 -05:00
Evan Miller 4e969425ac Add (fake) g_unichar_to_utf8 2021-01-22 07:45:47 -05:00
Evan Miller da80fb3430 Make mdb_iconv_name_from_code_page static 2021-01-21 23:25:46 -05:00
Evan Miller 468502bc87 Terminate string 2021-01-21 23:16:33 -05:00
Evan Miller 0aa3aeee42 Simplify (fake) g_locale_to_utf8
Use mbstowcs and a manual UTF-8 conversion so we don't have to sniff
the locale and require iconv.
2021-01-21 23:08:55 -05:00
Evan Miller f1eac042b5 Fix misuse of "%*s" in sprintf strings
%*s takes the output length, not the input length. The intended
specifier was %.*s in several places. Bug(s) introduced in
2bb31f05ee
2021-01-21 18:27:20 -05:00
Evan Miller 848303f9f0 Version 0.9.2, Beta 2 2021-01-20 09:14:29 -05:00
Evan Miller 9904b079bf Restore the HACKING file with a redirect notice
Several pages link to the old file and we don't want to break those
links.
2021-01-20 09:13:30 -05:00
Evan Miller 70c1b66278 Use correct bind types for SQLBindCol / SQLFetch (#242)
SQLFetch / SQLExtendedFetch now skip the mdb_sql machinery and use
SQLGetData on their bound columns instead. We rely on mdb_fetch_row
to skip to the correct page without any bindings and then SQLGetData will
do the rest.

SQLFetch will now correctly return SQL_SUCCESS_WITH_INFO if one or more
 bound columns have their data truncated, and will return several kinds of errors
(provided by SQLGetData) that were previously ignored.

Updated the unit test with a SQL_C_LONG type for demonstration purposes.

Fixes #23
2021-01-20 09:00:48 -05:00
Evan Miller 615b625d79 Let LC_COLLATE influence string-comparison operations
By default this will be set to the C locale, but set it to the user's
locale when string comparisons are performed from mdb-sql. Note that
this can be overridden with the LC_COLLATE environment variable.

We could infer the collation locale from the file itself, but this will
likely require a big ball of glue between the Windows locales and Unix
ones.
2021-01-19 21:24:31 -05:00
Evan Miller f99c5539e7 Add --version option to the CLI tools
See #232
2021-01-19 20:37:25 -05:00
Evan Miller 9e85bc4153 Clean up backend export logic
* Differentiate character lengths from byte lengths (see #112)

* Use GNU-style indexed initializers for clarity

* Remove needs_quotes since it's not used anywhere
2021-01-19 18:03:10 -05:00
Evan Miller dbc1aa7ea2 Document TOP and LIMIT clauses in the man page 2021-01-19 16:43:10 -05:00
Evan Miller 8c91654426 Man page and usage updates
* MDBOPTS=no_memo is not used anywhere; mark deprecated and print a
  warning if enabled

* Mark MDBOPTS=use_index as experimental in the man pages

* MDBOPTS need to be colon separated

* Document new long forms of mdb-queries options
2021-01-19 16:27:36 -05:00
Evan Miller 0aa88f85d5 Support scale/precision with more column types 2021-01-19 15:55:57 -05:00
Evan Miller aec667a033 Fix numeric scale/precision on Jet3 databases 2021-01-19 15:23:28 -05:00
Evan Miller d089c4072d More locale-awareness for command line arguments 2021-01-18 18:15:30 -05:00
Evan Miller 1e35bddc62 Migrate mdb-queries over to the GLib machinery
This buys us an auto-generated usage string and locale-awareness for the
query name. Short option names are preserved and long names are added.
2021-01-18 17:45:24 -05:00
Evan Miller 8fff5b0ac0 Merge pull request #239 from pedromorgan/apidocs_1
apidocs with doxygen
2021-01-16 11:49:12 -05:00
Evan Miller 52cd0779d6 Version 0.9.2, Beta 1 2021-01-15 08:26:04 -05:00
Evan Miller dd13e20456 More bounds checking 2021-01-15 08:08:51 -05:00