<?php
declare(strict_types=1);$lane=getenv('COMMENT_LANE');$dm=getenv('POC_DIALECT')==='dm';$runtime=getenv('COMMENT_RUNTIME');if(!is_dir($runtime))mkdir($runtime,0700);$db=new PDO($dm?'dm:host=127.0.0.1;port=5238;schema=AIZHCT_APP':'mysql:host='.getenv('POC_AI_HOST').';port='.getenv('POC_AI_PORT').';dbname='.getenv('POC_AI_SCHEMA').';charset='.getenv('POC_AI_CHARSET'),getenv('POC_AI_USER'),getenv('POC_AI_PASSWORD'),[PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,PDO::ATTR_CASE=>PDO::CASE_LOWER]);if($dm?$db->query("SELECT SYS_CONTEXT('USERENV','CURRENT_SCHEMA') FROM DUAL")->fetchColumn()!=='AIZHCT_APP':($db->query('SELECT DATABASE()')->fetchColumn()!==getenv('POC_AI_SCHEMA')||strpos($db->query('SELECT VERSION()')->fetchColumn(),'5.6.')!==0))throw new RuntimeException('Actual approved DB identity drift');
$q=static function($sql,$p=[])use($db){if(!preg_match('/^\s*SELECT\b/i',$sql))throw new RuntimeException('Only SELECT precheck');$s=$db->prepare($sql);$s->execute($p);$rows=$s->fetchAll(PDO::FETCH_ASSOC);foreach($rows as &$row)foreach($row as &$v)if(is_resource($v))$v=stream_get_contents($v);return $rows;};$persist=static function($name,$value)use($runtime){file_put_contents($runtime.'/'.$name,json_encode($value,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES));chmod($runtime.'/'.$name,0600);};
