Tidy up SQLite support into ripple_sqlite

This commit is contained in:
Vinnie Falco
2013-06-21 09:32:25 -07:00
parent bbaca7ebe9
commit cdc28c3fcf
11 changed files with 124 additions and 69 deletions

View File

@@ -12,7 +12,7 @@
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup> <ItemDefinitionGroup>
<ClCompile> <ClCompile>
<PreprocessorDefinitions>USE_LEVELDB;BOOST_TEST_ALTERNATIVE_INIT_API;BOOST_TEST_NO_MAIN;_WIN32_WINNT=0x0600;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>BOOST_TEST_ALTERNATIVE_INIT_API;BOOST_TEST_NO_MAIN;_WIN32_WINNT=0x0600;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>$(RepoDir);$(RepoDir)\src\cpp\protobuf\src;$(RepoDir)\src\cpp\protobuf\vsprojects;$(RepoDir)\build\proto;$(RepoDir)\Subtrees;$(RepoDir)\Subtrees\leveldb;$(RepoDir)\Subtrees\leveldb\include;$(RepoDir)\Subtrees\beast;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(RepoDir);$(RepoDir)\src\cpp\protobuf\src;$(RepoDir)\src\cpp\protobuf\vsprojects;$(RepoDir)\build\proto;$(RepoDir)\Subtrees;$(RepoDir)\Subtrees\leveldb;$(RepoDir)\Subtrees\leveldb\include;$(RepoDir)\Subtrees\beast;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

View File

@@ -169,6 +169,12 @@
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\modules\ripple_sqlite\ripple_sqlite.c">
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level4</WarningLevel>
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level4</WarningLevel>
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Level4</WarningLevel>
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level4</WarningLevel>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_websocket\autosocket\ripple_AutoSocket.cpp"> <ClCompile Include="..\..\modules\ripple_websocket\autosocket\ripple_AutoSocket.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@@ -728,12 +734,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\modules\ripple_db\ripple_db.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_json\json\json_reader.cpp"> <ClCompile Include="..\..\modules\ripple_json\json\json_reader.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@@ -753,19 +753,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\modules\ripple_json\ripple_json.cpp" /> <ClCompile Include="..\..\modules\ripple_json\ripple_json.cpp" />
<ClCompile Include="..\..\modules\ripple_ledger\ripple_ledger.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_net\ripple_net.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\cpp\database\sqlite3.c" />
<ClCompile Include="..\..\src\cpp\leveldb_core.cpp"> <ClCompile Include="..\..\src\cpp\leveldb_core.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -1511,8 +1498,6 @@
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\BeastConfig.h" /> <ClInclude Include="..\..\BeastConfig.h" />
<ClInclude Include="..\..\build\proto\ripple.pb.h" /> <ClInclude Include="..\..\build\proto\ripple.pb.h" />
<ClInclude Include="..\..\database\sqlite3.h" />
<ClInclude Include="..\..\database\sqlite3ext.h" />
<ClInclude Include="..\..\modules\ripple_app\ripple_app.h" /> <ClInclude Include="..\..\modules\ripple_app\ripple_app.h" />
<ClInclude Include="..\..\modules\ripple_basics\containers\ripple_KeyCache.h" /> <ClInclude Include="..\..\modules\ripple_basics\containers\ripple_KeyCache.h" />
<ClInclude Include="..\..\modules\ripple_basics\containers\ripple_RangeSet.h" /> <ClInclude Include="..\..\modules\ripple_basics\containers\ripple_RangeSet.h" />
@@ -1561,7 +1546,6 @@
<ClInclude Include="..\..\modules\ripple_data\ripple_data.h" /> <ClInclude Include="..\..\modules\ripple_data\ripple_data.h" />
<ClInclude Include="..\..\modules\ripple_data\utility\ripple_JSONCache.h" /> <ClInclude Include="..\..\modules\ripple_data\utility\ripple_JSONCache.h" />
<ClInclude Include="..\..\modules\ripple_data\utility\ripple_UptimeTimerAdapter.h" /> <ClInclude Include="..\..\modules\ripple_data\utility\ripple_UptimeTimerAdapter.h" />
<ClInclude Include="..\..\modules\ripple_db\ripple_db.h" />
<ClInclude Include="..\..\modules\ripple_json\json\json_autolink.h" /> <ClInclude Include="..\..\modules\ripple_json\json\json_autolink.h" />
<ClInclude Include="..\..\modules\ripple_json\json\json_batchallocator.h" /> <ClInclude Include="..\..\modules\ripple_json\json\json_batchallocator.h" />
<ClInclude Include="..\..\modules\ripple_json\json\json_config.h" /> <ClInclude Include="..\..\modules\ripple_json\json\json_config.h" />
@@ -1571,8 +1555,7 @@
<ClInclude Include="..\..\modules\ripple_json\json\json_value.h" /> <ClInclude Include="..\..\modules\ripple_json\json\json_value.h" />
<ClInclude Include="..\..\modules\ripple_json\json\json_writer.h" /> <ClInclude Include="..\..\modules\ripple_json\json\json_writer.h" />
<ClInclude Include="..\..\modules\ripple_json\ripple_json.h" /> <ClInclude Include="..\..\modules\ripple_json\ripple_json.h" />
<ClInclude Include="..\..\modules\ripple_ledger\ripple_ledger.h" /> <ClInclude Include="..\..\modules\ripple_sqlite\ripple_sqlite.h" />
<ClInclude Include="..\..\modules\ripple_net\ripple_net.h" />
<ClInclude Include="..\..\modules\ripple_websocket\autosocket\ripple_AutoSocket.h" /> <ClInclude Include="..\..\modules\ripple_websocket\autosocket\ripple_AutoSocket.h" />
<ClInclude Include="..\..\modules\ripple_websocket\ripple_websocket.h" /> <ClInclude Include="..\..\modules\ripple_websocket\ripple_websocket.h" />
<ClInclude Include="..\..\src\cpp\protobuf\src\google\protobuf\descriptor.h"> <ClInclude Include="..\..\src\cpp\protobuf\src\google\protobuf\descriptor.h">

