<?php
namespace model;
/**
 * Class user
 * @package model
 */
class memtable extends \model
{
	public function __construct()
    {
		parent::__construct();
	}

	public function getSql(){
        $result = [];
        $contents = file_get_contents(\mvc::$cfg['dir']['cache'].'/memtable.sql');
        $contents = str_replace("\r\n",' ',$contents);
        $arr = explode('/*Table structure for table',$contents);
        foreach($arr as $v){
            preg_match_all('/CREATE\sTABLE(.*)\;/s',$v,$m);
            if($m[0]){
                $sql = preg_replace('/\/\*(.*)\*\//','',$m[0])[0];
                $sql = rtrim($sql,' ;');
                preg_match('/TABLE\s`([a-z0-1_]+)`\s\(/i',$sql,$t);
                $result[$t[1]] = $sql;
            }
        }
        return $result;
	}

	public function gspcatalog_federated_sql(){
        $arr = $this->getSql();
        $sql = '';
        foreach($arr as $k=>$v){
            $sql .= $v;
            $sql .= " ENGINE=FEDERATED DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci CONNECTION='mysql://gspuser:gsp.8899@192.168.1.42:3306/gspcatalog/".$k."'";
            $sql .=";\r\n\r\n";
        }
        echo "<pre>";
        echo $sql;
	}

	public function gspcatalog_memory_sql(){
        $arr = $this->getSql();
        $sql = '';
        foreach($arr as $k=>$v){ 
            $v = str_replace('ENGINE=InnoDB','ENGINE=MEMORY',$v);
            $v .= ' max_rows = 100000000';
            $sql .= $v;
            $sql .=";\r\n\r\n";
        }
        echo "<pre>";
        echo $sql;
	}
}