Skip to content

Commit 01c108d

Browse files
committed
Get the handle to the session once
1 parent eb00307 commit 01c108d

1 file changed

Lines changed: 9 additions & 13 deletions

File tree

src/database/Database.cpp

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -328,33 +328,29 @@ migrateLedgerHeadersToStoreState(Database& db)
328328
{
329329
// Migrate LCL header from ledgerheaders table to storestate
330330
std::string lclHash;
331-
332-
db.getRawSession() << "SELECT state FROM storestate WHERE statename = "
333-
"'lastclosedledger'",
331+
auto& sess = db.getRawSession();
332+
sess << "SELECT state FROM storestate WHERE statename = "
333+
"'lastclosedledger'",
334334
soci::into(lclHash);
335+
335336
// When we're doing this migration for a new db, storestate will be empty.
336337
// So, only try to set lastclosedledgerheader when the data is found
337-
if (db.getRawSession().got_data())
338+
if (sess.got_data())
338339
{
339-
340340
if (lclHash.empty())
341341
{
342342
throw std::runtime_error(
343343
"No reference in DB to any last closed ledger");
344344
}
345-
346345
std::string headerData =
347346
LedgerHeaderUtils::getHeaderDataForHash(db, hexToBin256(lclHash));
348-
349-
db.getRawSession() << "INSERT INTO storestate (statename, state) "
350-
"VALUES ('lastclosedledgerheader', :v)",
347+
sess << "INSERT INTO storestate (statename, state) VALUES "
348+
"('lastclosedledgerheader', :v)",
351349
soci::use(headerData);
352-
353-
db.getRawSession()
354-
<< "DELETE FROM storestate WHERE statename = 'lastclosedledger'";
350+
sess << "DELETE FROM storestate WHERE statename = 'lastclosedledger'";
355351
}
356352

357-
db.getRawSession() << "DROP TABLE ledgerheaders";
353+
sess << "DROP TABLE ledgerheaders";
358354
}
359355

360356
void

0 commit comments

Comments
 (0)