<?php
declare(strict_types=1);require __DIR__.'/common.php';$rows=$read('SELECT *,CAST(stopped_at AS '.($dm?'VARCHAR(40)':'CHAR').') exact_stopped_at FROM yoshop_rope_skipping WHERE store_id=? AND user_id=? AND mac LIKE ? ORDER BY id',[2147001111,$users[0],'CDXRE11D7C2_%']);$check(count($rows)===4,'Exactly four retained formal marked rows');$types=[];foreach($rows as $row)$types[]=['id'=>$row['id'],'mac'=>$row['mac'],'native_type'=>gettype($row['stopped_at']),'native_value'=>$row['stopped_at'],'native_double_big_endian_hex'=>is_float($row['stopped_at'])?bin2hex(pack('E',$row['stopped_at'])):null,'exact_stopped_at'=>$row['exact_stopped_at']];
$meta=[];foreach(['rope_skipping','store'] as $table){$t='yoshop_'.$table;$u=strtoupper($t);$meta[$table]['columns']=$read($dm?'SELECT COLUMN_NAME,DATA_TYPE,NULLABLE,DATA_DEFAULT,DATA_LENGTH,DATA_PRECISION,DATA_SCALE FROM USER_TAB_COLUMNS WHERE TABLE_NAME=? ORDER BY COLUMN_ID':'SELECT COLUMN_NAME,DATA_TYPE,COLUMN_TYPE,IS_NULLABLE,COLUMN_DEFAULT,CHARACTER_MAXIMUM_LENGTH,NUMERIC_PRECISION,NUMERIC_SCALE,EXTRA FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=? ORDER BY ORDINAL_POSITION',[$dm?$u:$t]);$meta[$table]['triggers']=$read($dm?'SELECT * FROM USER_TRIGGERS WHERE TABLE_NAME=?':'SELECT TRIGGER_NAME,EVENT_MANIPULATION,ACTION_TIMING,ACTION_STATEMENT FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA=DATABASE() AND EVENT_OBJECT_TABLE=?',[$dm?$u:$t]);$meta[$table]['FK']=$read($dm?"SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME,R_CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE CONSTRAINT_TYPE='R' AND (TABLE_NAME=? OR R_CONSTRAINT_NAME IN (SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME=?))":'SELECT TABLE_NAME,CONSTRAINT_NAME,COLUMN_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=DATABASE() AND REFERENCED_TABLE_NAME IS NOT NULL AND (TABLE_NAME=? OR REFERENCED_TABLE_NAME=?)',[$dm?$u:$t,$dm?$u:$t]);$meta[$table]['indexes']=$read($dm?'SELECT INDEX_NAME,UNIQUENESS FROM USER_INDEXES WHERE TABLE_NAME=? ORDER BY INDEX_NAME':'SELECT INDEX_NAME,NON_UNIQUE,COLUMN_NAME,SEQ_IN_INDEX FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=? ORDER BY INDEX_NAME,SEQ_IN_INDEX',[$dm?$u:$t]);}
$generator=$dm?$read("SELECT DBMS_METADATA.GET_DDL('TABLE','YOSHOP_STORE','AIZHCT_APP') ddl FROM DUAL"):$read('SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=?',['yoshop_store']);$persist('final-independent.json',['lane'=>$lane,'rows'=>$rows,'native_types'=>$types,'metadata'=>$meta,'store_generator'=>$generator,'HTTP'=>0,'DML'=>0,'DDL'=>0]);echo json_encode(['lane'=>$lane,'formal_retained_rows'=>count($rows),'physical_exact_texts'=>array_column($types,'exact_stopped_at'),'native_php_types'=>array_column($types,'native_type'),'HTTP'=>0,'DML'=>0,'DDL'=>0]),"\n";
