Connection_wev8.js
1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/*
* Ext JS Library 0.20
* Copyright(c) 2006-2008, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/
// Asbtract base class for Connection classes
Ext.sql.Connection = function(config){
Ext.apply(this, config);
Ext.sql.Connection.superclass.constructor.call(this);
this.addEvents({
open : true,
close: true
});
};
Ext.extend(Ext.sql.Connection, Ext.util.Observable, {
maxResults: 10000,
openState : false,
// abstract methods
open : function(file){
},
close : function(){
},
exec : function(sql){
},
execBy : function(sql, args){
},
query : function(sql){
},
queryBy : function(sql, args){
},
// protected/inherited method
isOpen : function(){
return this.openState;
},
getTable : function(name, keyName){
return new Ext.sql.Table(this, name, keyName);
},
createTable : function(o){
var tableName = o.name;
var keyName = o.key;
var fs = o.fields;
if(!Ext.isArray(fs)){ // Ext fields collection
fs = fs.items;
}
var buf = [];
for(var i = 0, len = fs.length; i < len; i++){
var f = fs[i], s = f.name;
switch(f.type){
case "int":
case "bool":
case "boolean":
s += ' INTEGER';
break;
case "float":
s += ' REAL';
break;
default:
s += ' TEXT';
}
if(f.allowNull === false || f.name == keyName){
s += ' NOT NULL';
}
if(f.name == keyName){
s += ' PRIMARY KEY';
}
if(f.unique === true){
s += ' UNIQUE';
}
buf[buf.length] = s;
}
var sql = ['CREATE TABLE IF NOT EXISTS ', tableName, ' (', buf.join(','), ')'].join('');
this.exec(sql);
}
});
Ext.sql.Connection.getInstance = function(db, config){
if(Ext.isAir){ // air
return new Ext.sql.AirConnection(config);
} else { // gears
return new Ext.sql.GearsConnection(config);
}
};