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
Evan Miller
89e2361582
Fix buffer overrun (oss-fuzz/28832+28807)
...
len_out was wrapping to a large number when bad input was encountered.
Ensure it's non-zero before proceeding with iconv.
2021-01-15 07:44:50 -05:00
Evan Miller
0e3a627ee6
Make command-line arguments locale-aware ( #237 )
...
GLib will automatically convert command line options to UTF-8 provided that setlocale(LC_TYPE, "") is called first, and the argument type is STRING (but not FILENAME). Update the CLI tools to take advantage of this behavior, and likewise implement it in fakeglib.
GLib does not automatically convert non-option arguments (i.e. everything remaining in argv after option processing), so manually call g_locale_to_utf8 on these arguments when they represent table names. This should fix the CLI tools when processing non-ASCII table names in non-UTF-8 locales. Also update fakeglib to implement a fast and loose version of g_locale_to_utf8, and factor out some of the code page => iconv name logic in iconv.c so it can be used in our fake g_locale_to_utf8. This adds a new symbol mdb_iconv_name_from_code_page that is not advertised in the main header file. I did not want to include mdbtools.h from fakeglib.c, but maybe that's not important.
2021-01-14 17:34:50 -05:00
Evan Miller
42431bbba8
Fuzzing workflow ( #230 )
...
Add a CIFuzz workflow (and a corresponding badge to the README)
2021-01-14 14:54:37 -05:00
Evan Miller
b9531290af
GitHub Actions: Pass -e to test scripts
...
This ensures that the script will exit with an error code if any line of
the script fails
2021-01-13 06:47:25 -05:00
Evan Miller
20842c642a
mdb-schema: Exit with code 1 if the requested table is not found
2021-01-12 14:08:25 -05:00