<?php
declare(strict_types=1);

// Nonproduction C, zero-row SELECT only. No old business row reads or writes.
require __DIR__ . '/c_readonly_preflight.php';
$stage = 'valid_aliased_zero_row_sql';
$valid = $ai->query('SELECT 1 FROM YOSHOP_MEAL_INFOS meal_infos'
    . ' WHERE meal_infos.STORE_ID=10001 AND 1=0');
$validRows = $valid->fetchAll(PDO::FETCH_ASSOC);
if (count($validRows) !== 0) throw new RuntimeException('Expected zero rows');

$stage = 'invalid_physical_name_after_alias_zero_row_sql';
$invalidRejected = false;
$invalidState = null;
try {
    $ai->query('SELECT 1 FROM YOSHOP_MEAL_INFOS meal_infos'
        . ' WHERE YOSHOP_MEAL_INFOS.STORE_ID=10001 AND 1=0');
} catch (PDOException $error) {
    $invalidRejected = true;
    if (preg_match('/SQLSTATE\[([A-Z0-9]+)\]/i', $error->getMessage(), $match)) {
        $invalidState = strtoupper($match[1]);
    }
}
echo json_encode(['status' => 'c-aliased-zero-row-sql-probe',
    'correct_alias_queryable' => true,
    'correct_alias_row_count' => 0,
    'physical_name_after_alias_rejected' => $invalidRejected,
    'rejected_sqlstate' => $invalidState,
    'business_rows_read' => 0, 'writes' => 0],
    JSON_UNESCAPED_SLASHES), PHP_EOL;
exit($invalidRejected ? 0 : 3);
