add data viewer
Browse files- app/supabase_db.py +24 -8
app/supabase_db.py
CHANGED
|
@@ -192,15 +192,31 @@ class SupabaseClient:
|
|
| 192 |
try:
|
| 193 |
logger.info("[SUPABASE] Fetching all document chunks")
|
| 194 |
|
| 195 |
-
|
| 196 |
-
|
|
|
|
| 197 |
|
| 198 |
-
|
| 199 |
-
|
| 200 |
-
|
| 201 |
-
|
| 202 |
-
logger.
|
| 203 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 204 |
|
| 205 |
except Exception as e:
|
| 206 |
logger.error(f"[SUPABASE] Error fetching document chunks: {e}")
|
|
|
|
| 192 |
try:
|
| 193 |
logger.info("[SUPABASE] Fetching all document chunks")
|
| 194 |
|
| 195 |
+
all_chunks = []
|
| 196 |
+
page_size = 1000
|
| 197 |
+
offset = 0
|
| 198 |
|
| 199 |
+
while True:
|
| 200 |
+
# Lấy từng page
|
| 201 |
+
response = self.client.table('document_chunks').select('*').range(offset, offset + page_size - 1).execute()
|
| 202 |
+
|
| 203 |
+
logger.info(f"[SUPABASE] Fetched page: offset={offset}, count={len(response.data) if response.data else 0}")
|
| 204 |
+
|
| 205 |
+
if not response.data:
|
| 206 |
+
logger.info(f"[SUPABASE] No more data at offset {offset}")
|
| 207 |
+
break
|
| 208 |
+
|
| 209 |
+
all_chunks.extend(response.data)
|
| 210 |
+
|
| 211 |
+
# Nếu số records ít hơn page_size, đã hết
|
| 212 |
+
if len(response.data) < page_size:
|
| 213 |
+
logger.info(f"[SUPABASE] Last page with {len(response.data)} records")
|
| 214 |
+
break
|
| 215 |
+
|
| 216 |
+
offset += page_size
|
| 217 |
+
|
| 218 |
+
logger.info(f"[SUPABASE] Successfully fetched {len(all_chunks)} document chunks")
|
| 219 |
+
return all_chunks
|
| 220 |
|
| 221 |
except Exception as e:
|
| 222 |
logger.error(f"[SUPABASE] Error fetching document chunks: {e}")
|