Replaced fetch_one with fetch_value for single-column RETURNING queries.
Format / ruff (push) Successful in 10s
Lint / ruff (push) Successful in 10s
Unit Tests / pytest (push) Successful in 18s
Type Check / mypy (push) Successful in 18s

This commit is contained in:
2026-02-16 20:30:26 -05:00
parent 96dfa300e9
commit 1349b75238
2 changed files with 10 additions and 4 deletions
@@ -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(
+6
View File
@@ -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