Set file status to 92 when opening old indexed file #694
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a version compatibility check for indexed files in the COBOL runtime, ensuring that older file formats are detected and handled gracefully. It adds a new status code for version incompatibility, implements logic to detect outdated indexed file schemas, and expands the test suite to cover this scenario.
File version compatibility and error handling:
COB_STATUS_92_VERSION_INCOMPATIBLEtoCobolFileand updated methods (open,cob_delete_file) to handle this status, allowing the runtime to report version incompatibility errors. [1] [2] [3]checkVersionOld()method inCobolIndexedFileto verify that required tables and columns exist in the indexed file's SQLite database, returning the new status code if the file format is outdated. This check is now invoked before opening an existing file. [1] [2]Testing and build system:
old-file.atwhich was created with opensource COBOL 4J 1.1.11 to verify that the system correctly detects and reports version incompatibility for old indexed files.Makefile.am,Makefile.in, andindexed-lock.at) to include the new test. [1] [2] [3]