diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2023-08-14 19:45:36 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2023-08-14 19:45:36 +0200 |
commit | bfa452a375ea0a0a3f95304a69186936567e5263 (patch) | |
tree | aade062a143c1afcc4ea06ee27905ffc34a9217b /docs/misc/RealDelete.txt | |
parent | dd70ff8bf32c2d7ed365004b1770058265db1978 (diff) |
New upstream version 4.1.4
Diffstat (limited to 'docs/misc/RealDelete.txt')
-rwxr-xr-x | docs/misc/RealDelete.txt | 88 |
1 files changed, 0 insertions, 88 deletions
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. - - - - - - |