<table><tr><td style="">staniek created this revision.<br />staniek added a reviewer: piggz.<br />Restricted Application added a project: KEXI.<br />staniek requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D14486">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>FIXED-IN:3.1.1</p>

<p>Details:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">GIT_SILENT Fix typos</li>
</ul>

<p>mdbtools 9fb36c0f075de 772b5675dd98bda</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Segfault fix on memo zero length multiple page</li>
</ul>

<p>While converting memo field to string, stop processing on zero length multiple<br />
page. mdbtools a89baeacf5976daf196</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Fix binary output</li>
</ul>

<p>Closes issue #44. mdbtools 9ab40e83e6789015c965</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Introduce MDB_BACKEND_* enum</li>
</ul>

<p>mdbtools cce6cfead2377ae7d</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Fix for dates in mdb-props</li>
</ul>

<p>mdbtools a3ab6c7969ee379e2393f</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Allow CFLGAS="-std=c99 -D_POSIX_C_SOURCE=2"</li>
</ul>

<p>Use glib function:<br />
strcasecmp -> g_ascii_strcasecmp<br />
bzero -> memset<br />
strdup -> g_strdump<br />
Don't use arithmetic void*+int<br />
mdbtools 2a70e16a8b943b25bc</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Avoid dynamic array allocation on stack.</li>
</ul>

<p>This might help some non C99 compliant compilers, while being a trivial change.<br />
mdbtools 9b4d5e624b4e16fd1097</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Compiles with VC++ as a .dll. Set up to use static glib, libiconv, libintl for ease of use.</li>
</ul>

<p>mdbtools cb65d4f3ddd5d95261</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Fix warnings mostly related unsigned char after merging mdbtools cb65d4f3ddd5d952</li>
</ul>

<ul class="remarkup-list">
<li class="remarkup-list-item">Fix not being able to handle blobs > 16 MB. Limit now at 256 MB</li>
</ul>

<p>mdbtools 850d9e169d91bda02</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">JET 4: index flags (eg, UNIQUE) 4 bytes later</li>
</ul>

<p>Re-reverse engineered index meta information layout in JET 4<br />
file format, based particularly on jackcess (Java) JET/Access<br />
database library (<a href="https://github.com/jahlborn/jackcess" class="remarkup-link" target="_blank" rel="noreferrer">https://github.com/jahlborn/jackcess</a>), and<br />
hexdumps of JET 4 database index meta information.  Based both<br />
on byte counting of jackcess reading of index definitions and<br />
also expected flag values (0x80, 0x89, etc), the flags of JET 4<br />
index definition are 4 bytes later than mdbtools previously thought.<br />
See IndexData.read() and private static class Jet4Format in<br />
src/main/java/com/healthmarketscience/jackcess/impl/IndexData.java<br />
src/main/java/com/healthmarketscience/jackcess/impl/JetFormat.java<br />
in jackcess source for layout reference.<br />
Now appears to get sensible "CREATE INDEX"/"CREATE UNIQUE INDEX"<br />
behaviour on export to PostgreSQL schema.<br />
Also added extensive index definition byte layout reference to top<br />
of src/libmdb/index.c for ease of reference, plus more debugging<br />
assistance (and comments of phases reading index for readability).<br />
mdbtools 999f6f5f104393f77</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">mdb-export: Add boolean words option (TRUE/FALSE)</li>
</ul>

<p>Adds "-B" (--boolean-words) option to mdb-export, which will reconfigure<br />
mdb/data.c to export TRUE/FALSE for boolean values instead of 1/0.  The<br />
option is needed to support BOOLEAN fields on PostgreSQL, which will not<br />
implicitly cast bare 1/0 into a BOOLEAN value.  Value literals are the<br />
SQL TRUE/FALSE, and _quoted_ words meaning true/false and _quoted_<br />
'1'/'0'.  With this flag the SQL TRUE/FALSE values are output, which should<br />
work with several SQL databases.<br />
PostgreSQL Reference: <a href="http://www.postgresql.org/docs/current/static/datatype-boolean.html" class="remarkup-link" target="_blank" rel="noreferrer">http://www.postgresql.org/docs/current/static/datatype-boolean.html</a><br />
(note for KEXI: note used but added to make data.c merges more cleanly)<br />
mdbtools 8b1db6c08edbdf</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">At least for me IS NULL and IS NOT NULL are the wrong way round in SQL, fixed it.</li>
</ul>

<p>mdbtools 2355aec912724a2</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">bug fix for 'bad' data with odd number of UCS-2 bytes</li>
</ul>

<p>BUG:396984<br />
mdbtools 9d56b0c3d80cdabc21b</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>See description of <a href="https://bugs.kde.org/show_bug.cgi?id=396984" class="remarkup-link" target="_blank" rel="noreferrer">https://bugs.kde.org/show_bug.cgi?id=396984</a></p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R71 Kexi</div></div></div><br /><div><strong>BRANCH</strong><div><div>3.1</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D14486">https://phabricator.kde.org/D14486</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/migration/mdb/3rdparty/mdbtools/include/mdbtools.h<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/catalog.c<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/data.c<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/file.c<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/iconv.c<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/index.c<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/map.c<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/mem.c<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/money.c<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/props.c<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/sargs.c<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/table.c<br />
src/migration/mdb/3rdparty/mdbtools/libmdb/write.c<br />
src/migration/mdb/README</div></div></div><br /><div><strong>To: </strong>staniek, piggz<br /><strong>Cc: </strong>Kexi-Devel-list, clybekk, barman, staniek<br /></div>