source: sandbox/2.5.1-evolucao/phpgwapi/inc/adodb/datadict/datadict-sqlite.inc.php @ 8222

Revision 8222, 2.6 KB checked in by angelo, 11 years ago (diff)

Ticket #3491 - Compatibilizar Expresso com novas versoes do PHP

Line 
1<?php
2
3/**
4  V5.18 3 Sep 2012  (c) 2000-2012 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
16if (!defined('ADODB_DIR')) die();
17
18class 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}
89?>
Note: See TracBrowser for help on using the repository browser.