You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

changes.xml 23KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563
  1. <document>
  2. <properties>
  3. <title>Release notes</title>
  4. <author email="javajedi@users.sf.net">Tim McCune</author>
  5. </properties>
  6. <body>
  7. <release version="1.2.8" date="2012-07-10">
  8. <action dev="jahlborn" type="update" issue="3523179">
  9. Add osgi header information to the manifest.
  10. </action>
  11. <action dev="jahlborn" type="update" issue="3523181">
  12. Add ImportUtil.toColumns to enable more advanced Table creation
  13. implementations.
  14. </action>
  15. <action dev="jahlborn" type="fix" issue="3529534">
  16. Fix NPE when running unit tests with db format MSISAM.
  17. </action>
  18. <action dev="jahlborn" type="fix" issue="3532250">
  19. Fix writing partial pages when CodecHandler is in use. Note, this fix
  20. involves a backwards incompatible change to the CodecHandler interface
  21. (Jackcess Encrypt 1.0.3 or later is compatible with this version of
  22. Jackcess).
  23. </action>
  24. </release>
  25. <release version="1.2.7" date="2012-04-02">
  26. <action dev="jahlborn" type="update" issue="3479560">
  27. Add initial support for linked tables. Linked tables will now be
  28. loaded by the normal Database.getTable method. Linked tables can be
  29. created using the new Database.createLinkedTable method. Linked table
  30. resolution can be customized per Database by supplying a custom
  31. LinkResolver.
  32. </action>
  33. <action dev="jahlborn" type="update">
  34. Rename and refactor the Cursor find methods to improve usability.
  35. </action>
  36. </release>
  37. <release version="1.2.6" date="2011-12-16">
  38. <action dev="jahlborn" type="update" issue="3358272">
  39. Add support for reading/writing complex column data (version history,
  40. attachments, multi-value columns).
  41. </action>
  42. <action dev="jahlborn" type="fix">
  43. Fix problem with creating tables with indexes where ms access could
  44. not open the created table.
  45. </action>
  46. <action dev="jahlborn" type="fix" issue="3435774">
  47. Fix problem with reading row from table with deleted/added columns.
  48. </action>
  49. <action dev="jahlborn" type="update">
  50. Reuse previously written memo/ole values when updating other values in
  51. a row in order to reduce unnecessary data duplication.
  52. </action>
  53. <action dev="jahlborn" type="update">
  54. Allow ImportFilter and ExportFilter to return null from filterRow() to
  55. indicate that a row should be skipped.
  56. </action>
  57. <action dev="jahlborn" type="update">
  58. Add option to import file without headers to existing table.
  59. </action>
  60. <action dev="jahlborn" type="add">
  61. Add ImportUtil.Builder and ExportUtil.Builder to simplify
  62. import/export operations.
  63. </action>
  64. </release>
  65. <release version="1.2.5" date="2011-10-19">
  66. <action dev="jahlborn" type="update">
  67. Try multiple classloaders when loading resources as streams.
  68. </action>
  69. <action dev="jahlborn" type="add">
  70. Add the Joiner utility and some new methods to IndexCursor to make it
  71. easier to join tables using pre-defined (index backed) relationships.
  72. </action>
  73. <action dev="jahlborn" type="update">
  74. Enable basic handling of unsupported data types as binary content.
  75. </action>
  76. <action dev="jahlborn" type="update">
  77. Add methods to approximate table size.
  78. </action>
  79. <action dev="jahlborn" type="update">
  80. Add Database.getSystemTableNames to enable retrieving the list of
  81. system/hidden tables.
  82. </action>
  83. <action dev="jahlborn" type="fix">
  84. Fix issue with reading Access 97 database with large number of fields.
  85. </action>
  86. </release>
  87. <release version="1.2.4" date="2011-05-14">
  88. <action dev="jahlborn" type="update">
  89. Refactor table loading to use indexes. Do not load all table names at
  90. database startup (should make startup faster).
  91. </action>
  92. <action dev="jahlborn" type="add">
  93. Add support for reading properties blobs. Add methods for accessing
  94. database, summary, and user-defined properties from the Database. Add
  95. methods to Table and Column for accessing their respective properties.
  96. </action>
  97. <action dev="jahlborn" type="add">
  98. Add support for Access 2010, including new "General" sort order
  99. (support for super-long text index entries still needs work).
  100. </action>
  101. <action dev="jahlborn" type="fix" issue="3287626">
  102. Access expects a row to be at least big enough to hold all fixed
  103. values, even if they are null.
  104. </action>
  105. <action dev="jahlborn" type="update">
  106. Add Index.getReferencedIndex for retrieving the referenced Index for a
  107. foreign key index.
  108. </action>
  109. </release>
  110. <release version="1.2.3" date="2011-03-05">
  111. <action dev="jahlborn" type="fix" issue="3181334">
  112. Add support for writing all fixed length column types into variable
  113. length fields.
  114. </action>
  115. <action dev="jahlborn" type="fix" issue="3192058">
  116. More fixes related to reading and interpreting index information.
  117. Handle multiple logical indexes backed by the same index data.
  118. Interpret foreign key constraint information.
  119. </action>
  120. <action dev="jahlborn" type="update">
  121. Allow MSISAM files to be written (experimental).
  122. </action>
  123. <action dev="jahlborn" type="add">
  124. Add support for creating indexes when creating a new table. Normal
  125. indexes and primary key indexes are currently supported. Foreign key
  126. indexes are not yet supported.
  127. </action>
  128. </release>
  129. <release version="1.2.2" date="2010-11-29">
  130. <action dev="jahlborn" type="update">
  131. Add support for specifying a quote character on import from flat
  132. files.
  133. </action>
  134. <action dev="jahlborn" type="update">
  135. Add support for reading database password.
  136. </action>
  137. <action dev="jahlborn" type="update" issue="3065010">
  138. Add support for plugging in implementations of various page
  139. encoding/decoding algorithms. See the &lt;a href="http://jackcessencrypt.sourceforge.net/"&gt;Jackcess Encrypt&lt;/a&gt;
  140. project for a CodecProvider implementation which supports a few of the
  141. Access encodings. (thanks to Vladimir Berezniker).
  142. </action>
  143. <action dev="jahlborn" type="update" issue="3101578">
  144. Implement some tweaks which allow jackcess to be used on the Android
  145. platform. See the &lt;a href="faq.html#android"&gt;FAQ&lt;/a&gt; for more
  146. details. (thanks to Miha Pirnat).
  147. </action>
  148. <action dev="jahlborn" type="update" issue="3097387">
  149. Allow output column order in tables to be configured.
  150. </action>
  151. <action dev="jahlborn" type="update" issue="3105829">
  152. Add support for custom column value matching when finding rows using a
  153. Cursor.
  154. </action>
  155. <action dev="jahlborn" type="fix">
  156. Ignore usagemap inconsistencies in certain (safe) situations.
  157. </action>
  158. </release>
  159. <release version="1.2.1" date="2010-08-01">
  160. <action dev="jahlborn" type="add" issue="3005272">
  161. Add ExportUtil and associated utilities for exporting tables to flat
  162. files (thanks to F. Gerbig).
  163. </action>
  164. <action dev="jahlborn" type="fix" issue="3011084">
  165. Fix some places where table/columns names were not being handled
  166. case-insensitively.
  167. </action>
  168. <action dev="jahlborn" type="fix" issue="3029500">
  169. Make Database.escapeIdentifier public; add methods to TableBuilder and
  170. ColumnBuilder to optionally escape names.
  171. </action>
  172. <action dev="jahlborn" type="update" issue="2997751">
  173. Add support for overriding charset and tiemzone used when
  174. reading/writing database.
  175. </action>
  176. <action dev="jahlborn" type="add" issue="3003375">
  177. Add support for reading Access 97 (jet format 3) databases (thanks to
  178. F. Gerbig).
  179. </action>
  180. </release>
  181. <release version="1.2.0" date="2010-04-18">
  182. <action dev="bhamail" type="update" issue="1451628">
  183. Add support for access 2002/2003/2007 databases.
  184. </action>
  185. <action dev="jahlborn" type="update">
  186. Enable "large" index support by default. It can still be disabled via
  187. a variety of means, see the Database javadoc for more details.
  188. </action>
  189. <action dev="bhamail" type="fix" issue="2968957">
  190. Fix BigIndexTest to work in IDE's w/out sys.prop.
  191. </action>
  192. </release>
  193. <release version="1.1.21" date="2010-01-19">
  194. <action dev="jahlborn" type="fix" issue="2899605">
  195. Further improvements to date handling.
  196. </action>
  197. <action dev="jahlborn" type="update">
  198. Handle more binary/character input types (Blob, Clob, InputStream,
  199. Reader), based on user submitted patch.
  200. </action>
  201. <action dev="jahlborn" type="update">
  202. Refactor import/copy methods from Database into ImportUtil. Allow
  203. reuse of existing tables. make behavior/naming of copy and import
  204. methods consistent. (ideas from submitted patch).
  205. </action>
  206. <action dev="jahlborn" type="fix" issue="2919216">
  207. Set overflow info in header row, not in last data row.
  208. </action>
  209. <action dev="jahlborn" type="fix" issue="2920092">
  210. Add support for indexing strings containing any characters from BMP 0.
  211. </action>
  212. </release>
  213. <release version="1.1.20" date="2009-11-18">
  214. <action dev="jahlborn" type="fix" issue="2884599">
  215. Add support for updating GUID indexes and for auto-number GUID
  216. fields.
  217. </action>
  218. <action dev="jahlborn" type="update" issue="2802845">
  219. Add support for updating rows in a table.
  220. </action>
  221. <action dev="jahlborn" type="fix" issue="2886370">
  222. Support reading/writing fixed length text fields.
  223. </action>
  224. </release>
  225. <release version="1.1.19" date="2009-06-13">
  226. <action dev="jahlborn" type="add">
  227. Add Query reading support.
  228. </action>
  229. <action dev="jahlborn" type="fix" issue="2788029">
  230. Be more forgiving for input column length.
  231. </action>
  232. </release>
  233. <release version="1.1.18" date="2008-11-08">
  234. <action dev="jahlborn" type="add">
  235. Add ErrorHandler utility for customizing error handling during row
  236. parsing.
  237. </action>
  238. <action dev="jahlborn" type="add">
  239. Add RowFilter contributed by Patricia Donaldson.
  240. </action>
  241. <action dev="jahlborn" type="update">
  242. Add Database.getSystemTable method for accessing system tables.
  243. </action>
  244. </release>
  245. <release version="1.1.17" date="2008-09-23">
  246. <action dev="jahlborn" type="fix" issue="2043499">
  247. Fix simple index handling of tail index pages.
  248. </action>
  249. </release>
  250. <release version="1.1.16" date="2008-07-24">
  251. <action dev="jahlborn" type="fix" issue="2019244">
  252. Reserve minimum space for memo/ole fields so that greedy inline row
  253. usage does not cause spurious write failures for wide tables.
  254. </action>
  255. <action dev="jahlborn" type="fix" issue="2018713">
  256. Better column type translation for very large MEMO/OLE types in the
  257. Database.copyTable logic.
  258. </action>
  259. <action dev="jahlborn" type="fix" issue="2019244">
  260. Add some more limit checking into table creation based on what access
  261. supports (max rows per table, max identifier lengths).
  262. </action>
  263. <action dev="jahlborn" type="fix" issue="2019244">
  264. Share out-of-line long value pages in order to generate more compact
  265. database files.
  266. </action>
  267. <action dev="jahlborn" type="add">
  268. Add primitive support for writing unicode compressed text columns.
  269. </action>
  270. <action dev="jahlborn" type="add">
  271. Add compression code for possible future use; add compression unit
  272. tests.
  273. </action>
  274. </release>
  275. <release version="1.1.15" date="2008-06-27">
  276. <action dev="jahlborn" type="fix" issue="1998225">
  277. Fix writing of large memo/ole fields. Apparently Access does not like
  278. long value fields longer than 4076 bytes.
  279. </action>
  280. <action dev="jahlborn" type="fix">
  281. Reduce maximum row size to what Access considers valid.
  282. </action>
  283. </release>
  284. <release version="1.1.14" date="2008-04-29">
  285. <action dev="jahlborn" type="fix" issue="1924705">
  286. Need to store auto-number values back into row so that indexes can be
  287. updated correctly.
  288. </action>
  289. <action dev="jahlborn" type="fix" issue="1942330">
  290. Access seems to limit data pages to a max of 255 rows.
  291. </action>
  292. <action dev="jahlborn" type="fix" issue="1564870">
  293. Added experimental support for "large" indexes. The current support
  294. is optional. It can be enabled via a variety of means, see the
  295. Database javadoc for more details.
  296. </action>
  297. </release>
  298. <release version="1.1.13" date="2008-03-21">
  299. <action dev="jahlborn" type="fix" issue="1913775">
  300. More fixes for index parsing. Believe index names are now correctly
  301. matched up with indexes.
  302. </action>
  303. <action dev="jahlborn" type="update">
  304. Simplify comparison algorithms for RowId and Index.Entry using type
  305. attributes.
  306. </action>
  307. <action dev="jahlborn" type="fix" issue="1906160">
  308. Expand the characters supported in index updates to all of the
  309. ISO-8859-1 character set.
  310. </action>
  311. <action dev="jahlborn" type="fix">
  312. Fix bug caused by sign extension when reading single-byte row numbers.
  313. </action>
  314. <action dev="jahlborn" type="update">
  315. Modify Index update support so that it honors the "unique" and
  316. "ignoreNulls" properties for the Index.
  317. </action>
  318. <action dev="jahlborn" type="update">
  319. Add support for reading table relationships.
  320. </action>
  321. <action dev="jahlborn" type="fix">
  322. Fix creation of tables with auto-number columns.
  323. </action>
  324. <action dev="jahlborn" type="fix" issue="1832723">
  325. Completely fix problems with sporadic usage map corruption.
  326. </action>
  327. <action dev="jahlborn" type="update">
  328. Add some soft buffer caching in various places to avoid excessive
  329. buffer reallocation.
  330. </action>
  331. <action dev="jahlborn" type="add">
  332. Add some builder-style utilities for table creation (ColumnBuilder,
  333. TableBuilder).
  334. </action>
  335. </release>
  336. <release version="1.1.12" date="2008-02-27">
  337. <action dev="jahlborn" type="fix">
  338. Resolve more edge cases around date handling.
  339. </action>
  340. <action dev="jahlborn" type="fix" issue="1899076">
  341. Fix writing of large memo/ole fields. Apparently Access does not like
  342. "inline" fields longer than 64 bytes.
  343. </action>
  344. <action dev="jahlborn" type="fix" issue="1898793">
  345. Fix generation of security access control entries. Use userIds
  346. already existing in the database file instead of hard-coded userIds,
  347. if possible.
  348. </action>
  349. </release>
  350. <release version="1.1.11" date="2008-01-20">
  351. <action dev="jahlborn" type="fix">
  352. Support reading inline usage maps with more than 512 pages.
  353. </action>
  354. <action dev="jahlborn" type="fix" issue="1832723">
  355. Fix some problems with sporadic usage map corruption.
  356. </action>
  357. <action dev="jahlborn" type="update">
  358. Move from cvs to subversion.
  359. </action>
  360. </release>
  361. <release version="1.1.10" date="2007-12-26">
  362. <action dev="jahlborn" type="add">
  363. Add index based table traversal support to Cursor with optional
  364. sub-range narrowing. Add position save/restore, row find, and a
  365. variety of other features.
  366. </action>
  367. <action dev="jahlborn" type="add">
  368. Move table iteration out of Table and into Cursor. First stage in
  369. offering more complicated table access.
  370. </action>
  371. <action dev="jahlborn" type="fix" issue="1681954">
  372. Update table row count correctly on row deletion or bulk row addition,
  373. bug #1681954.
  374. </action>
  375. <action dev="jahlborn" type="update" issue="1565216">
  376. Add experimental support for auto-number columns, feature request
  377. #1565216.
  378. </action>
  379. <action dev="jahlborn" type="update">
  380. Move project to maven2 and change project groupId to
  381. com.healthmarketscience.jackcess.
  382. </action>
  383. </release>
  384. <release version="1.1.9" date="2007-07-12">
  385. <action dev="jahlborn" type="fix" issue="1675522">
  386. Add support for writing large table definitions, bug #1675522.
  387. </action>
  388. <action dev="jahlborn" type="fix" issue="1748827">
  389. Fix handling of usage maps for large tables, bug #1748827.
  390. </action>
  391. <action dev="jahlborn" type="fix" issue="1672071">
  392. Fixed some edge cases for reading numeric columns, bug #1672071.
  393. </action>
  394. </release>
  395. <release version="1.1.8" date="2007-02-13">
  396. <action dev="jahlborn" type="update">
  397. Additional info in DataType to support better type validation
  398. (scale/precision range). Add "unit size" concept.
  399. </action>
  400. <action dev="jahlborn" type="update">
  401. Add CLOB support in JDBC handling. Add general support for large
  402. types (BLOB/CLOB).
  403. </action>
  404. <action dev="jahlborn" type="update">
  405. Enhance Database.copyTable/importReader to allow for better control
  406. over column definitions and row values through the ImportFilter.
  407. Change default type translation to handle large and variable length
  408. types better.
  409. </action>
  410. </release>
  411. <release version="1.1.7" date="2006-10-02">
  412. <action dev="jahlborn" type="update">
  413. Refactored DataType class, cleaned up a lot of "custom" data type code
  414. springled throughout the codebase.
  415. </action>
  416. <action dev="jahlborn" type="update">
  417. Added sanity checking on table creation (check column/table properties
  418. for validity).
  419. </action>
  420. <action dev="jahlborn" type="update">
  421. Clean up index reading/writing of text columns, add support for more
  422. characters
  423. </action>
  424. <action dev="jahlborn" type="update" issue="1563654">
  425. Support reading 'compressed' indexes (fix 1563654)
  426. </action>
  427. <action dev="jahlborn" type="update">
  428. Implement "overflow" row reading.
  429. </action>
  430. <action dev="jahlborn" type="fix">
  431. Allow multi-page long value reading.
  432. </action>
  433. <action dev="jahlborn" type="update">
  434. Implement multi-page long value writing.
  435. </action>
  436. <action dev="jahlborn" type="fix">
  437. Fix decimal data type writing.
  438. </action>
  439. <action dev="jahlborn" type="update" issue="1545857">
  440. Add support for opening files read-only (fix 1545857)
  441. </action>
  442. </release>
  443. <release version="1.1.6" date="2006-08-07">
  444. <action dev="jahlborn" type="fix" issue="1530312">
  445. Handle more tables with more index slots than actual indexes (fix bug
  446. 1530312)
  447. </action>
  448. <action dev="jahlborn" type="fix" issue="1449812">
  449. Clean up reading/writing 3-byte ints; long value length is 3-bytes
  450. (fix bug 1449812)
  451. </action>
  452. <action dev="jahlborn" type="fix">
  453. Fix handling of skipped rows
  454. </action>
  455. <action dev="jahlborn" type="fix" issue="1306970">
  456. When reading multi-page table def, flip buffer before parsing (fix bug
  457. 1306970)
  458. </action>
  459. <action dev="jahlborn" type="update">
  460. Treat table names as case insensitive; use stored table names when
  461. instantiating tables
  462. </action>
  463. <action dev="jahlborn" type="update">
  464. Make Database and Table Iterable
  465. </action>
  466. <action dev="jahlborn" type="fix">
  467. Use uppercase names when adding text columns to indexes, which fixes
  468. long standing problem with table names starting with lowercase
  469. characters (and other situations where tables could not be opened in
  470. Access). Remove hack which forced every table name to have uppercase
  471. first character.
  472. </action>
  473. <action dev="jahlborn" type="update">
  474. Clean up compressed text handling.
  475. </action>
  476. <action dev="jahlborn" type="update">
  477. Implement reading multi-page long binary values
  478. </action>
  479. </release>
  480. <release version="1.1.5" date="2006-07-25">
  481. <action dev="jahlborn" type="update">
  482. Add support for currency columns (thanks to James Schopp).
  483. </action>
  484. <action dev="jahlborn" type="fix">
  485. Handle tables with no variable length columns correctly.
  486. </action>
  487. <action dev="jahlborn" type="fix">
  488. Handle reading with deleted columns.
  489. </action>
  490. <action dev="jahlborn" type="update">
  491. Read information on primary keys and include in Index.
  492. </action>
  493. <action dev="jahlborn" type="fix">
  494. Fix some issues around reading indexes.
  495. </action>
  496. <action dev="jahlborn" type="update">
  497. Add write support for numeric/GUID columns.
  498. </action>
  499. <action dev="javajedi" type="update">
  500. Added getRowCount(), getName(), updated toString() on Table.
  501. </action>
  502. </release>
  503. <release version="1.1.4" date="2006-6-15">
  504. <action dev="jahlborn" type="fix">
  505. Missing break in switch condition.
  506. </action>
  507. <action dev="jahlborn" type="fix">
  508. Fixes
  509. to reading/writing MEMO/OLE columns.
  510. </action>
  511. <action dev="jahlborn" type="update">
  512. Made exceptions thrown when opening empty or nonexistent files more
  513. specific.
  514. </action>
  515. <action dev="jahlborn" type="fix">
  516. Apply patch from Jon Iles for handilng variable length columns.
  517. </action>
  518. <action dev="jahlborn" type="fix">
  519. Apply patch from Jon Iles for handling dates.
  520. </action>
  521. <action dev="jahlborn" type="fix">
  522. Apply patch from Jon Iles for reading GUIDs.
  523. </action>
  524. </release>
  525. <release version="1.1.3" date="2006-2-16">
  526. <action dev="jahlborn" type="fix">
  527. Fix parsing of NUMERIC type.
  528. </action>
  529. <action dev="javajedi" type="fix">
  530. Applied Jon Iles' patch to allow large table definitions to be read.
  531. </action>
  532. </release>
  533. <release version="1.1.2" date="2005-8-26">
  534. <action dev="javajedi" type="fix" issue="1273712">
  535. Fixed bug where writing null values into fixed-width columns was
  536. failing.
  537. </action>
  538. </release>
  539. <release version="1.1.1" date="2005-8-20">
  540. <action dev="javajedi" type="fix" issue="1261536">
  541. Fixed bug in reading index count from table definition. Skip overflow
  542. rows.
  543. </action>
  544. </release>
  545. <release version="1.1" date="2005-8-12">
  546. <action dev="javajedi" type="update">
  547. JDK 1.5 upgrades
  548. </action>
  549. <action dev="javajedi" type="update">
  550. Applied Mitchell Friedman's patch for support of additional JDBC data
  551. types.
  552. </action>
  553. <action dev="javajedi" type="update">
  554. Added support for deleted rows.
  555. </action>
  556. </release>
  557. <release version="1.0" date="2005-4-7">
  558. <action dev="javajedi" type="add">
  559. Initial release
  560. </action>
  561. </release>
  562. </body>
  563. </document>