Beispiel #1
0
 public function __construct($file = '', $query_builder = false, $profile = true)
 {
     if (strpos($file, BASE) !== false) {
         if (!is_file($file)) {
             if (!is_dir(dirname($file))) {
                 mkdir(dirname($file), 0755, true);
             }
             $this->created = true;
         }
     } else {
         $file = ':memory:';
         $this->created = true;
     }
     parent::__construct(ci_load_database('sqlite3', $file, $query_builder, $profile));
     $this->ci->simple_query("PRAGMA foreign_keys = ON");
     $temp = str_replace('\\', '/', dirname(__FILE__)) . '/temp/';
     $this->ci->simple_query("PRAGMA temp_store_directory = '{$temp}'");
     // This is deprecated, but on shared hosting it is necessary
     $this->fts = new FTS($this);
 }
Beispiel #2
0
$query_builder = isset($query_builder) ? $query_builder : false;
$profile = isset($profile) && $profile === false ? false : true;
if (isset($mssql)) {
    if ($export = ci_load_database('mssql', $mssql, $query_builder, $profile)) {
        $export = new Database($export);
    }
} elseif (isset($mysql)) {
    if ($export = ci_load_database('mysqli', $mysql, $query_builder, $profile)) {
        $export = new Database($export);
    }
} elseif (isset($oracle)) {
    if ($export = ci_load_database('oci8', $oracle, $query_builder, $profile)) {
        $export = new Database($export);
    }
} elseif (isset($postgre)) {
    if ($export = ci_load_database('postgre', $postgre, $query_builder, $profile)) {
        $export = new Database($export);
    }
} elseif (isset($sqlite)) {
    $export = new SQLite($sqlite, $query_builder, $profile);
} elseif (isset($fts)) {
    $export = array();
    list($search, $values) = each($fts);
    $db = new SQLite();
    $db->fts->create('results', 'search', 'porter');
    $db->fts->upsert('results', 'search', $values);
    $db->query('SELECT docid, search FROM results WHERE search MATCH ?', array($search));
    while (list($docid, $value) = $db->fetch('row')) {
        $export[$docid] = $value;
    }
    unset($db);