]> git.nbdom.net Git - nb.git/commitdiff
try to get indexes
authorNicolas Boisselier <nicolas.boisselier@semantico.com>
Fri, 1 Jul 2016 10:11:20 +0000 (11:11 +0100)
committerNicolas Boisselier <nicolas.boisselier@semantico.com>
Fri, 1 Jul 2016 10:11:20 +0000 (11:11 +0100)
lib/php/db/table.php
lib/php/db/types/sqlite.php

index 63855767c33b244e80c9425c2c0f3be8c4b431fd..3b7a09f981b682abd2924bf7f78ded23aa9f75bf 100644 (file)
@@ -126,7 +126,7 @@ Class Table extends nb {
     $db_sql_replace_fct = empty($this->db()->sql_replace) ? '' : $this->db()->sql_replace;
     $sql_replace = function($sql) use ($sql_replace_fct,$db_sql_replace_fct) {
       if ($db_sql_replace_fct) $sql = $db_sql_replace_fct($sql);
-      return $sql_replace_fct ? $sql_replace_fct($sql) : $sql;
+      return $sql_replace_fct ? $sql_replace_fct($sql,$this) : $sql;
     };
 
     if (!self::p('db.type')) return $sql_replace($this->sql());
@@ -162,7 +162,8 @@ Class Table extends nb {
       ;
     }
 
-    return $sql_replace($sql.')');
+    $sql_index = '';#$this->db()->type('table.sql.index',false);
+    return $sql_replace($sql.')'.($sql_index ? ';'.$this->db()->row($sql_index) : ''));
   }
 
   /*
index a36afe7db67769c25d1fcb9e5b25c0fd6650461c..39db9881671a5c2004fdb84906ea1ccbfe17a2b8 100644 (file)
@@ -13,6 +13,7 @@ $DB_TYPES['sqlite'] = array (
 
 #'table.sql' => 'SELECT sql FROM sqlite_master WHERE name=\'<NAME>\'',
 'table.sql' => "SELECT GROUP_CONCAT(sql,';') FROM sqlite_master WHERE tbl_name='<NAME>'",
+'table.sql.index' => "SELECT sql FROM sqlite_master WHERE type='index' AND tbl_name='<NAME>'",
 'table.csv.load' => ['.mode csv','.sep \\t','.import <FILE> <NAME>'],
 
 'sqliteCreateFunction' => array (
@@ -66,4 +67,8 @@ $DB_TYPES['sqlite'] = array (
   $field->type = preg_replace(array_keys($r),array_values($r),$field->type);
 },
 
+'sql.replace' => function($sql,$t) {
+  #$sql .= $t->db()->row("SELECT sql FROM sqlite_master WHERE type='index' AND tbl_name=".$t->sql_name());
+  return $sql;
+},
 );?>