View File

@@ -7,9 +7,6 @@
<Filter Include="0. Third Party Code\beast"> <Filter Include="0. Third Party Code\beast">
<UniqueIdentifier>{290b7b39-a4e6-4b8b-b464-d1e458562fdd}</UniqueIdentifier> <UniqueIdentifier>{290b7b39-a4e6-4b8b-b464-d1e458562fdd}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="0. Third Party Code\SQLite">
<UniqueIdentifier>{60c3631e-8855-4a61-bdd3-9892d96242d5}</UniqueIdentifier>
</Filter>
<Filter Include="0. Third Party Code\LevelDB"> <Filter Include="0. Third Party Code\LevelDB">
<UniqueIdentifier>{83e0c1a9-5ac4-4c68-ba62-45e24bf60c85}</UniqueIdentifier> <UniqueIdentifier>{83e0c1a9-5ac4-4c68-ba62-45e24bf60c85}</UniqueIdentifier>
</Filter> </Filter>
@@ -82,15 +79,6 @@
<Filter Include="2. %28Unused%29"> <Filter Include="2. %28Unused%29">
<UniqueIdentifier>{786657f9-b1b3-483c-a8e6-863cc2e02eb8}</UniqueIdentifier> <UniqueIdentifier>{786657f9-b1b3-483c-a8e6-863cc2e02eb8}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="2. %28Unused%29\ripple_net">
<UniqueIdentifier>{7f76ce57-c428-487e-97a0-979c0990a81d}</UniqueIdentifier>
</Filter>
<Filter Include="2. %28Unused%29\ripple_db">
<UniqueIdentifier>{a5190241-c5bc-4e23-8ef1-6adf757c75e3}</UniqueIdentifier>
</Filter>
<Filter Include="2. %28Unused%29\ripple_ledger">
<UniqueIdentifier>{b6175f9a-7d46-4b57-877f-f58b0b3bba89}</UniqueIdentifier>
</Filter>
<Filter Include="2. %28Unused%29\ripple_client"> <Filter Include="2. %28Unused%29\ripple_client">
<UniqueIdentifier>{97c96b68-70fd-4679-89fc-c1c8c87c265e}</UniqueIdentifier> <UniqueIdentifier>{97c96b68-70fd-4679-89fc-c1c8c87c265e}</UniqueIdentifier>
</Filter> </Filter>
@@ -145,11 +133,11 @@
<Filter Include="1. Modules\ripple_websocket\autosocket"> <Filter Include="1. Modules\ripple_websocket\autosocket">
<UniqueIdentifier>{9cd9dfb0-daa3-474e-b1c7-b048f5b85e71}</UniqueIdentifier> <UniqueIdentifier>{9cd9dfb0-daa3-474e-b1c7-b048f5b85e71}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="1. Modules\ripple_sqlite">
<UniqueIdentifier>{6bbe236f-79ff-4e30-928c-bf5f302b3a21}</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\src\cpp\database\sqlite3.c">
<Filter>0. Third Party Code\SQLite</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cpp\leveldb_core.cpp"> <ClCompile Include="..\..\src\cpp\leveldb_core.cpp">
<Filter>0. Third Party Code\LevelDB</Filter> <Filter>0. Third Party Code\LevelDB</Filter>
</ClCompile> </ClCompile>
@@ -306,21 +294,12 @@
<ClCompile Include="..\..\modules\ripple_basics\ripple_basics.cpp"> <ClCompile Include="..\..\modules\ripple_basics\ripple_basics.cpp">
<Filter>1. Modules\ripple_basics</Filter> <Filter>1. Modules\ripple_basics</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\modules\ripple_ledger\ripple_ledger.cpp">
<Filter>2. %28Unused%29\ripple_ledger</Filter>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_client\ripple_client.cpp"> <ClCompile Include="..\..\modules\ripple_client\ripple_client.cpp">
<Filter>2. %28Unused%29\ripple_client</Filter> <Filter>2. %28Unused%29\ripple_client</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\cpp\ripple\ChangeTransactor.cpp"> <ClCompile Include="..\..\src\cpp\ripple\ChangeTransactor.cpp">
<Filter>1. Modules\ripple_app\_unfactored\transactions</Filter> <Filter>1. Modules\ripple_app\_unfactored\transactions</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\modules\ripple_db\ripple_db.cpp">
<Filter>2. %28Unused%29\ripple_db</Filter>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_net\ripple_net.cpp">
<Filter>2. %28Unused%29\ripple_net</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cpp\ripple\Interpreter.cpp"> <ClCompile Include="..\..\src\cpp\ripple\Interpreter.cpp">
<Filter>1. Modules\ripple_app\_unfactored\contracts</Filter> <Filter>1. Modules\ripple_app\_unfactored\contracts</Filter>
</ClCompile> </ClCompile>
@@ -903,6 +882,9 @@
<ClCompile Include="..\..\src\cpp\ripple\ripple_SqliteDatabase.cpp"> <ClCompile Include="..\..\src\cpp\ripple\ripple_SqliteDatabase.cpp">
<Filter>1. Modules\ripple_app\_unfactored\db</Filter> <Filter>1. Modules\ripple_app\_unfactored\db</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\modules\ripple_sqlite\ripple_sqlite.c">
<Filter>1. Modules\ripple_sqlite</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\src\cpp\protobuf\src\google\protobuf\service.h"> <ClInclude Include="..\..\src\cpp\protobuf\src\google\protobuf\service.h">
@@ -1073,21 +1055,12 @@
<ClInclude Include="..\..\modules\ripple_basics\ripple_basics.h"> <ClInclude Include="..\..\modules\ripple_basics\ripple_basics.h">
<Filter>1. Modules\ripple_basics</Filter> <Filter>1. Modules\ripple_basics</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\modules\ripple_ledger\ripple_ledger.h">
<Filter>2. %28Unused%29\ripple_ledger</Filter>
</ClInclude>
<ClInclude Include="..\..\modules\ripple_client\ripple_client.h"> <ClInclude Include="..\..\modules\ripple_client\ripple_client.h">
<Filter>2. %28Unused%29\ripple_client</Filter> <Filter>2. %28Unused%29\ripple_client</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\cpp\ripple\ChangeTransactor.h"> <ClInclude Include="..\..\src\cpp\ripple\ChangeTransactor.h">
<Filter>1. Modules\ripple_app\_unfactored\transactions</Filter> <Filter>1. Modules\ripple_app\_unfactored\transactions</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\modules\ripple_db\ripple_db.h">
<Filter>2. %28Unused%29\ripple_db</Filter>
</ClInclude>
<ClInclude Include="..\..\modules\ripple_net\ripple_net.h">
<Filter>2. %28Unused%29\ripple_net</Filter>
</ClInclude>
<ClInclude Include="..\..\src\cpp\ripple\Interpreter.h"> <ClInclude Include="..\..\src\cpp\ripple\Interpreter.h">
<Filter>1. Modules\ripple_app\_unfactored\contracts</Filter> <Filter>1. Modules\ripple_app\_unfactored\contracts</Filter>
</ClInclude> </ClInclude>
@@ -1503,12 +1476,6 @@
<ClInclude Include="..\..\modules\ripple_basics\utility\ripple_CountedObject.h"> <ClInclude Include="..\..\modules\ripple_basics\utility\ripple_CountedObject.h">
<Filter>1. Modules\ripple_basics\utility</Filter> <Filter>1. Modules\ripple_basics\utility</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\database\sqlite3.h">
<Filter>0. Third Party Code\SQLite</Filter>
</ClInclude>
<ClInclude Include="..\..\database\sqlite3ext.h">
<Filter>0. Third Party Code\SQLite</Filter>
</ClInclude>
<ClInclude Include="..\..\build\proto\ripple.pb.h"> <ClInclude Include="..\..\build\proto\ripple.pb.h">
<Filter>1. Modules\ripple_data\protocol</Filter> <Filter>1. Modules\ripple_data\protocol</Filter>
</ClInclude> </ClInclude>
@@ -1728,6 +1695,9 @@
<ClInclude Include="..\..\src\cpp\ripple\ripple_Database.h"> <ClInclude Include="..\..\src\cpp\ripple\ripple_Database.h">
<Filter>1. Modules\ripple_app\_unfactored\db</Filter> <Filter>1. Modules\ripple_app\_unfactored\db</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\modules\ripple_sqlite\ripple_sqlite.h">
<Filter>1. Modules\ripple_sqlite</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="..\..\src\cpp\protobuf\src\google\protobuf\descriptor.proto"> <None Include="..\..\src\cpp\protobuf\src\google\protobuf\descriptor.proto">

