Replaced fetch_one with fetch_value for single-column RETURNING queries.
This commit is contained in:
@@ -360,13 +360,13 @@ async def _evaluate_count(
|
|||||||
raise PlaceholderError(
|
raise PlaceholderError(
|
||||||
"Invalid $(count): modifier must be an integer (e.g., +5, -1, 0)"
|
"Invalid $(count): modifier must be an integer (e.g., +5, -1, 0)"
|
||||||
) from e
|
) from e
|
||||||
row = await ctx.storage.fetch_one(
|
result = await ctx.storage.fetch_value(
|
||||||
"INSERT INTO counters (name, value) VALUES (?, ?) "
|
"INSERT INTO counters (name, value) VALUES (?, ?) "
|
||||||
"ON CONFLICT(name) DO UPDATE SET value = value + ? "
|
"ON CONFLICT(name) DO UPDATE SET value = value + ? "
|
||||||
"RETURNING value",
|
"RETURNING value",
|
||||||
(counter_name, delta, delta),
|
(counter_name, delta, delta),
|
||||||
)
|
)
|
||||||
return str(row["value"])
|
return str(result)
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
value = int(modifier_str)
|
value = int(modifier_str)
|
||||||
@@ -374,12 +374,12 @@ async def _evaluate_count(
|
|||||||
raise PlaceholderError(
|
raise PlaceholderError(
|
||||||
"Invalid $(count): modifier must be an integer (e.g., +5, -1, 0)"
|
"Invalid $(count): modifier must be an integer (e.g., +5, -1, 0)"
|
||||||
) from e
|
) from e
|
||||||
row = await ctx.storage.fetch_one(
|
result = await ctx.storage.fetch_value(
|
||||||
"INSERT OR REPLACE INTO counters (name, value) VALUES (?, ?) "
|
"INSERT OR REPLACE INTO counters (name, value) VALUES (?, ?) "
|
||||||
"RETURNING value",
|
"RETURNING value",
|
||||||
(counter_name, value),
|
(counter_name, value),
|
||||||
)
|
)
|
||||||
return str(row["value"])
|
return str(result)
|
||||||
|
|
||||||
|
|
||||||
async def _evaluate_getcount(
|
async def _evaluate_getcount(
|
||||||
|
|||||||
@@ -53,6 +53,12 @@ class MockStorage:
|
|||||||
self._conn.commit()
|
self._conn.commit()
|
||||||
return row
|
return row
|
||||||
|
|
||||||
|
async def fetch_value(self, query, params=None):
|
||||||
|
row = await self.fetch_one(query, params)
|
||||||
|
if row is None:
|
||||||
|
return None
|
||||||
|
return row[0]
|
||||||
|
|
||||||
|
|
||||||
async def process(
|
async def process(
|
||||||
template, args=None, user="Alice", use_count=1, storage=None, max_depth=4
|
template, args=None, user="Alice", use_count=1, storage=None, max_depth=4
|
||||||
|
|||||||
Reference in New Issue
Block a user