Skip to content

Commit 59d0225

Browse files
committed
Print full SQL of last 3 queries in diagnostic
1 parent 073bbbd commit 59d0225

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

.github/workflows/phpunit-tests-turso.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -310,10 +310,6 @@ jobs:
310310
$engine->get_connection()->set_query_logger(
311311
function (string $sql, array $params) use (&$logged) {
312312
$logged[] = [$sql, $params];
313-
fwrite(STDERR, sprintf("[sql #%d] %s\n", count($logged), $sql));
314-
if ($params) {
315-
fwrite(STDERR, ' params: ' . json_encode($params) . "\n");
316-
}
317313
}
318314
);
319315
@@ -326,12 +322,18 @@ jobs:
326322
fwrite(STDERR, "CREATE TABLE _options ok\n");
327323
} catch (\Throwable $e) {
328324
fwrite(STDERR, "EXC: " . $e->getMessage() . "\n");
329-
$last = end($logged) ?: ['<no SQL logged>', []];
330-
fwrite(STDERR, "last SQL:\n" . $last[0] . "\n");
331-
fwrite(STDERR, sprintf(
332-
"char at offset 189 window [180..209]:\n %s\n",
333-
substr($last[0], 180, 30)
334-
));
325+
fwrite(STDERR, "--- last 3 SQL statements sent to SQLite ---\n");
326+
foreach (array_slice($logged, -3) as $i => $entry) {
327+
[$sql, $params] = $entry;
328+
fwrite(STDERR, "---\nSQL (length " . strlen($sql) . "):\n" . $sql . "\n");
329+
if ($params) {
330+
fwrite(STDERR, "params: " . json_encode($params) . "\n");
331+
}
332+
fwrite(STDERR, sprintf(
333+
"window [offset 180..209]:\n %s\n",
334+
substr($sql, 180, 30)
335+
));
336+
}
335337
}
336338
PHP
337339

0 commit comments

Comments
 (0)