From bfa452a375ea0a0a3f95304a69186936567e5263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 14 Aug 2023 19:45:36 +0200 Subject: New upstream version 4.1.4 --- docs/misc/AutoUpdate.txt | 54 ------------------------ docs/misc/DirectoryStructure.txt | 32 -------------- docs/misc/ExpressionNotes.ods | Bin 20662 -> 0 bytes docs/misc/Expressions.txt | 13 ------ docs/misc/FileTypeByte.txt | 53 ----------------------- docs/misc/IndexNotes.ods | Bin 23172 -> 0 bytes docs/misc/RealDelete.txt | 88 --------------------------------------- docs/misc/Release.txt | 34 --------------- docs/misc/Versions.txt | 30 ------------- docs/misc/xbTmpFiles.txt | 12 ------ 10 files changed, 316 deletions(-) delete mode 100755 docs/misc/AutoUpdate.txt delete mode 100755 docs/misc/DirectoryStructure.txt delete mode 100755 docs/misc/ExpressionNotes.ods delete mode 100755 docs/misc/Expressions.txt delete mode 100755 docs/misc/FileTypeByte.txt delete mode 100755 docs/misc/IndexNotes.ods delete mode 100755 docs/misc/RealDelete.txt delete mode 100755 docs/misc/Release.txt delete mode 100755 docs/misc/Versions.txt delete mode 100755 docs/misc/xbTmpFiles.txt (limited to 'docs/misc') diff --git a/docs/misc/AutoUpdate.txt b/docs/misc/AutoUpdate.txt deleted file mode 100755 index 909bc18..0000000 --- a/docs/misc/AutoUpdate.txt +++ /dev/null @@ -1,54 +0,0 @@ - -Auto Update Design / Functionality - - -Auto update functionality in the library is used to automatically update -records in tables, when the user moves off a particular record without -explicitly posting an update for the new data updates. - -The auto Update logic defaults to ON, and there is nothing that the -end user needs to worry about. - -However, if it is desired to change the behavior of the library, the -Auto Update logic can be turned off. - -There are two levels to the Auto Update logic. - -The first level is the DBMS level, which controls how all tables are -handled, if the Auto Update logic is not over ridden at the table level. - -The second level is the table level. The DBMS Auto Update logic can -be over ridden at the table level. - - -For the DBMS level settings, see methods: - xBase::GetDefaultAutoUpdate - xBase::SetDefaultAutoUpdate - -At the DBMS level, there are two settings - xbFalse = AutoUpdate is off - xbTrue = AutoUpdate is on - -For the Table level settings, see methods: - xbDbf::SetAutoUpdate - xbDbf::GetAutoUpdate - -At the table level, there are three settings - -1 = Use the DBMS setting (this is the default) - 0 = Do not use Auto Update on this table - 1 = Use Auto Update on this table. - -These seetings would be for a more advanceed implementation of -XBase64. For the most part, you can ignore these settings and -use the defaults that are already set in the library and you should -be OK. - - -This document is missing some functions - -x:DisableDefaultAutoLock() -x:EnableDefaultAutoLock() - - - - diff --git a/docs/misc/DirectoryStructure.txt b/docs/misc/DirectoryStructure.txt deleted file mode 100755 index 9a7ba66..0000000 --- a/docs/misc/DirectoryStructure.txt +++ /dev/null @@ -1,32 +0,0 @@ - -6/14/14 - The directory structure was updated with xb64 V4.0.0 - - - -xb64 - xb64 (Source Tree) - include - xb64 - examples - utils - - docs - html - license - misc - - Linux (Build Tree for Linux) - bin - Processor - - Windows (Build Tree for Windows) - bin - Processor - - Mac (Build Tree for Mac) - bin - Processor - - OtherPlatforms (Build tree for other platforms) - bin - Processor \ No newline at end of file diff --git a/docs/misc/ExpressionNotes.ods b/docs/misc/ExpressionNotes.ods deleted file mode 100755 index 6817de2..0000000 Binary files a/docs/misc/ExpressionNotes.ods and /dev/null differ diff --git a/docs/misc/Expressions.txt b/docs/misc/Expressions.txt deleted file mode 100755 index d6eed0d..0000000 --- a/docs/misc/Expressions.txt +++ /dev/null @@ -1,13 +0,0 @@ - - - -Expression Date Logic - - - DATE - DATE returns number - DATE - Number returns date - DATE + Number returns date - DATE -= Number returns date - DATE += Number returns date - DATE ++ returns date - DATE -- returns date \ No newline at end of file diff --git a/docs/misc/FileTypeByte.txt b/docs/misc/FileTypeByte.txt deleted file mode 100755 index 11d4823..0000000 --- a/docs/misc/FileTypeByte.txt +++ /dev/null @@ -1,53 +0,0 @@ - - - -Valid dBASE for Windows table file, bits 0-2 indicate version number: 3 for dBASE Level 5, 4 for dBASE Level 7. -Bit 3 and bit 7 indicate presence of a dBASE IV or dBASE for Windows memo file; -bits 4-6 indicate the presence of a dBASE IV SQL table; -bit 7 indicates the presence of any .DBT memo file (either a dBASE III PLUS type or a dBASE IV or dBASE for Windows memo file). - - -The first byte of the DBF file determines the xbase file version - -76543210 -00000000 - -| - True if any memo file - | - True if Version 4 memo file - || - True for both V3 and V4 files - - - - -00000011 - Could be a version III or version IV file, lib defaults to IV -10000011 - Version III with memo -10001011 - Version IV with memo - - - -Logic for checking for which version - - 3 bit 4 not set, bit 5&6 set, if bit 0 set and bit 3 not set, then V3 - 4 bit 4 not set, bit 5&6 set, if bit 0 set and bit 3 set - 5 bit 4 not set, bit 5&6 set, if bit 0 set and bit 3 set ->=7 bit 4 set - - - - bit 0 bit 3 bit 4 bit 5 bit 6 -V III Optional 0 0 1 1 No field type F -V IV Optional if bit0 then 1 0 1 1 Supports field type F -V V Optional if bit0 then 1 0 1 1 Supports field type F - -V VII ? ? 1 0 0 - - - -pseudocode logic - -if not bit 4, and bit 5 and bit 6 -{ - if V4 compiled in, if not (bit0 and not bit3) return V4 - else - if V3 compiled in and not bit3, and not prod mdx, return V3 -} \ No newline at end of file diff --git a/docs/misc/IndexNotes.ods b/docs/misc/IndexNotes.ods deleted file mode 100755 index 0b3cabc..0000000 Binary files a/docs/misc/IndexNotes.ods and /dev/null differ diff --git a/docs/misc/RealDelete.txt b/docs/misc/RealDelete.txt deleted file mode 100755 index 7770afc..0000000 --- a/docs/misc/RealDelete.txt +++ /dev/null @@ -1,88 +0,0 @@ - - -Earlier versions of the library included an Xbase specific functin called "Real Delete" - -The analysis is as follows: - -Updates to xbdbf.h and xbdbf.cpp - -#ifdef XB_REAL_DELETE - ... -#endif - -Functions included: - - RealDeleteOn() Turns on RealDelete - RealDeleteOff() Turns off RealDelete - GetRealDelete() Returns the status of RealDelete - -Narrative: - -This should be done before creating a database with xbDbf::CreateDatabase() and -thereafter before opening a database with xbDbfCreateDatabase() - - -You can not turn on real deletes once a database has been created and records added - - -In the Table header -bytes 12-15 - FirstFreeRec; -bytes 16-19 - RealNumRecs - - -Updates to the following methods: -WriteHeader() -ReadHeader() - -The first four bytes of the deleted record is the record number to the next -deleted record in the chain - -Append Record will pull next record from the chain and attempt to use that -field, otherwise it will append a new record - -GetFirstRecord will skip over deleted records looking for the first record -which is not deleted - -GetLastRecord will skip backwards to the next previous undeleted record - -GetPrevRecord skips backwards to the the next previous undeleted record - -DeleteRecord - -Deletes the memo data - - Adds the record to the front of the free chain - -UndeleteRecord - - Always returns XB_INVALID_RECORD - -PackDatafiles - - Deleted Records are skipped - -NoOfRecords - - Returns no of records not deleted - -PhysicalNoOfRecords() - - Return NoOfRecs - actual number of records in the file - - - -Conclusions: - -From a campatibility standpoint: - - This setup will only work on the earlier version of the Xbase file format as this would - be library specific code. - - Also, once past Dbase V3, the bytes used in the header file are used by Dbase 4,5,7 - - -Decision: - - In an effort to make the library as portable as possible moving forward, a decision was made to - leave this code out of the basic library. To add this code in the future, a new class can be created - using the xbDbf class as a base class, and override the methods mentioned above. - - - - - - diff --git a/docs/misc/Release.txt b/docs/misc/Release.txt deleted file mode 100755 index f73af11..0000000 --- a/docs/misc/Release.txt +++ /dev/null @@ -1,34 +0,0 @@ - -xb64 4.0.0 Release notes - - List of updates with xbase 4.0.0 - 1) Converted from automake/autoconf to cmake - 2) Updated xbstring logic - 3) Created test programs for using in cmake - 4) Tested each method in the following environments - A) Linux Slackware 64 bit - B) Linux Slackware 32 bit - C) Mac OSX Lion, 64 bit build - D) Windows 64 bit build - E) Windows 32 bit build - F) Borland 32 bit build - 5) Updated the Get/Put field methods so they all have a - common look and feel. All the get/put methods now return - a return code indicating success/failure. - 6) Abstracted file i/o activity into xbFile class - used to - isolate the platform specifics out of the main dbms class - and improve portability. Utilized 64 bit functions where - possible - 7) Reworked the Lock logic, tested on various platforms. - Mac OSX supports on locking on NFS shares only. - Mac does not support locking on SMB shares - OS limitation. - Unix based file systems don't support file lock functionality, - if using in combination with sdoftware like DBase, Dbase supports - exclusive locking which is not supported on native Linux file systems - 8) Converted integer field names and checked for correct field lengths - xbInt16 16 bit integer - xbUInt16 16 bit unsigned integer - xbInt32 32 bit integer - xbUInt32 32 bit unsigned integer - xbInt64 64 bit integer - xbUInt64 64 bit unsigned integer diff --git a/docs/misc/Versions.txt b/docs/misc/Versions.txt deleted file mode 100755 index 2977341..0000000 --- a/docs/misc/Versions.txt +++ /dev/null @@ -1,30 +0,0 @@ - - - - -Differences between Dbase III and Dbase IV - - Dbase IV adds field type "F" Float - Dbase IV adds a more sophisticated DBT memo file, utilizes logic to reclaim disk space on memo field updates - Dbase IV adds support for MDX multi tag indices - - - - -Version III Field Types - - C Char - N Numeric - D Date - M Memo - L Logical - - -Version IV Field Types - - C Char - N Numeric - D Date - M Memo - L Logical - F Float (Similar to numeric) \ No newline at end of file diff --git a/docs/misc/xbTmpFiles.txt b/docs/misc/xbTmpFiles.txt deleted file mode 100755 index f81bee9..0000000 --- a/docs/misc/xbTmpFiles.txt +++ /dev/null @@ -1,12 +0,0 @@ - - -At times, the Xbase64 library will create temporary work files with the -following naming pattern: xbtmpNNN.xxx Where NNN is a sequential -number and xxx is either dbf, dbt, ndx, mdx. - -These files should be automatically deleted by the library when -the task is complete. However, if the program crashes in a particular -step, the temp files might not be cleaned up automatically. - -If you run into these files, and they have an older timestamp on them, -it is safe to delete them. \ No newline at end of file -- cgit v1.2.3