monotone-commits-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-commits-diffs] net.venge.monotone.rich.monotone-0.99: e03b038


From: code
Subject: [Monotone-commits-diffs] net.venge.monotone.rich.monotone-0.99: e03b03803be312b096253cb58e184c24e9a459ce
Date: Mon, 21 Mar 2011 14:40:30 +0100 (CET)

revision:            e03b03803be312b096253cb58e184c24e9a459ce
date:                2011-01-21T21:20:51
author:              Richard Hopkins
branch:              net.venge.monotone.rich.monotone-0.99
changelog:
merge of '52efdbfabcc76d052bb125093c61086bf5f8874d'
     and '9f4f219ea85d2f27ea603c8fd54d7928991ddbe7'

manifest:
format_version "1"

new_manifest [84822941f1b95f78c2d489a829a047345730b21e]

old_revision [52efdbfabcc76d052bb125093c61086bf5f8874d]

patch "netsync.cc"
 from [23b3d65718b94c552bcbb12beb74b3a44f0c8b5e]
   to [bda5adcae7b66d8c3195a4eceae052a225219a17]

old_revision [9f4f219ea85d2f27ea603c8fd54d7928991ddbe7]

patch "database.cc"
 from [8bfff559a0894259fe3668294bd3906ae837129b]
   to [0e6c4d3b44354f925ccbb6ee7533297251ff1170]
============================================================
--- netsync.cc	23b3d65718b94c552bcbb12beb74b3a44f0c8b5e
+++ netsync.cc	bda5adcae7b66d8c3195a4eceae052a225219a17
@@ -110,6 +110,8 @@ call_server(app_state & app,
     instant(0,1);
 
   P(F("connecting to %s") % info->client.get_uri().resource());
+  P(F("  include pattern  %s") % info->client.get_include_pattern());
+  P(F("  exclude pattern  %s") % info->client.get_exclude_pattern());
 
   shared_ptr<Netxx::StreamBase> server
     = build_stream_to_server(app.opts, app.lua, info, timeout);
============================================================
--- database.cc	8bfff559a0894259fe3668294bd3906ae837129b
+++ database.cc	0e6c4d3b44354f925ccbb6ee7533297251ff1170
@@ -4497,22 +4497,29 @@ database::get_var(var_key const & key, v
 void
 database::get_var(var_key const & key, var_value & value)
 {
-  // FIXME: sillyly inefficient.  Doesn't really matter, though.
-  map<var_key, var_value> vars;
-  get_vars(vars);
-  map<var_key, var_value>::const_iterator i = vars.find(key);
-  I(i != vars.end());
-  value = i->second;
+  results res;
+  imp->fetch(res, one_col, any_rows, 
+             query("SELECT value FROM db_vars "
+                   "WHERE domain = ? AND name = ?")
+                   % text(key.first())
+                   % blob(key.second()));
+  I(res.size() == 1);
+  var_value dbvalue(res[0][0], origin::database);
+  value = dbvalue;
 }
 
 bool
 database::var_exists(var_key const & key)
 {
-  // FIXME: sillyly inefficient.  Doesn't really matter, though.
-  map<var_key, var_value> vars;
-  get_vars(vars);
-  map<var_key, var_value>::const_iterator i = vars.find(key);
-  return i != vars.end();
+  results res;
+  imp->fetch(res, one_col, any_rows,
+             query("SELECT 1 "
+                   "WHERE EXISTS("
+                   "  SELECT 1 FROM db_vars "
+                   "  WHERE domain = ? AND name = ?)")
+                   % text(key.first())
+                   % blob(key.second()));
+  return ! res.empty();
 }
 
 void

reply via email to

[Prev in Thread] Current Thread [Next in Thread]