[ Index ]

PHP Cross Reference of moodle-2.8

title

Body

[close]

/lib/adodb/datadict/ -> datadict-sqlite.inc.php (source)

   1  <?php
   2  
   3  /**
   4    V5.19  23-Apr-2014  (c) 2000-2014 John Lim (jlim#natsoft.com). All rights reserved.
   5    Released under both BSD license and Lesser GPL library license.
   6    Whenever there is any discrepancy between the two licenses,
   7    the BSD license will take precedence.
   8  
   9    Set tabs to 4 for best viewing.
  10  
  11      SQLite datadict Andrei Besleaga
  12  
  13  */
  14  
  15  // security - hide paths
  16  if (!defined('ADODB_DIR')) die();
  17  
  18  class ADODB2_sqlite extends ADODB_DataDict {
  19      var $databaseType = 'sqlite';
  20      var $seqField = false;
  21      var $addCol=' ADD COLUMN';
  22      var $dropTable = 'DROP TABLE IF EXISTS %s';
  23      var $dropIndex = 'DROP INDEX IF EXISTS %s';
  24      var $renameTable = 'ALTER TABLE %s RENAME TO %s';
  25  
  26  
  27  
  28  	function ActualType($meta)
  29      {
  30          switch(strtoupper($meta)) {
  31          case 'C': return 'VARCHAR'; //  TEXT , TEXT affinity
  32          case 'XL':return 'LONGTEXT'; //  TEXT , TEXT affinity
  33          case 'X': return 'TEXT'; //  TEXT , TEXT affinity
  34  
  35          case 'C2': return 'VARCHAR'; //  TEXT , TEXT affinity
  36          case 'X2': return 'LONGTEXT'; //  TEXT , TEXT affinity
  37  
  38          case 'B': return 'LONGBLOB'; //  TEXT , NONE affinity , BLOB
  39  
  40          case 'D': return 'DATE'; // NUMERIC , NUMERIC affinity
  41          case 'T': return 'DATETIME'; // NUMERIC , NUMERIC affinity
  42          case 'L': return 'TINYINT'; // NUMERIC , INTEGER affinity
  43  
  44          case 'R':
  45          case 'I4':
  46          case 'I': return 'INTEGER'; // NUMERIC , INTEGER affinity
  47          case 'I1': return 'TINYINT'; // NUMERIC , INTEGER affinity
  48          case 'I2': return 'SMALLINT'; // NUMERIC , INTEGER affinity
  49          case 'I8': return 'BIGINT'; // NUMERIC , INTEGER affinity
  50  
  51          case 'F': return 'DOUBLE'; // NUMERIC , REAL affinity
  52          case 'N': return 'NUMERIC'; // NUMERIC , NUMERIC affinity
  53          default:
  54              return $meta;
  55          }
  56      }
  57  
  58      // return string must begin with space
  59  	function _CreateSuffix($fname,$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
  60      {
  61          $suffix = '';
  62          if ($funsigned) $suffix .= ' UNSIGNED';
  63          if ($fnotnull) $suffix .= ' NOT NULL';
  64          if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault";
  65          if ($fautoinc) $suffix .= ' AUTOINCREMENT';
  66          if ($fconstraint) $suffix .= ' '.$fconstraint;
  67          return $suffix;
  68      }
  69  
  70  	function AlterColumnSQL($tabname, $flds)
  71      {
  72          if ($this->debug) ADOConnection::outp("AlterColumnSQL not supported natively by SQLite");
  73          return array();
  74      }
  75  
  76  	function DropColumnSQL($tabname, $flds)
  77      {
  78          if ($this->debug) ADOConnection::outp("DropColumnSQL not supported natively by SQLite");
  79          return array();
  80      }
  81  
  82  	function RenameColumnSQL($tabname,$oldcolumn,$newcolumn,$flds='')
  83      {
  84          if ($this->debug) ADOConnection::outp("RenameColumnSQL not supported natively by SQLite");
  85          return array();
  86      }
  87  
  88  }


Generated: Fri Nov 28 20:29:05 2014 Cross-referenced by PHPXref 0.7.1