static function cached_query($sql_cmd, $args = null, $dirty_pages = null)
 {
     $s_args = $args->join(":");
     $header = _hx_string_or_null($sql_cmd) . _hx_string_or_null($s_args);
     $filename = _hx_string_or_null(system_base_Wet_base::$cache_path) . _hx_string_rec(system_base_Hashes::do_hash($header), "");
     $resultset = null;
     $cached_results = null;
     $rows = new HList();
     $data = null;
     $total_rows = null;
     $results = null;
     $return_data = _hx_anonymous(array("rows" => $rows, "total_rows" => 0));
     if (strtoupper(_hx_substr(ltrim($sql_cmd), 0, 6)) !== "SELECT") {
         system_base_Database::get_instance(null, null, null, null, null, null, null, null);
         $resultset = system_base_Database::query($sql_cmd, $args, null);
         return _hx_anonymous(array("rows" => $resultset->results(), "total_rows" => $resultset->get_length()));
     }
     if (file_exists($filename)) {
         $fin = sys_io_File::read($filename, false);
         $results = $fin->readLine();
         if ($results === $header) {
             $cached_results = $fin->readLine();
             $return_data = haxe_Unserializer::run($cached_results);
         } else {
             $m = "Database cache collision running query: " . _hx_string_or_null($sql_cmd) . "\n";
             $m = Std::string(Date::now()) . ": " . _hx_string_or_null($m);
             system_base_Database::get_instance(null, null, null, null, null, null, null, null);
             $resultset = system_base_Database::query($sql_cmd, $args, null);
             return _hx_anonymous(array("rows" => $resultset->results(), "total_rows" => $resultset->get_length()));
         }
     } else {
         system_base_Database::get_instance(null, null, null, null, null, null, null, null);
         $resultset = system_base_Database::query($sql_cmd, $args, null);
         $data = haxe_Serializer::run(_hx_anonymous(array("rows" => $resultset->results(), "total_rows" => $resultset->get_length())));
         $fout = sys_io_File::write($filename, false);
         $fout->writeString(_hx_string_or_null($header) . "\n");
         $fout->writeString(_hx_string_or_null($data) . "\n");
         $fout->close();
     }
     return $return_data;
 }
 public function doUnserializeSessionData($content)
 {
     if ($content !== null) {
         try {
             $this->sessionData = haxe_Unserializer::run($content);
         } catch (Exception $__hx__e) {
             $_ex_ = $__hx__e instanceof HException ? $__hx__e->e : $__hx__e;
             $e = $_ex_;
             $this->context->messages->push(_hx_anonymous(array("msg" => "Failed to unserialize session data: " . Std::string($e), "pos" => _hx_anonymous(array("fileName" => "FileSession.hx", "lineNumber" => 256, "className" => "ufront.web.session.FileSession", "methodName" => "doUnserializeSessionData")), "type" => ufront_log_MessageType::$MWarning)));
         }
     }
     return tink_core_Noise::$Noise;
 }