mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-26 22:15:52 +00:00
Reset prepared statements after use, not before.
This commit is contained in:
@@ -113,7 +113,6 @@ void HashedObjectStore::bulkWrite()
|
|||||||
default: type = "U";
|
default: type = "U";
|
||||||
}
|
}
|
||||||
|
|
||||||
pSt.reset();
|
|
||||||
pSt.bind(1, it->getHash().GetHex());
|
pSt.bind(1, it->getHash().GetHex());
|
||||||
pSt.bind(2, type);
|
pSt.bind(2, type);
|
||||||
pSt.bind(3, it->getIndex());
|
pSt.bind(3, it->getIndex());
|
||||||
@@ -124,6 +123,7 @@ void HashedObjectStore::bulkWrite()
|
|||||||
cLog(lsFATAL) << "Error saving hashed object " << ret;
|
cLog(lsFATAL) << "Error saving hashed object " << ret;
|
||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
pSt.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
db->executeSQL("END TRANSACTION;");
|
db->executeSQL("END TRANSACTION;");
|
||||||
@@ -186,12 +186,12 @@ HashedObject::pointer HashedObjectStore::retrieve(const uint256& hash)
|
|||||||
static SqliteStatement pSt(theApp->getHashNodeDB()->getDB()->getSqliteDB(),
|
static SqliteStatement pSt(theApp->getHashNodeDB()->getDB()->getSqliteDB(),
|
||||||
"SELECT ObjType,LedgerIndex,Object FROM CommittedObjects WHERE Hash = ?;");
|
"SELECT ObjType,LedgerIndex,Object FROM CommittedObjects WHERE Hash = ?;");
|
||||||
|
|
||||||
pSt.reset();
|
|
||||||
pSt.bind(1, hash.GetHex());
|
pSt.bind(1, hash.GetHex());
|
||||||
|
|
||||||
int ret = pSt.step();
|
int ret = pSt.step();
|
||||||
if (pSt.isDone(ret))
|
if (pSt.isDone(ret))
|
||||||
{
|
{
|
||||||
|
pSt.reset();
|
||||||
mNegativeCache.add(hash);
|
mNegativeCache.add(hash);
|
||||||
cLog(lsTRACE) << "HOS: " << hash <<" fetch: not in db";
|
cLog(lsTRACE) << "HOS: " << hash <<" fetch: not in db";
|
||||||
return obj;
|
return obj;
|
||||||
@@ -200,6 +200,7 @@ HashedObject::pointer HashedObjectStore::retrieve(const uint256& hash)
|
|||||||
type = pSt.peekString(0);
|
type = pSt.peekString(0);
|
||||||
index = pSt.getUInt32(1);
|
index = pSt.getUInt32(1);
|
||||||
pSt.getBlob(2).swap(data);
|
pSt.getBlob(2).swap(data);
|
||||||
|
pSt.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -548,9 +548,9 @@ Ledger::pointer Ledger::loadByIndex(uint32 ledgerIndex)
|
|||||||
"ClosingTime,PrevClosingTime,CloseTimeRes,CloseFlags,LedgerSeq"
|
"ClosingTime,PrevClosingTime,CloseTimeRes,CloseFlags,LedgerSeq"
|
||||||
" from Ledgers WHERE LedgerSeq = ?;");
|
" from Ledgers WHERE LedgerSeq = ?;");
|
||||||
|
|
||||||
pSt.reset();
|
|
||||||
pSt.bind(1, ledgerIndex);
|
pSt.bind(1, ledgerIndex);
|
||||||
ledger = getSQL1(&pSt);
|
ledger = getSQL1(&pSt);
|
||||||
|
pSt.reset();
|
||||||
}
|
}
|
||||||
if (ledger)
|
if (ledger)
|
||||||
Ledger::getSQL2(ledger);
|
Ledger::getSQL2(ledger);
|
||||||
@@ -569,9 +569,9 @@ Ledger::pointer Ledger::loadByHash(const uint256& ledgerHash)
|
|||||||
"ClosingTime,PrevClosingTime,CloseTimeRes,CloseFlags,LedgerSeq"
|
"ClosingTime,PrevClosingTime,CloseTimeRes,CloseFlags,LedgerSeq"
|
||||||
" from Ledgers WHERE LedgerHash = ?;");
|
" from Ledgers WHERE LedgerHash = ?;");
|
||||||
|
|
||||||
pSt.reset();
|
|
||||||
pSt.bind(1, ledgerHash.GetHex());
|
pSt.bind(1, ledgerHash.GetHex());
|
||||||
ledger = getSQL1(&pSt);
|
ledger = getSQL1(&pSt);
|
||||||
|
pSt.reset();
|
||||||
}
|
}
|
||||||
if (ledger)
|
if (ledger)
|
||||||
{
|
{
|
||||||
@@ -731,17 +731,18 @@ bool Ledger::getHashesByIndex(uint32 ledgerIndex, uint256& ledgerHash, uint256&
|
|||||||
static SqliteStatement pSt(con->getDB()->getSqliteDB(),
|
static SqliteStatement pSt(con->getDB()->getSqliteDB(),
|
||||||
"SELECT LedgerHash,PrevHash FROM Ledgers INDEXED BY SeqLedger Where LedgerSeq = ?;");
|
"SELECT LedgerHash,PrevHash FROM Ledgers INDEXED BY SeqLedger Where LedgerSeq = ?;");
|
||||||
|
|
||||||
pSt.reset();
|
|
||||||
pSt.bind(1, ledgerIndex);
|
pSt.bind(1, ledgerIndex);
|
||||||
|
|
||||||
int ret = pSt.step();
|
int ret = pSt.step();
|
||||||
if (pSt.isDone(ret))
|
if (pSt.isDone(ret))
|
||||||
{
|
{
|
||||||
|
pSt.reset();
|
||||||
cLog(lsTRACE) << "Don't have ledger " << ledgerIndex;
|
cLog(lsTRACE) << "Don't have ledger " << ledgerIndex;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!pSt.isRow(ret))
|
if (!pSt.isRow(ret))
|
||||||
{
|
{
|
||||||
|
pSt.reset();
|
||||||
assert(false);
|
assert(false);
|
||||||
cLog(lsFATAL) << "Unexpected statement result " << ret;
|
cLog(lsFATAL) << "Unexpected statement result " << ret;
|
||||||
return false;
|
return false;
|
||||||
@@ -749,6 +750,7 @@ bool Ledger::getHashesByIndex(uint32 ledgerIndex, uint256& ledgerHash, uint256&
|
|||||||
|
|
||||||
ledgerHash.SetHex(pSt.peekString(0), true);
|
ledgerHash.SetHex(pSt.peekString(0), true);
|
||||||
parentHash.SetHex(pSt.peekString(1), true);
|
parentHash.SetHex(pSt.peekString(1), true);
|
||||||
|
pSt.reset();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user