]> git.nbdom.net Git - nb.git/commitdiff
sqlite attach no more db preff
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 6 Sep 2016 13:40:11 +0000 (15:40 +0200)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 6 Sep 2016 13:40:11 +0000 (15:40 +0200)
lib/php/db.php
lib/php/db/types/sqlite.php

index b8d7620cef17ba8d2b15a4aec7ceff98879601fd..7ca9a620ff91136b89a29fd8486d39cc961d66fd 100644 (file)
@@ -378,7 +378,7 @@ class Db extends nb {
       foreach ($this->conn->query($sql,PDO::FETCH_ASSOC) as $row) {
         #debug($row);
         $name = current($row);
-        $this->table($name,$row);
+        $t = $this->table($name,$row);
       }
 
     }
index 811cdc771395c4c8ea89b15837721ba5ce2174ad..fc115433223d8176874ecfc0b3fd814a06543b5a 100644 (file)
@@ -70,19 +70,22 @@ $DB_TYPES['sqlite'] = array (
   # NB 03.09.16
   # Handle attach mechnisum
   #$Db->tables();
+  static $sql;
+  if (isset($sql)) return $sql;
   $dbs = $Db->databases();
   $debug = 0;#$Db->p('db')=='all';
+  $sql = "SELECT name,type FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type IN('table','view') AND name NOT LIKE 'sqlite_%'";
 
   if (count($dbs)<2) {
-    return "SELECT name,type FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type IN('table','view') AND name NOT LIKE 'sqlite_%'";
+    return $sql;
   }
 
   if ($debug) debug($dbs);
   $sql = '';
   foreach ($dbs as $db) {
     $sql .= ($sql ? ' UNION ' : '').str_replace('sqlite_',$db['name'].'.sqlite_',
-      #"SELECT name as name,type FROM sqlite_master WHERE type IN('table','view') AND name NOT LIKE 'sqlite_%'"
-      "SELECT '".$db['name'].".'||name as name,type FROM sqlite_master WHERE type IN('table','view') AND name NOT LIKE 'sqlite_%'"
+      #"SELECT '".$db['name'].".'||name as name,type FROM sqlite_master WHERE type IN('table','view') AND name NOT LIKE 'sqlite_%'"
+      "SELECT name,type FROM sqlite_master WHERE type IN('table','view') AND name NOT LIKE 'sqlite_%'"
     );
   }
   if ($debug) debug($sql);