{ "name": "RecoveryFile", "comment": "VersionFile records buffer changes and parameters necessary to reconstruct an\n older version of a LocalBufferFile.", "javadoc": "\u003ccode\u003eVersionFile\u003c/code\u003e records buffer changes and parameters necessary to reconstruct an\n older version of a LocalBufferFile.", "static": false, "implements": [], "extends": "java.lang.Object", "fields": [ { "name": "MAGIC_NUMBER", "comment": "", "javadoc": "", "static": true, "type_long": "int", "type_short": "int", "constant_value": "954103380" }, { "name": "VALID", "comment": "", "javadoc": "", "static": true, "type_long": "int", "type_short": "int", "constant_value": "1" }, { "name": "INVALID", "comment": "", "javadoc": "", "static": true, "type_long": "int", "type_short": "int", "constant_value": "0" }, { "name": "RECOVERY_PARM_PREFIX", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"~RF.\"" }, { "name": "MAGIC_NUMBER_PARM", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"~RF.VersionFile\"" }, { "name": "SRC_FILE_ID_HI_PARM", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"~RF.SrcIdHi\"" }, { "name": "SRC_FILE_ID_LOW_PARM", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"~RF.SrcIdLow\"" }, { "name": "IS_VALID_PARM", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"~RF.OrigBufCnt\"" }, { "name": "TIMESTAMP_HI_PARM", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"~RF.TimestampHi\"" }, { "name": "TIMESTAMP_LOW_PARM", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"~RF.TimestampLow\"" }, { "name": "MAP_BUFFER_INDEX_PARM", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"~RF.MapIndex\"" }, { "name": "FREE_LIST_BUFFER_INDEX_PARM", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"~RF.FreeListIndex\"" }, { "name": "FREE_LIST_SIZE_PARM", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"~RF.FreeListSize\"" }, { "name": "INDEX_COUNT_PARM", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"~RF.BufferCount\"" }, { "name": "BAD_FREE_LIST", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"Recovery file is corrupt - bad free list\"" }, { "name": "BAD_BUFFER_MAP", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"Recovery file is corrupt - bad buffer map\"" }, { "name": "NEXT_BUFFER_INDEX_OFFSET", "comment": "", "javadoc": "", "static": true, "type_long": "int", "type_short": "int", "constant_value": "0" }, { "name": "FIRST_ENTRY_OFFSET", "comment": "", "javadoc": "", "static": true, "type_long": "int", "type_short": "int", "constant_value": "4" }, { "name": "readOnly", "comment": "", "javadoc": "", "static": false, "type_long": "boolean", "type_short": "boolean", "constant_value": null }, { "name": "valid", "comment": "", "javadoc": "", "static": false, "type_long": "boolean", "type_short": "boolean", "constant_value": null }, { "name": "timestamp", "comment": "", "javadoc": "", "static": false, "type_long": "long", "type_short": "long", "constant_value": null }, { "name": "modified", "comment": "", "javadoc": "", "static": false, "type_long": "boolean", "type_short": "boolean", "constant_value": null }, { "name": "recoveryFile", "comment": "", "javadoc": "", "static": false, "type_long": "db.buffers.LocalBufferFile", "type_short": "LocalBufferFile", "constant_value": null }, { "name": "srcFileId", "comment": "", "javadoc": "", "static": false, "type_long": "long", "type_short": "long", "constant_value": null }, { "name": "indexCnt", "comment": "", "javadoc": "", "static": false, "type_long": "int", "type_short": "int", "constant_value": null }, { "name": "vfIndexProvider", "comment": "", "javadoc": "", "static": false, "type_long": "db.buffers.IndexProvider", "type_short": "IndexProvider", "constant_value": null }, { "name": "freeListIndex", "comment": "", "javadoc": "", "static": false, "type_long": "int", "type_short": "int", "constant_value": null }, { "name": "mapIndex", "comment": "", "javadoc": "", "static": false, "type_long": "int", "type_short": "int", "constant_value": null }, { "name": "freeIndexes", "comment": "", "javadoc": "", "static": false, "type_long": "int[]", "type_short": "int[]", "constant_value": null }, { "name": "bufferIndexMap", "comment": "", "javadoc": "", "static": false, "type_long": "ghidra.util.datastruct.IntIntHashtable", "type_short": "IntIntHashtable", "constant_value": null } ], "methods": [ { "name": "\u003cinit\u003e", "comment": "Construct a new recovery file for update/output.", "javadoc": "Construct a new recovery file for update/output.\n@param srcBf the original source buffer file to which this file applies.\n@param rfile version buffer file to be updated/created\n@param create true to create the file\n@throws IOException if the file already exists or an IO error occurs", "static": false, "params": [ { "name": "srcBf", "type_long": "db.buffers.LocalBufferFile", "type_short": "LocalBufferFile", "comment": "the original source buffer file to which this file applies." }, { "name": "rfile", "type_long": "java.io.File", "type_short": "File", "comment": "version buffer file to be updated/created" }, { "name": "create", "type_long": "boolean", "type_short": "boolean", "comment": "true to create the file" } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "if the file already exists or an IO error occurs" } ] }, { "name": "\u003cinit\u003e", "comment": "Construct a read-only recovery file", "javadoc": "Construct a read-only recovery file\n@param srcBf the original source buffer file to which this file applies.\n@param rfile version buffer file to be updated/created\n@throws IOException if the file already exists or an IO error occurs", "static": false, "params": [ { "name": "srcBf", "type_long": "db.buffers.LocalBufferFile", "type_short": "LocalBufferFile", "comment": "the original source buffer file to which this file applies." }, { "name": "rfile", "type_long": "java.io.File", "type_short": "File", "comment": "version buffer file to be updated/created" } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "if the file already exists or an IO error occurs" } ] }, { "name": "setModified", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [] }, { "name": "getFile", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "java.io.File", "type_short": "File", "comment": "" }, "throws": [] }, { "name": "isValid", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "boolean", "type_short": "boolean", "comment": "" }, "throws": [] }, { "name": "getTimestamp", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "long", "type_short": "long", "comment": "" }, "throws": [] }, { "name": "close", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "" } ] }, { "name": "parseFile", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "" } ] }, { "name": "saveBufferMap", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "" } ] }, { "name": "readBufferMap", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "java.util.NoSuchElementException", "type_short": "NoSuchElementException", "comment": "" }, { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "" } ] }, { "name": "saveFreeIndexList", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "" } ] }, { "name": "readFreeIndexList", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "java.util.NoSuchElementException", "type_short": "NoSuchElementException", "comment": "" }, { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "" } ] }, { "name": "setIndexCount", "comment": "Set the current index count for the file", "javadoc": "Set the current index count for the file\n@param newIndexCount the count", "static": false, "params": [ { "name": "newIndexCount", "type_long": "int", "type_short": "int", "comment": "the count" } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [] }, { "name": "getIndexCount", "comment": "Returns the index count for the file", "javadoc": "Returns the index count for the file\n@return the count", "static": false, "params": [], "return": { "type_long": "int", "type_short": "int", "comment": "the count" }, "throws": [] }, { "name": "setFreeIndexList", "comment": "Set the free index list", "javadoc": "Set the free index list\n@param freeIndexes the indexes", "static": false, "params": [ { "name": "freeIndexes", "type_long": "int[]", "type_short": "int[]", "comment": "the indexes" } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [] }, { "name": "getFreeIndexList", "comment": "Returns the list of free indexes associated with the original buffer file.", "javadoc": "Returns the list of free indexes associated with the original buffer file.\n@return the indexes", "static": false, "params": [], "return": { "type_long": "int[]", "type_short": "int[]", "comment": "the indexes" }, "throws": [] }, { "name": "putBuffer", "comment": "Store buffer which has been modified in the target.", "javadoc": "Store buffer which has been modified in the target.\n@param buf modified buffer\n@throws IOException if an IO error occurs", "static": false, "params": [ { "name": "buf", "type_long": "db.buffers.DataBuffer", "type_short": "DataBuffer", "comment": "modified buffer" } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "if an IO error occurs" } ] }, { "name": "removeBuffer", "comment": "Remove a buffer previously stored to the snapshot\n by removing it from the map. It is OK to invoke\n this method for an index whose buffer was never\n put into this file.", "javadoc": "Remove a buffer previously stored to the snapshot\n by removing it from the map. It is OK to invoke\n this method for an index whose buffer was never\n put into this file.\n@param id buffer ID", "static": false, "params": [ { "name": "id", "type_long": "int", "type_short": "int", "comment": "buffer ID" } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [] }, { "name": "getBuffer", "comment": "Get modified buffer associated with the specified storage index in the\n original file.", "javadoc": "Get modified buffer associated with the specified storage index in the\n original file.\n@param buf data buffer\n@param id buffer ID\n@return data buffer or null if buffer has not been modified\n@throws IOException if an IO error occurs", "static": false, "params": [ { "name": "buf", "type_long": "db.buffers.DataBuffer", "type_short": "DataBuffer", "comment": "data buffer" }, { "name": "id", "type_long": "int", "type_short": "int", "comment": "buffer ID" } ], "return": { "type_long": "db.buffers.DataBuffer", "type_short": "DataBuffer", "comment": "data buffer or null if buffer has not been modified" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "if an IO error occurs" } ] }, { "name": "getBufferIndexes", "comment": "Returns list of buffer indexes stored within this file.\n These indexes reflect those buffers which have been modified and stored.", "javadoc": "Returns list of buffer indexes stored within this file.\n These indexes reflect those buffers which have been modified and stored.\n@return the indexes", "static": false, "params": [], "return": { "type_long": "int[]", "type_short": "int[]", "comment": "the indexes" }, "throws": [] }, { "name": "getSourceFileID", "comment": "Returns file ID for original source buffer file which may be produced with this version file.", "javadoc": "Returns file ID for original source buffer file which may be produced with this version file.\n@return the id", "static": false, "params": [], "return": { "type_long": "long", "type_short": "long", "comment": "the id" }, "throws": [] }, { "name": "getUserParameterNames", "comment": "Returns a list of parameters defined within the original buffer file.", "javadoc": "Returns a list of parameters defined within the original buffer file.\n@return the names\n@throws IOException if the recovery file is null", "static": false, "params": [], "return": { "type_long": "java.lang.String[]", "type_short": "java.lang.String[]", "comment": "the names" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "if the recovery file is null" } ] }, { "name": "getParameter", "comment": "Get a parameter value associated with the original buffer file.", "javadoc": "Get a parameter value associated with the original buffer file.\n@param name parameter name\n@return parameter value\n@throws IOException if the recovery file is null", "static": false, "params": [ { "name": "name", "type_long": "java.lang.String", "type_short": "String", "comment": "parameter name" } ], "return": { "type_long": "int", "type_short": "int", "comment": "parameter value" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "if the recovery file is null" } ] }, { "name": "clearParameters", "comment": "Clear all user parameters", "javadoc": "Clear all user parameters", "static": false, "params": [], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [] }, { "name": "setParameter", "comment": "Set user parameter", "javadoc": "Set user parameter\n@param name the name\n@param value the value", "static": false, "params": [ { "name": "name", "type_long": "java.lang.String", "type_short": "String", "comment": "the name" }, { "name": "value", "type_long": "int", "type_short": "int", "comment": "the value" } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [] } ] }