public static boolean checkSettingsForInsert(DescriptionManager manage,
			DatabaseInformation info) throws LSHException, DatabaseNonFatalException {
		if (manage.numFunctions() == 0) {
			throw new DatabaseNonFatalException("Empty signature file");
		}
		int res = info.checkSignatureSettings(manage.getMajorVersion(), manage.getMinorVersion(),
			manage.getSettings());
		if (res == 0) {
			return false;
		}
		if (res == 1) {
			throw new LSHException(
				"Trying to insert signature data with slight differences in settings");
		}
		if (res == 4) {
			return true; // This apparently is the first insert
		}
		if (res == 3) {
			throw new LSHException("Trying to insert signature data with no setting information");
		}
		throw new LSHException("Trying to insert signature data " +
			getFormattedVersion(manage.getMajorVersion(), manage.getMinorVersion(),
				manage.getSettings()) +
			" with settings that don't match database " +
			getFormattedVersion(info.major, info.minor, info.settings));
	}
Send a query to the database.  The response is returned as a QueryResponseRecord.
If this is null, an error has occurred and an error message can be obtained from getLastError
@param query an object describing the query
@return the response object or null if there is an error
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/FunctionDatabase.java