1CHANGELOG dbf - dBASE Reader and Converter 2Author: Bjoern Berg <clergyman@gmx.de>, Uwe Steinmann <uwe@steinmann.cx> 3Please send suggestions, code pieces and comments directly to the authors 4email address 5File sorted in order of date of release 6 70.9.0 DEVELOPMENT 8- (Release-Date) 9- data in csv output is only surrounded by enclosure char if data 10 contains the separator char 11- fixed output of numbers in sql output (sometimes a 'NULL' preceeded 12 the number) 13- fixed wasting of memory in sql.c 14- exporting dbase is possible 15- new options --quiet, --start-record and --num-records 16- new option --usecopy allows to use COPY instead of INSERT statement 17 in sql output. 18- use libdbf for dBASE file access 19- added option --nocreate, --tablename, --empty-str-is-null 20- various speed improvements 21- nicer formating of sql output, partial rewrite of code 22- major update of man page 23- endian swapping is now centralized for a better performance 24- table dropping and Creation can be now deactivated 25- fixed bug in sql export option when a column value is NULL. 26- fixed column statistic if backlink is detected 27- fixed handling of deleted datasets 28- fixed --trim b|r which ate up 1 char strings 29- checks if filesize equals calculated file size (could be disabled in dbf.h 30 by setting DBF_FILE_CHECK to 0) 31- Paths to a backlink database are taken into account for header_length 32 calculation but not for processing 33 340.8.1 STABLE 352003-20-10 (Release-Date) 36- fixed CSV converting, data sets are now converted properly 37- using '-' as a filename means stdout 38- fixed csv output. separator char within a field value are now treated 39 propperly (Uwe) 40- Do not put the separator char after the last field in csv output (Uwe) 41- Add field type, size and decimals to field name in first line of csv 42 output (Uwe) 43 440.8 STABLE 452003-11-09 (Release-Date) 46- Changed the options parsing system and the options id, so that options 47 with a single hyphen can also be used and displayed in the help. 48- Inserted a fail safe routine which checks that the original file will 49 never be overwritten if the options filename is missing 50- Tab-separated files without quoted text-passages can be created by using 51 't' as separator. 52- Fix for date strings in SQL: According the PostgreSQL manual, SQL (ANSI) 53 requires date strings to be quoted, ie. '20031029' 54 send in by Tommi Rintala, t2r@wasalab.com 55- Can differentiate between dBASE, FoxPro, FoxBase and Clipper 56- --view-info reports the database type and version number 57- supports datatypes int, float, double and logical in SQL and CSV 58- introduced cast operations for CSV and SQL export 59- differentiates between deleted and existent data sets 60 61 620.7 STABLE 632003-09-14 (Release-Date) 64Changelog send in by Mikhail Teterin: 65- Totally reworked options parsing. 66- Using the new options-parsing scheme, I added the way to specify the 67 desired CSV separator, debug level, and string-trimming option (below). 68- When outputing the SQL file, strings, probably, should not be trimmed, 69 and that is now a default. The trimming can now be specified as: 70 --trim {r|l|b} 71- The two codepage-conversion functions combined into one, which is also 72 made table-driven. 73- Record-conversion can now be turned off with the --noconv option. 74- While input is still opened and read directly with open/read (perhaps, 75 it should stay that way), the output file is operated on using the stdio 76 functions fopen() and fprintf(), fputs, putc(). 77- Some reorganization in the variable-declaration and other cleanups... 78 79 800.6 STABLE 81(Release-Date) 82- dbf can export dBASE files to SQL instruction sets 83- new Makefiles 84- works on AIX 4.3.3 85- new file system structure -> src contains all header and source files 86- fixes in macro definitions 87- increased macro MAX_FIELDS from 50 to 500 to solve bug #003 reported in 88 the document BUGS 89- fixes in endian.c, reported by Uwe Steinmann 90 91 920.5 STABLE 932003-02-17 (Release-Date) 94- Support for Big Endian systems (PPC): stable 95- improvements in endian.h 96* dbf.c: 97 - Removed free() calls on static buffers. char buffer[565656]; 98 - Caught return from csv_open in csvhandle. 99 - initialised export_filename to NULL to ensure later calls like 100 if(export_filename) succeed correctly. 101* iodbf.h: 102 - Made csv_open return the handle that it generates instead of 1. 103- minor/major bugfixes 104- and all changes made in the beta versions 105 106 1070.5beta02 DEVELOPMENT 10807.02.2003 (Release-Date) 109- Override flag for Big Endian systems implemented. Use --ppc to disable 110 the system check 111- Fixes in the help 112- minor feature enhancements and improved error detection 113 114 1150.5beta01 DEVELOPMENT 11601.02.2003 (Release-Date) 117- Support for Big Endian systems implemented 118- Fixes in codepages 119- Fixes for displaying the date (showing it now in normal english syntax) 120- Fixed output for table structure 121- Wall-flag for gcc added in Makefile 122- major code clean-up 123 124 1250.4.0 STABLE 12624.01.2003 (Release-Date) 127- Support for Alpha-RISC based systems added 128- New debug and output features (--view-info flag updated) 129- added endian.h for PPC developers (see FAQ) 130- new documents: BUGS, FAQ 131- changes in Makefile for binary package builds 132 133 1340.3.2 STABLE 13506.12.2002 (Release-Date) 136- added Makefile for Linux 137- new documents (INSTALL, MANIFEST, CREDITS) 138 139 1400.3.1.1 DEVELOPMENT 14130.11.2002 (Release-Date) 142- code cleanup for MSVC 143 144 1450.3.1 DEVELOPMENT 14623.11.2002 (Release-Date) 147- Fix implementation send in by Andy Jeffries, 148 Email: opensource@andyjeffries.co.uk 149 Description: 150 I had a problem trying to convert a DBF file that was about 280Mb in size. 151 Basically you had a memory leak with your dynamically allocated buffers. [...] 152 The 280Mb file I was converting was using memory like it was going out 153 of fashion (getting up to 900Mb+ before being process-killed). It now 154 seems to use a constant 424Kb of memory (according to top). 155 156 1570.2.7 STABLE 15811.10.2002 (Release-Date) 159- code cleanup to avoid warning messages in MSVC 160- codepages.h: 161 warning C4305 in MSVC -> fixed 162 warning C4018 in MSVC -> fixed 163- an_string.h: 164 warning C4018 in MSVC -> fixed 165- changes will be added also to version 0.3.1 (coming soon) 166 167 1680.3.0 DEVELOPMENT 16905.10.2002 (Date of last fixes) 170- table structure enhanced for dBASE IV and 5 171- declared as BETA resp. development version 172- automated codepage selection for western european languages 173- CSV Export improved (faster now) 174- field information and statistical output now reachable with a new flag (no 175longer automated output) 176- short help with description of new flags 177 178 1790.2.6 18020.09.2002 (Release-Date) 181- short help / command overview is now officially implemented 182- output improved (looks better now) 183- dbf.c splitted to iodbf.h, an_string.h, statistic.h, tables.h 184- code cleanup 185 186 1870.2.5 18815.09.2002 (Release-/Modification-Date) 189- Implementation of Code Pages to view umlauts and special chars correctly 190 (this is a development feature which has to be tested by the people using 191 dbf, because I did not find any documentation about the reserved header 192 bits in dbf III. At the moment dbf controls the behaviour by Bit 31) 193- Supported languages with special chars at the moment: german, french; 194 more to come 195- for more details acc. to the new features check out the README and the 196 anubisnet Support Center 197 198 1990.2 20028.07.2002 (Release-Date) 201- Converter for csv implemented (use -c Flag, see README for handling) 202- function trim_spaces implemented, skips backslashes in the CSV file 203 204 2050.1 206June 2002 207- First implementation 208- Output for dBase3 databases, based on a version by Joachim Astel, 1989 209