<?php
require __DIR__.'/common.php';$file=__DIR__.'/private/scope-metadata.json';if(is_file($file))throw new RuntimeException('Metadata no replay');$r=['lane'=>$lane,'records'=>[],'started'=>true];$save('scope-metadata.json',$r);
$specs=$lane==='B'?[
 ['SELECT * FROM information_schema.TRIGGERS WHERE TRIGGER_SCHEMA = DATABASE() AND EVENT_OBJECT_TABLE = :table','ydy_nutrition'],
 ['SELECT COLUMN_NAME, COLUMN_DEFAULT, EXTRA FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = :table ORDER BY ORDINAL_POSITION','ydy_nutrition']
]:[
 ['SELECT * FROM USER_TRIGGERS WHERE TABLE_NAME = :table','YDY_NUTRITION'],
 ['SELECT COLUMN_NAME, DATA_DEFAULT, NULLABLE, DATA_TYPE, DATA_SCALE FROM USER_TAB_COLUMNS WHERE TABLE_NAME = :table ORDER BY COLUMN_ID','YDY_NUTRITION']
];
foreach($specs as [$sql,$table]){$e=['sql'=>$sql,'binds'=>[':table'=>['value'=>$table,'type'=>2,'php_type'=>'string']],'started'=>true];try{$s=$db->prepare($sql);$s->bindValue(':table',$table,PDO::PARAM_STR);$s->execute();$rows=$s->fetchAll(PDO::FETCH_ASSOC);foreach($rows as &$row)foreach($row as &$v)if(is_resource($v))$v=stream_get_contents($v);unset($v,$row);$e['rows']=$rows;$e['errorInfo']=$s->errorInfo();$e['success']=true;}catch(Throwable $e1){$e['error']=['class'=>get_class($e1),'message'=>$e1->getMessage()];$e['success']=false;}$r['records'][]=$e;$save('scope-metadata.json',$r);}
$ok=count($r['records'])===2&&$r['records'][0]['success']&&$r['records'][1]['success']&&$r['records'][0]['rows']===[];
if($ok){foreach($r['records'][1]['rows']as $row){$row=array_change_key_case($row,CASE_LOWER);if($lane==='B'&&preg_match('/on update|generated/i',(string)$row['extra']))$ok=false;if($lane==='C'&&preg_match('/CURRENT_TIMESTAMP|SYSDATE|GETDATE|ON\s+UPDATE/i',(string)($row['data_default']??'')))$ok=false;}}
$r['target_no_trigger_or_auto_effect']=$ok;$r['visibility_limit']='Current own schema target metadata only; not proof of inaccessible cross-schema objects';$r['metadata_SELECT']=2;$r['DML']=0;$r['DDL']=0;$save('scope-metadata.json',$r);echo json_encode(['lane'=>$lane,'metadata_SELECT'=>2,'target_no_trigger_or_auto_effect'=>$ok,'successes'=>count(array_filter($r['records'],static function($e){return $e['success'];}))]),PHP_EOL;
