From 7b82d9de14e0b3ab596b71a09f85d369163d1e09 Mon Sep 17 00:00:00 2001 From: Benjamin Zengin Date: Thu, 21 Jul 2016 15:41:02 +0200 Subject: [PATCH] Adds missing ASSERT_ROW_COLUMNS to gsql and bind --- modules/bindbackend/binddnssec.cc | 3 +++ pdns/backends/gsql/gsqlbackend.cc | 1 + 2 files changed, 4 insertions(+) diff --git a/modules/bindbackend/binddnssec.cc b/modules/bindbackend/binddnssec.cc index 6d91db2331..b432e3067f 100644 --- a/modules/bindbackend/binddnssec.cc +++ b/modules/bindbackend/binddnssec.cc @@ -89,6 +89,8 @@ void Bind2Backend::freeStatements() #include "pdns/logger.hh" #include "pdns/ssqlite3.hh" +#define ASSERT_ROW_COLUMNS(query, row, num) { if (row.size() != num) { throw PDNSException(std::string(query) + " returned wrong number of columns, expected " #num ", got " + std::to_string(row.size())); } } + void Bind2Backend::setupDNSSEC() { if(getArg("dnssec-db").empty() || d_hybrid) @@ -334,6 +336,7 @@ bool Bind2Backend::addDomainKey(const DNSName& name, const KeyData& key, int64_t } SSqlStatement::row_t row; d_GetLastInsertedKeyIdQuery_stmt->nextRow(row); + ASSERT_ROW_COLUMNS("get-last-inserted-key-id-query", row, 1); int id = std::stoi(row[0]); d_GetLastInsertedKeyIdQuery_stmt->reset(); return true; diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index 8c01b14afd..da28653d06 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -671,6 +671,7 @@ bool GSQLBackend::addDomainKey(const DNSName& name, const KeyData& key, int64_t& } SSqlStatement::row_t row; d_GetLastInsertedKeyIdQuery_stmt->nextRow(row); + ASSERT_ROW_COLUMNS("get-last-inserted-key-id-query", row, 1); id = std::stoi(row[0]); d_GetLastInsertedKeyIdQuery_stmt->reset(); return true; -- 2.47.2