html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,issue,performed_via_github_app
https://github.com/simonw/datasette/issues/1611#issuecomment-1027635175,https://api.github.com/repos/simonw/datasette/issues/1611,1027635175,IC_kwDOBm6k_c49QHfn,9599,2022-02-02T06:45:47Z,2022-02-02T06:45:47Z,OWNER,"Prototype, not sure that this actually works yet:
```diff
diff --git a/datasette/database.py b/datasette/database.py
index 6ce8721..0c4aec7 100644
--- a/datasette/database.py
+++ b/datasette/database.py
@@ -256,18 +256,26 @@ class Database:
# Try to get counts for each table, $limit timeout for each count
counts = {}
for table in await self.table_names():
- try:
- table_count = (
- await self.execute(
- f""select count(*) from [{table}]"",
- custom_time_limit=limit,
- )
- ).rows[0][0]
- counts[table] = table_count
- # In some cases I saw ""SQL Logic Error"" here in addition to
- # QueryInterrupted - so we catch that too:
- except (QueryInterrupted, sqlite3.OperationalError, sqlite3.DatabaseError):
- counts[table] = None
+ print(table.lower())
+ if table.lower() == ""knn"":
+ counts[table] = 0
+ else:
+ try:
+ table_count = (
+ await self.execute(
+ f""select count(*) from [{table}]"",
+ custom_time_limit=limit,
+ )
+ ).rows[0][0]
+ counts[table] = table_count
+ # In some cases I saw ""SQL Logic Error"" here in addition to
+ # QueryInterrupted - so we catch that too:
+ except (
+ QueryInterrupted,
+ sqlite3.OperationalError,
+ sqlite3.DatabaseError,
+ ):
+ counts[table] = None
if not self.is_mutable:
self._cached_table_counts = counts
return counts
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",1113384383,