@@ -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