public boolean deleteRecord(Field key) throws IOException {
		synchronized (db) {
			db.checkTransaction();
			boolean result = false;

			if (rootBufferId < 0) {
				return false;
			}
			if (key instanceof LongField) {
				return deleteRecord(key.getLongValue());
			}
			try {
				++modCount;
				FieldKeyNode rootNode = getFieldKeyNode(rootBufferId);
				FieldKeyRecordNode leaf = rootNode.getLeafNode(key);
				rootNode = leaf.deleteRecord(key, isIndexed ? this : null);

				if (rootNode != null) {
					int id = rootNode.getBufferId();
					if (rootBufferId != id) {
						rootBufferId = id;
						tableRecord.setRootBufferId(rootBufferId);
					}
				}
				else {
					rootBufferId = -1;
					tableRecord.setRootBufferId(rootBufferId);
				}

			}
			finally {
				// Release node buffers and update record count
				int delta = nodeMgr.releaseNodes();
				if (delta != 0) {
					result = true;
					recordCount += delta;
					tableRecord.setRecordCount(recordCount);
				}
			}
			return result;
		}
	}
Delete a record identified by the specified key value.
@param key unique record key.
@return true if record was deleted successfully.
@throws IOException throw if an IO Error occurs
Ghidra/Framework/DB/src/main/java/db/Table.java