 		_fflush(p->Log);
 	}
 
+#pragma endregion
+
+#pragma region Output
+
 	static void OutputHexBlob(FILE *out_, const void *blob, int blobLength)
 	{
 		char *blob2 = (char *)blob;


	static int callback(void *args, int colLength, char **colValues, char **colNames)
	{
		return shell_callback(args, colLength, colValues, colNames, nullptr); // since we don't have type info, call the shell_callback with a NULL value
	}

	static void SetTableName(struct CallbackData *p, const char *name)
	{

	}

	// A routine for handling output from sqlite3_trace().
	static void SqlTraceCallback(void *arg, const char *z)
	{
		FILE *f = (FILE *)arg;
		if (f) _fprintf(f, "%s\n", z);
	}

	// A no-op routine that runs with the ".breakpoint" doc-command.  This is a useful spot to set a debugger breakpoint.
	static void TestBreakpoint()
	{
		static int calls = 0;
		calls++;
	}



#pragma endregion

#pragma region META

	static int DoMetaCommand(char *line, struct CallbackData *p)
	{
		int i = 1;
		int argsLength = 0;
