/**
  * EPPSDF:
  * public $TH;
  * public $A;
  * public $B;
  * @throws Exception
  * @return boolean
  */
 private static function startMysqlEppsdfMemory()
 {
     $eppsdf_first = EppsdfMemory::findFirst();
     if (isset($eppsdf_first->TH)) {
         return true;
     } else {
         try {
             $manager = new TxManager();
             $transaction = $manager->get();
             $eppsdf_data = Eppsdf::find();
             foreach ($eppsdf_data as $eppsdf_record) {
                 $eppsdf_memory = new EppsdfMemory();
                 $eppsdf_memory->setTransaction($transaction);
                 $eppsdf_memory->TH = $eppsdf_record->TH;
                 $eppsdf_memory->A = $eppsdf_record->A;
                 $eppsdf_memory->B = $eppsdf_record->B;
                 if ($eppsdf_memory->create() == false) {
                     unset($eppsdf_data);
                     $transaction->rollback("EPPSDF DATA INSERT INTO MEMORY TABLE ERROR!");
                 }
             }
             $transaction->commit();
             return true;
         } catch (TxFailed $e) {
             throw new Exception("Failed, reason: " . $e->getMessage());
         }
     }
 }