<?php
require __DIR__.'/common.php';
if(is_file(__DIR__.'/private/batch-before20.json'))throw new RuntimeException('No lease replay');
$before=$source(true);$prior=json_decode(file_get_contents(__DIR__.'/private/append-after.json'),true);foreach($prior as $k=>$v)if($before[$k]!==$v)throw new RuntimeException('Original6 drift '.$k);
$journal=json_decode(file_get_contents(__DIR__.'/private/append-journal.json'),true);if(!$journal['committed'])throw new RuntimeException('Append not committed');
foreach(['food','dish']as $i=>$key)if($before[$key]!==[$journal['events'][$i]['original_row']])throw new RuntimeException('Append drift '.$key);
if($logs()!==[])throw new RuntimeException('Own logs collision');
$meta=$lane==='B'?$q('SELECT COLUMN_NAME,COLUMN_TYPE,IS_NULLABLE,COLUMN_DEFAULT,EXTRA FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=? ORDER BY ORDINAL_POSITION',['ydy_initial_menu_log']):$q('SELECT COLUMN_NAME,DATA_TYPE,DATA_LENGTH,DATA_PRECISION,DATA_SCALE,NULLABLE,DATA_DEFAULT FROM USER_TAB_COLUMNS WHERE TABLE_NAME=? ORDER BY COLUMN_ID',['YDY_INITIAL_MENU_LOG']);
$lease=json_decode(file_get_contents(__DIR__.'/private/preflight-lease-'.$lane.'.json'),true);if($meta!==$lease['schema']['initial_menu_log'])throw new RuntimeException('Log metadata/default drift');
$triggers=$lane==='B'?$q('SELECT TRIGGER_NAME,ACTION_TIMING,EVENT_MANIPULATION,ACTION_STATEMENT FROM information_schema.TRIGGERS WHERE EVENT_OBJECT_SCHEMA=DATABASE() AND EVENT_OBJECT_TABLE=? ORDER BY TRIGGER_NAME',['ydy_initial_menu_log']):$q('SELECT * FROM USER_TRIGGERS WHERE TABLE_NAME=? ORDER BY TRIGGER_NAME',['YDY_INITIAL_MENU_LOG']);
$cons=$lane==='B'?$q('SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE FROM information_schema.TABLE_CONSTRAINTS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=? ORDER BY CONSTRAINT_NAME',['ydy_initial_menu_log']):$q('SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE,STATUS,SEARCH_CONDITION FROM USER_CONSTRAINTS WHERE TABLE_NAME=? ORDER BY CONSTRAINT_NAME',['YDY_INITIAL_MENU_LOG']);if($triggers!==[]||$cons!==$lease['objects']['initial_menu_log']['constraints'])throw new RuntimeException('Log constraints/triggers drift');
$save('batch-before20.json',$before);$save('lease20-oracle.json',$GLOBALS['NR_ORACLE']);$save('lease20.json',['lane'=>$lane,'own_rows'=>8,'log_rows'=>0,'metadata'=>$meta,'triggers'=>$triggers,'constraints'=>$cons,'HTTP'=>0,'DML'=>0,'DDL'=>0]);echo json_encode(['lane'=>$lane,'own_rows'=>8,'log_rows'=>0,'HTTP'=>0,'DML'=>0,'DDL'=>0]),"\n";
