parent
f959c01600
commit
cdc9e50a5d
|
@ -493,7 +493,7 @@ class SQLBaseStore(object):
|
||||||
if lock:
|
if lock:
|
||||||
self.database_engine.lock_table(txn, table)
|
self.database_engine.lock_table(txn, table)
|
||||||
|
|
||||||
# Try to update
|
# First try to update.
|
||||||
sql = "UPDATE %s SET %s WHERE %s" % (
|
sql = "UPDATE %s SET %s WHERE %s" % (
|
||||||
table,
|
table,
|
||||||
", ".join("%s = ?" % (k,) for k in values),
|
", ".join("%s = ?" % (k,) for k in values),
|
||||||
|
@ -502,24 +502,25 @@ class SQLBaseStore(object):
|
||||||
sqlargs = values.values() + keyvalues.values()
|
sqlargs = values.values() + keyvalues.values()
|
||||||
|
|
||||||
txn.execute(sql, sqlargs)
|
txn.execute(sql, sqlargs)
|
||||||
if txn.rowcount == 0:
|
if txn.rowcount > 0:
|
||||||
# We didn't update and rows so insert a new one
|
# successfully updated at least one row.
|
||||||
allvalues = {}
|
|
||||||
allvalues.update(keyvalues)
|
|
||||||
allvalues.update(values)
|
|
||||||
allvalues.update(insertion_values)
|
|
||||||
|
|
||||||
sql = "INSERT INTO %s (%s) VALUES (%s)" % (
|
|
||||||
table,
|
|
||||||
", ".join(k for k in allvalues),
|
|
||||||
", ".join("?" for _ in allvalues)
|
|
||||||
)
|
|
||||||
txn.execute(sql, allvalues.values())
|
|
||||||
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
# We didn't update any rows so insert a new one
|
||||||
|
allvalues = {}
|
||||||
|
allvalues.update(keyvalues)
|
||||||
|
allvalues.update(values)
|
||||||
|
allvalues.update(insertion_values)
|
||||||
|
|
||||||
|
sql = "INSERT INTO %s (%s) VALUES (%s)" % (
|
||||||
|
table,
|
||||||
|
", ".join(k for k in allvalues),
|
||||||
|
", ".join("?" for _ in allvalues)
|
||||||
|
)
|
||||||
|
txn.execute(sql, allvalues.values())
|
||||||
|
# successfully inserted
|
||||||
|
return True
|
||||||
|
|
||||||
def _simple_select_one(self, table, keyvalues, retcols,
|
def _simple_select_one(self, table, keyvalues, retcols,
|
||||||
allow_none=False, desc="_simple_select_one"):
|
allow_none=False, desc="_simple_select_one"):
|
||||||
"""Executes a SELECT query on the named table, which is expected to
|
"""Executes a SELECT query on the named table, which is expected to
|
||||||
|
|
Loading…
Reference in New Issue