View File

@@ -158,9 +158,11 @@ DEBUGFLAGS = ['-g', '-DDEBUG']
BOOSTFLAGS = ['-DBOOST_TEST_DYN_LINK', '-DBOOST_FILESYSTEM_NO_DEPRECATED'] BOOSTFLAGS = ['-DBOOST_TEST_DYN_LINK', '-DBOOST_FILESYSTEM_NO_DEPRECATED']
env.Append(LINKFLAGS = ['-rdynamic', '-pthread']) env.Append(LINKFLAGS = ['-rdynamic', '-pthread'])
env.Append(CCFLAGS = ['-pthread', '-Wall', '-Wno-sign-compare', '-Wno-char-subscripts', '-DSQLITE_THREADSAFE=1']) env.Append(CCFLAGS = ['-pthread', '-Wall', '-Wno-sign-compare', '-Wno-char-subscripts'])
env.Append(CXXFLAGS = ['-O0', '-pthread', '-Wno-invalid-offsetof', '-Wformat']+BOOSTFLAGS+DEBUGFLAGS) env.Append(CXXFLAGS = ['-O0', '-pthread', '-Wno-invalid-offsetof', '-Wformat']+BOOSTFLAGS+DEBUGFLAGS)
env.Append(CXXFLAGS = ['-DUSE_LEVELDB'])
# RTTI is required for Beast and CountedObject.
#
env.Append(CXXFLAGS = ['-frtti']) env.Append(CXXFLAGS = ['-frtti'])
if (int(GCC_VERSION[0]) > 4 or (int(GCC_VERSION[0]) == 4 and int(GCC_VERSION[1]) >= 7)): if (int(GCC_VERSION[0]) > 4 or (int(GCC_VERSION[0]) == 4 and int(GCC_VERSION[1]) >= 7)):

