# # patch "ChangeLog" # from [37ece97991f08515c18cf1d12a9330b1a5acefd3] # to [36b3ee0ff5fb9824aebe6856cc2860eaf2f0d238] # # patch "database.cc" # from [8ba130dca3d9ea3af77ff4ca881859111ffdabb3] # to [227d05b851a171bf13c1fa3899e2183d13e9678e] # --- ChangeLog +++ ChangeLog @@ -1,3 +1,10 @@ +2005-07-13 Derek Scherger + + * database.cc (debug): delete stale comment + (delete_branch_named): + (delete_tag_named): + (clear): replace vprintf stuff with query parameters + 2005-07-13 Nathaniel Smith * monotone.texi (Database): Document kill_tag_locally. --- database.cc +++ database.cc @@ -363,8 +363,6 @@ database::debug(string const & sql, ostream & out) { results res; - // "%s" construction prevents interpretation of %-signs in the query string - // as formatting commands. fetch(res, any_cols, any_rows, sql.c_str()); out << "'" << sql << "' -> " << res.size() << " rows\n" << endl; for (size_t i = 0; i < res.size(); ++i) @@ -1558,9 +1556,9 @@ base64 encoded; encode_base64(branch, encoded); L(F("Deleting all references to branch %s\n") % branch); - execute("DELETE FROM revision_certs WHERE name='branch' AND value ='%s'", + execute("DELETE FROM revision_certs WHERE name='branch' AND value =?", encoded().c_str()); - execute("DELETE FROM branch_epochs WHERE branch='%s'", + execute("DELETE FROM branch_epochs WHERE branch=?", encoded().c_str()); } @@ -1571,7 +1569,7 @@ base64 encoded; encode_base64(tag, encoded); L(F("Deleting all references to tag %s\n") % tag); - execute("DELETE FROM revision_certs WHERE name='tag' AND value ='%s'", + execute("DELETE FROM revision_certs WHERE name='tag' AND value =?", encoded().c_str()); } @@ -2228,9 +2226,11 @@ results res; completions.clear(); + string pattern = partial + "*"; + fetch(res, 2, any_rows, - "SELECT hash, id FROM public_keys WHERE hash GLOB '%q*'", - partial.c_str()); + "SELECT hash, id FROM public_keys WHERE hash GLOB ?", + pattern.c_str()); for (size_t i = 0; i < res.size(); ++i) completions.insert(make_pair(key_id(res[i][0]), utf8(res[i][1]))); @@ -2238,8 +2238,8 @@ res.clear(); fetch(res, 2, any_rows, - "SELECT hash, id FROM private_keys WHERE hash GLOB '%q*'", - partial.c_str()); + "SELECT hash, id FROM private_keys WHERE hash GLOB ?", + pattern.c_str()); for (size_t i = 0; i < res.size(); ++i) completions.insert(make_pair(key_id(res[i][0]), utf8(res[i][1])));