mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
SQLite: Use tableval iteration instead of ToMap for pragmas
This commit is contained in:
parent
384ea046b3
commit
57d797e087
1 changed files with 10 additions and 4 deletions
|
@ -5,7 +5,9 @@
|
||||||
#include <thread>
|
#include <thread>
|
||||||
|
|
||||||
#include "zeek/3rdparty/sqlite3.h"
|
#include "zeek/3rdparty/sqlite3.h"
|
||||||
|
#include "zeek/CompHash.h"
|
||||||
#include "zeek/DebugLogger.h"
|
#include "zeek/DebugLogger.h"
|
||||||
|
#include "zeek/Dict.h"
|
||||||
#include "zeek/Func.h"
|
#include "zeek/Func.h"
|
||||||
#include "zeek/Val.h"
|
#include "zeek/Val.h"
|
||||||
#include "zeek/storage/ReturnCode.h"
|
#include "zeek/storage/ReturnCode.h"
|
||||||
|
@ -95,11 +97,15 @@ OperationResult SQLite::DoOpen(OpenResultCallback* cb, RecordValPtr options) {
|
||||||
return open_res;
|
return open_res;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto pragmas = backend_options->GetField<TableVal>("pragma_commands")->ToMap();
|
auto pragmas = backend_options->GetField<TableVal>("pragma_commands");
|
||||||
for ( const auto& [k, v] : pragmas ) {
|
for ( const auto& iter : *(pragmas->Get()) ) {
|
||||||
auto ks = k->AsListVal()->Idx(0)->AsStringVal();
|
auto k = iter.GetHashKey();
|
||||||
|
auto v = iter.value;
|
||||||
|
auto vl = pragmas->GetTableHash()->RecoverVals(*k);
|
||||||
|
|
||||||
|
auto ks = vl->AsListVal()->Idx(0)->AsStringVal();
|
||||||
auto ks_sv = ks->ToStdStringView();
|
auto ks_sv = ks->ToStdStringView();
|
||||||
auto vs = v->AsStringVal();
|
auto vs = v->GetVal()->AsStringVal();
|
||||||
auto vs_sv = vs->ToStdStringView();
|
auto vs_sv = vs->ToStdStringView();
|
||||||
|
|
||||||
auto pragma_res = RunPragma(ks_sv, vs_sv);
|
auto pragma_res = RunPragma(ks_sv, vs_sv);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue