From: Mukund Sivaraman Date: Mon, 8 Oct 2012 17:29:25 +0000 (+0530) Subject: Merge branch 'trac1899_2' X-Git-Tag: trac2351_base~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=daedcaea541b1193018cb71d3cc68ba3ba9ff59c;p=thirdparty%2Fkea.git Merge branch 'trac1899_2' --- daedcaea541b1193018cb71d3cc68ba3ba9ff59c diff --cc src/lib/datasrc/sqlite3_accessor.cc index 672121eb48,dc7c794ad3..68d655477a --- a/src/lib/datasrc/sqlite3_accessor.cc +++ b/src/lib/datasrc/sqlite3_accessor.cc @@@ -665,29 -668,22 +675,32 @@@ public iterator_type_(qtype == QT_NSEC3 ? ITT_NSEC3 : ITT_NAME), accessor_(accessor), statement_(NULL), + statement2_(NULL), + rc_(SQLITE_OK), + rc2_(SQLITE_OK), name_(name) { - // Choose the statement text depending on the query type - const char* statement(NULL); + // Choose the statement text depending on the query type, and + // prepare a statement to get data from it. switch (qtype) { case QT_ANY: - statement = text_statements[ANY]; + statement_ = prepare(accessor->dbparameters_->db_, + text_statements[ANY]); + bindZoneId(id); + bindName(name_); break; case QT_SUBDOMAINS: - statement = text_statements[ANY_SUB]; + statement_ = prepare(accessor->dbparameters_->db_, + text_statements[ANY_SUB]); + bindZoneId(id); + // Done once, this should not be very inefficient. + bindName(isc::dns::Name(name_).reverse().toText() + "%"); break; case QT_NSEC3: - statement = text_statements[NSEC3]; + statement_ = prepare(accessor->dbparameters_->db_, + text_statements[NSEC3]); + bindZoneId(id); + bindName(name_); break; default: // Can Not Happen - there isn't any other type of query