View File

@@ -43,3 +43,10 @@ master
**NOTE** Linux builds use the protobuf installed in /usr/lib. This will be **NOTE** Linux builds use the protobuf installed in /usr/lib. This will be
fixed in a future revision. fixed in a future revision.
## SQLite
Not technically a subtree but included here because it is a direct
copy of the official SQLite distributions available here:
http://sqlite.org/download.html

View File

@@ -83,10 +83,9 @@
#include <openssl/ripemd.h> #include <openssl/ripemd.h>
#include <openssl/sha.h> #include <openssl/sha.h>
// for SqliteDatabase.cpp
#include "src/cpp/database/sqlite3.h"
//------------------------------------------------------------------------------
#include "../modules/ripple_sqlite/ripple_sqlite.h" // for SqliteDatabase.cpp
// VFALCO TODO fix these warnings! // VFALCO TODO fix these warnings!
#ifdef _MSC_VER #ifdef _MSC_VER

View File

@@ -0,0 +1,65 @@
//------------------------------------------------------------------------------
/*
Copyright (c) 2011-2013, OpenCoin, Inc.
*/
//==============================================================================
/** Add this to get the @ref ripple_sqlite module.
@file ripple_sqlite.cpp
@ingroup ripple_sqlite
*/
// This prevents sqlite.h from being included
//
#define RIPPLE_SQLITE_MODULE_INCLUDED 1
#include "ripple_sqlite.h"
#if BEAST_MSVC
#pragma warning (push)
#pragma warning (disable: 4100) /* unreferenced formal parameter */
#pragma warning (disable: 4127) /* conditional expression is constant */
#pragma warning (disable: 4232) /* nonstandard extension used: dllimport address */
#pragma warning (disable: 4244) /* conversion from 'int': possible loss of data */
#pragma warning (disable: 4701) /* potentially uninitialized variable */
#pragma warning (disable: 4706) /* assignment within conditional expression */
#endif
/* When compiled with SQLITE_THREADSAFE=1, SQLite operates in serialized mode.
In this mode, SQLite can be safely used by multiple threads with no restriction.
VFALCO NOTE This implies a global mutex!
NOTE Windows builds never had the threading model set. However, SQLite
defaults to Serialized (SQLITE_THREADSAFE == 1). Does Ripple need
Serialized mode? Because Ripple already uses a mutex with every
instance of the sqlite database session object.
*/
#define SQLITE_THREADSAFE 1
/* When compiled with SQLITE_THREADSAFE=2, SQLite can be used in a
multithreaded program so long as no two threads attempt to use the
same database connection at the same time.
VFALCO NOTE This is the preferred threading model.
TODO Determine if Ripple can support this model.
*/
//#define SQLITE_THREADSAFE 2
// VFALCO TODO Move this into Beast
#define BEAST_PP_STR2_(x) #x
#define BEAST_PP_STR1_(x) BEAST_PP_STR2_(x)
#define BEAST_FILEANDLINE_ __FILE__ "("BEAST_PP_STR1_(__LINE__)"): warning:"
// VFALCO TODO We should try running with SQLITE_THREADSAFE==2 and see what happens.
#if SQLITE_THREADSAFE != 2
#pragma message(BEAST_FILEANDLINE_"Possible performance issue, SQLITE_THREADSAFE != 2")
#endif
#include "sqlite/sqlite3.c"
#if BEAST_MSVC
#pragma warning (pop)
#endif

View File

@@ -0,0 +1,29 @@
//------------------------------------------------------------------------------
/*
Copyright (c) 2011-2013, OpenCoin, Inc.
*/
//==============================================================================
/** Include this to get the @ref ripple_sqlite module.
@file ripple_sqlite.h
@ingroup ripple_sqlite
*/
/** Sqlite3 support.
This module brings in the Sqlite embedded database engine.
@defgroup ripple_sqlite
*/
#ifndef RIPPLE_SQLITE_RIPPLEHEADER
#define RIPPLE_SQLITE_RIPPLEHEADER
#include "beast/modules/beast_core/system/beast_TargetPlatform.h"
#if ! RIPPLE_SQLITE_MODULE_INCLUDED
#include "sqlite/sqlite3.h"
#endif
#endif