Files
UnrealEngineUWP/Engine/Source/Runtime/SQLiteSupport/Public/SQLiteDatabaseConnection.h
ben marsh 2e1769a893 Fix IWYU issues with SQLite support.
#jira UE-64523
#rb none

#ROBOMERGE-SOURCE: CL 4403136 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)

[CL 4403137 by ben marsh in Staging-4.21 branch]
2018-09-27 16:41:01 -04:00

45 lines
1.5 KiB
C++

// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "SQLiteSupport.h"
#include "SQLiteResultSet.h"
/**
* SQLite database file
*/
//Forward declarations
struct sqlite3;
class FSQLiteDatabase : FDataBaseConnection
{
public:
/** Closes the database handle and unlocks the file */
SQLITESUPPORT_API virtual void Close();
/** Execute a command on the database without storing the result set (if any) */
SQLITESUPPORT_API virtual bool Execute(const TCHAR* CommandString) override;
/** Executes the command string on the currently opened database, returning a FSQLiteResultSet in RecordSet. Caller is responsible for freeing RecordSet */
SQLITESUPPORT_API bool Execute(const TCHAR* CommandString, FSQLiteResultSet*& RecordSet);
/** Open a SQLite file
* @param ConnectionString Path to the file that should be opened
* @param RemoteConnectionIP Unused with this implementation
* @param ConnectionString Unused with this implementation
*/
SQLITESUPPORT_API virtual bool Open(const TCHAR* ConnectionString, const TCHAR* RemoteConnectionIP, const TCHAR* RemoteConnectionStringOverride);
//Overriding to address warning C4264 - SQLite databases should call Execute(const TCHAR* CommandString, FSQLiteResultSet*& RecordSet) instead
SQLITESUPPORT_API virtual bool Execute(const TCHAR* CommandString, FDataBaseRecordSet*& RecordSet) override;
SQLITESUPPORT_API FString GetLastError();
protected:
sqlite3* DbHandle = NULL;
};