alasql 0.3.9 → 0.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/alasql-cli.js +1 -1
- package/dist/alasql-worker.js +2 -2
- package/dist/alasql-worker.min.js +1 -1
- package/dist/alasql.fs.js +11231 -11231
- package/dist/alasql.js +17 -17
- package/dist/alasql.min.js +2 -16
- package/package.json +1 -1
- package/.npmignore +0 -15
- package/utils/2ch/2ch.js +0 -69
- package/utils/2ch/README.md +0 -3
- package/utils/2repl.js +0 -21
- package/utils/README.md +0 -16
- package/utils/a.a +0 -0
- package/utils/a.jison +0 -2455
- package/utils/a.js +0 -2546
- package/utils/a1.html +0 -120
- package/utils/abc.tsv +0 -4
- package/utils/callback/cb1.js +0 -59
- package/utils/callback/cb2.js +0 -45
- package/utils/closure/README.md +0 -1
- package/utils/closure/compiler.jar +0 -0
- package/utils/cordova/alasql-cordova.js +0 -134
- package/utils/cordova/filestorage.js +0 -138
- package/utils/cordova/test.js +0 -5
- package/utils/cordova/test1.js +0 -27
- package/utils/cordova/test1.json +0 -1
- package/utils/d31/1.html +0 -133
- package/utils/d31/2.html +0 -130
- package/utils/d31/3.html +0 -131
- package/utils/d31/5.html +0 -133
- package/utils/d31/d3.v3.min.js +0 -5
- package/utils/d31/force.csv +0 -29
- package/utils/d31/forcerus.csv +0 -29
- package/utils/d31/index.html +0 -120
- package/utils/d3graph/index.html +0 -98
- package/utils/d3graph/links.json +0 -58
- package/utils/d3graph/nodes.json +0 -38
- package/utils/graph/CREATE CLASS G1 +0 -39
- package/utils/graph/README.md +0 -3
- package/utils/graph/idea.txt +0 -22
- package/utils/graph/ides 150428.txt +0 -24
- package/utils/graph/index.html +0 -68
- package/utils/graph/miserables.json +0 -337
- package/utils/indexeddb/index.html +0 -24
- package/utils/main.html +0 -207
- package/utils/mainww.html +0 -9
- package/utils/mainww1.html +0 -15
- package/utils/minisql/minisql.js +0 -377
- package/utils/redj/README.md +0 -10
- package/utils/redj/redj.js +0 -44
- package/utils/test.js +0 -6
- package/utils/testbench.html +0 -15
- package/utils/testbench.worker.html +0 -15
package/utils/a1.html
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
<h1>Test database</h1>
|
|
2
|
-
<script>
|
|
3
|
-
/*
|
|
4
|
-
var request = window.indexedDB.open("agbase",2);
|
|
5
|
-
request.onsuccess = function(event) {
|
|
6
|
-
var db = event.target.result;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
request.onupgradeneeded = function(event) {
|
|
10
|
-
var db = event.target.result;
|
|
11
|
-
};
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
function showDatabases(cb) {
|
|
15
|
-
var request = indexedDB.webkitGetDatabaseNames();
|
|
16
|
-
request.onsuccess = function(event){
|
|
17
|
-
var dblist = event.target.result;
|
|
18
|
-
var res = [];
|
|
19
|
-
for(var i=0;i<dblist.length;i++){
|
|
20
|
-
res.push({databaseid: dblist[i]});
|
|
21
|
-
}
|
|
22
|
-
cb(res);
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function showTables(dbid,cb) {
|
|
27
|
-
var request = window.indexedDB.open(dbid);
|
|
28
|
-
request.onsuccess = function(event) {
|
|
29
|
-
var db = event.target.result;
|
|
30
|
-
var res = [];
|
|
31
|
-
var tblist = db.objectStoreNames;
|
|
32
|
-
for(var i=0;i<tblist.length;i++){
|
|
33
|
-
res.push({tableid: tblist[i]});
|
|
34
|
-
}
|
|
35
|
-
cb(res);
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/*
|
|
40
|
-
showDatabases(function(data){
|
|
41
|
-
var dbs = data;
|
|
42
|
-
console.log(dbs[1].databaseid);
|
|
43
|
-
showTables(dbs[1].databaseid, function(data){
|
|
44
|
-
console.log(data[0].tableid);
|
|
45
|
-
getAll('mydb','mycollection',function(data){
|
|
46
|
-
console.table(data);
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
*/
|
|
51
|
-
|
|
52
|
-
function getAll(dbid, tableid, cb) {
|
|
53
|
-
var request = window.indexedDB.open(dbid);
|
|
54
|
-
request.onsuccess = function(event) {
|
|
55
|
-
var res = [];
|
|
56
|
-
var db = event.target.result;
|
|
57
|
-
db.transaction([tableid]).objectStore(tableid).openCursor().onsuccess = function(event) {
|
|
58
|
-
var cursor = event.target.result;
|
|
59
|
-
if(cursor) {
|
|
60
|
-
res.push(cursor.value);
|
|
61
|
-
cursor.continue();
|
|
62
|
-
} else {
|
|
63
|
-
cb(res);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
function openIndexedDBStream(dbid, tableid) {
|
|
71
|
-
var stream = {};
|
|
72
|
-
stream.databaseid = dbid;
|
|
73
|
-
stream.tableid = tableid;
|
|
74
|
-
stream.cursor = undefined;
|
|
75
|
-
stream.next = function(cb) {
|
|
76
|
-
if(!stream.cursor) {
|
|
77
|
-
var request = window.indexedDB.open(stream.databaseid);
|
|
78
|
-
request.onsuccess = function(event) {
|
|
79
|
-
var res = [];
|
|
80
|
-
var db = event.target.result;
|
|
81
|
-
db.transaction([stream.tableid]).objectStore(stream.tableid).openCursor().onsuccess = function(event) {
|
|
82
|
-
stream.cursor = event.target.result;
|
|
83
|
-
if(stream.cursor) {
|
|
84
|
-
cb(stream.cursor.value);
|
|
85
|
-
} else {
|
|
86
|
-
cb();
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
} else {
|
|
91
|
-
stream.cursor.continue();
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
return stream;
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
if(false) {
|
|
98
|
-
var tm = Date.now();
|
|
99
|
-
var st1 = openIndexedDBStream('mydb', 'mycollection');
|
|
100
|
-
|
|
101
|
-
st1.next(function(data) {
|
|
102
|
-
if(data) {
|
|
103
|
-
// console.log(data);
|
|
104
|
-
st1.next();
|
|
105
|
-
} else {
|
|
106
|
-
console.log(Date.now()-tm);
|
|
107
|
-
// console.log('finish');
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
var tm1 = Date.now();
|
|
113
|
-
getAll('ag155','one',function(data){
|
|
114
|
-
console.log(data);
|
|
115
|
-
console.log(Date.now()-tm1);
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
</script>
|
package/utils/abc.tsv
DELETED
package/utils/callback/cb1.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
function get1(n,index, cb) {
|
|
3
|
-
var nn = n;
|
|
4
|
-
if(n<0) return;
|
|
5
|
-
if(n>=10) return;
|
|
6
|
-
setTimeout(function(){cb('get1',{a:nn, b:nn*2})},200);
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
function get2(n,index, cb) {
|
|
10
|
-
var nn = n;
|
|
11
|
-
if(n<0) return;
|
|
12
|
-
if(n>=10) return;
|
|
13
|
-
setTimeout(function(){cb('get2',{a:nn, b:nn*3})},100);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
var times = 0;
|
|
17
|
-
var buff = [];
|
|
18
|
-
|
|
19
|
-
function after(key, data) {
|
|
20
|
-
buff[key] = data;
|
|
21
|
-
console.log(times);
|
|
22
|
-
times++;
|
|
23
|
-
if(times<6) return;
|
|
24
|
-
setTimeout(function(){process(buff)},0);
|
|
25
|
-
console.log('before process');
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function process(data){
|
|
29
|
-
console.log('process',data);
|
|
30
|
-
console.log('after process');
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
console.log("start");
|
|
34
|
-
get1(1,null,after);
|
|
35
|
-
get1(1,null,after);
|
|
36
|
-
get2(3,null,after);
|
|
37
|
-
get2(4,null,after);
|
|
38
|
-
get2(5,null,after);
|
|
39
|
-
get2(2,null,after);
|
|
40
|
-
console.log("finish");
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
var k = 5;
|
|
44
|
-
var data = [];
|
|
45
|
-
|
|
46
|
-
var next = function(){
|
|
47
|
-
console.log('next',k)
|
|
48
|
-
data.push(k);
|
|
49
|
-
k--;
|
|
50
|
-
if(k>0) setTimeout(next,0);
|
|
51
|
-
else setTimeout(onfinish,0);
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
var onfinish = function(){
|
|
55
|
-
console.log(data);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
setTimeout(next,0);
|
|
59
|
-
|
package/utils/callback/cb2.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var async = false;
|
|
4
|
-
|
|
5
|
-
function alasql(sql, params, cb) {
|
|
6
|
-
var res;
|
|
7
|
-
if(arguments.length < 3) {
|
|
8
|
-
process(sql, params, function(data){
|
|
9
|
-
res = data;
|
|
10
|
-
});
|
|
11
|
-
if(async) {
|
|
12
|
-
throw Error('Use sync version');
|
|
13
|
-
}
|
|
14
|
-
return res;
|
|
15
|
-
} else {
|
|
16
|
-
process(sql, params, function(data) {
|
|
17
|
-
cb(data);
|
|
18
|
-
async = false;
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
function process(sql, params, cb) {
|
|
24
|
-
if(sql == "sync") {
|
|
25
|
-
cb(100);
|
|
26
|
-
} else {
|
|
27
|
-
async = true;
|
|
28
|
-
setTimeout(function(){
|
|
29
|
-
cb(200);
|
|
30
|
-
},100);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
var res = alasql('async',[],function(data){
|
|
35
|
-
console.log(1,data);
|
|
36
|
-
});
|
|
37
|
-
console.log(2,res);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var res = alasql('sync',[]);
|
|
41
|
-
console.log(3,res);
|
|
42
|
-
|
|
43
|
-
/*
|
|
44
|
-
var res = alasql('async',[]);
|
|
45
|
-
*/
|
package/utils/closure/README.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Directory for Closure Compiler
|
|
Binary file
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
var gv = undefined;
|
|
2
|
-
|
|
3
|
-
function cordovaReadFile(path) {
|
|
4
|
-
return gv;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
cordovaWriteFile(
|
|
8
|
-
path
|
|
9
|
-
, value
|
|
10
|
-
, utf8
|
|
11
|
-
, callback) {
|
|
12
|
-
gv = value;
|
|
13
|
-
callback();
|
|
14
|
-
}
|
|
15
|
-
function CordovaStorage(path, opts) {
|
|
16
|
-
opts = opts || {};
|
|
17
|
-
var db
|
|
18
|
-
;
|
|
19
|
-
|
|
20
|
-
Object.defineProperty(this, '___priv_bk___', {
|
|
21
|
-
value: {
|
|
22
|
-
path: path
|
|
23
|
-
}
|
|
24
|
-
, writable: false
|
|
25
|
-
, enumerable: false
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
Object.defineProperty(this, '___priv_strict___', {
|
|
29
|
-
value: !!opts.strict
|
|
30
|
-
, writable: false
|
|
31
|
-
, enumerable: false
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
Object.defineProperty(this, '___priv_ws___', {
|
|
35
|
-
value: opts.ws || ' '
|
|
36
|
-
, writable: false
|
|
37
|
-
, enumerable: false
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
try {
|
|
41
|
-
db = JSON.parse(cordovaReadFile(path));
|
|
42
|
-
} catch(e) {
|
|
43
|
-
db = {};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
Object.keys(db).forEach(function (key) {
|
|
47
|
-
this[key] = db[key];
|
|
48
|
-
}, this);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
CordovaStorage.prototype.getItem = function (key) {
|
|
52
|
-
if (this.hasOwnProperty(key)) {
|
|
53
|
-
if (this.___priv_strict___) {
|
|
54
|
-
return String(this[key]);
|
|
55
|
-
} else {
|
|
56
|
-
return this[key];
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return null;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
CordovaStorage.prototype.setItem = function (key, val) {
|
|
63
|
-
if (val === undefined) {
|
|
64
|
-
this[key] = null;
|
|
65
|
-
} else if (this.___priv_strict___) {
|
|
66
|
-
this[key] = String(val);
|
|
67
|
-
} else {
|
|
68
|
-
this[key] = val;
|
|
69
|
-
}
|
|
70
|
-
this.___save___();
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
CordovaStorage.prototype.removeItem = function (key) {
|
|
74
|
-
delete this[key];
|
|
75
|
-
this.___save___();
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
CordovaStorage.prototype.clear = function () {
|
|
79
|
-
var self = this;
|
|
80
|
-
// filters out prototype keys
|
|
81
|
-
Object.keys(self).forEach(function (key) {
|
|
82
|
-
self[key] = undefined;
|
|
83
|
-
delete self[key];
|
|
84
|
-
});
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
CordovaStorage.prototype.key = function (i) {
|
|
88
|
-
i = i || 0;
|
|
89
|
-
return Object.keys(this)[i];
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
CordovaStorage.prototype.__defineGetter__('length', function () {
|
|
93
|
-
return Object.keys(this).length;
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
CordovaStorage.prototype.___save___ = function () {
|
|
97
|
-
var self = this
|
|
98
|
-
;
|
|
99
|
-
|
|
100
|
-
if (!this.___priv_bk___.path) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
if (this.___priv_bk___.lock) {
|
|
105
|
-
this.___priv_bk___.wait = true;
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
this.___priv_bk___.lock = true;
|
|
110
|
-
cordovaWriteFile(
|
|
111
|
-
this.___priv_bk___.path
|
|
112
|
-
, JSON.stringify(this, null, this.___priv_ws___)
|
|
113
|
-
, 'utf8'
|
|
114
|
-
, function (e) {
|
|
115
|
-
self.___priv_bk___.lock = false;
|
|
116
|
-
if (e) {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
if (self.___priv_bk___.wait) {
|
|
120
|
-
self.___priv_bk___.wait = false;
|
|
121
|
-
self.___save___();
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
Object.defineProperty(CordovaStorage, 'create', {
|
|
127
|
-
value: function (path, opts) {
|
|
128
|
-
return new CordovaStorage(path, opts);
|
|
129
|
-
}
|
|
130
|
-
, writable: false
|
|
131
|
-
, enumerable: false
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
global.localStorage = new Storage("./test149.json", { strict: false, ws: '' });
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
var gv = undefined;
|
|
2
|
-
|
|
3
|
-
function loadFile(path,asy,success,error) {
|
|
4
|
-
return gv;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
function saveFile(path,data,callback) {
|
|
8
|
-
gv = data;
|
|
9
|
-
console.log(gv);
|
|
10
|
-
callback();
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
function FileStorage(path, opts) {
|
|
14
|
-
var self = this;
|
|
15
|
-
opts = opts || {};
|
|
16
|
-
var db
|
|
17
|
-
;
|
|
18
|
-
|
|
19
|
-
Object.defineProperty(this, '___priv_bk___', {
|
|
20
|
-
value: {
|
|
21
|
-
path: path
|
|
22
|
-
}
|
|
23
|
-
, writable: false
|
|
24
|
-
, enumerable: false
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
Object.defineProperty(this, '___priv_strict___', {
|
|
28
|
-
value: !!opts.strict
|
|
29
|
-
, writable: false
|
|
30
|
-
, enumerable: false
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
Object.defineProperty(this, '___priv_ws___', {
|
|
34
|
-
value: opts.ws || ' '
|
|
35
|
-
, writable: false
|
|
36
|
-
, enumerable: false
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
loadFile(path,true,function(data){
|
|
40
|
-
try {
|
|
41
|
-
db = JSON.parse(data);
|
|
42
|
-
} catch(e) {
|
|
43
|
-
db = {};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
Object.keys(db).forEach(function (key) {
|
|
47
|
-
self[key] = db[key];
|
|
48
|
-
}, self);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
FileStorage.prototype.getItem = function (key) {
|
|
53
|
-
if (this.hasOwnProperty(key)) {
|
|
54
|
-
if (this.___priv_strict___) {
|
|
55
|
-
return String(this[key]);
|
|
56
|
-
} else {
|
|
57
|
-
return this[key];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return null;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
FileStorage.prototype.setItem = function (key, val) {
|
|
64
|
-
if (val === undefined) {
|
|
65
|
-
this[key] = null;
|
|
66
|
-
} else if (this.___priv_strict___) {
|
|
67
|
-
this[key] = String(val);
|
|
68
|
-
} else {
|
|
69
|
-
this[key] = val;
|
|
70
|
-
}
|
|
71
|
-
this.___save___();
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
FileStorage.prototype.removeItem = function (key) {
|
|
75
|
-
delete this[key];
|
|
76
|
-
this.___save___();
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
FileStorage.prototype.clear = function () {
|
|
80
|
-
var self = this;
|
|
81
|
-
// filters out prototype keys
|
|
82
|
-
Object.keys(self).forEach(function (key) {
|
|
83
|
-
self[key] = undefined;
|
|
84
|
-
delete self[key];
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
FileStorage.prototype.key = function (i) {
|
|
89
|
-
i = i || 0;
|
|
90
|
-
return Object.keys(this)[i];
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
FileStorage.prototype.__defineGetter__('length', function () {
|
|
94
|
-
return Object.keys(this).length;
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
FileStorage.prototype.___save___ = function () {
|
|
98
|
-
var self = this
|
|
99
|
-
;
|
|
100
|
-
|
|
101
|
-
if (!this.___priv_bk___.path) {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
if (this.___priv_bk___.lock) {
|
|
106
|
-
this.___priv_bk___.wait = true;
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
this.___priv_bk___.lock = true;
|
|
111
|
-
saveFile(
|
|
112
|
-
this.___priv_bk___.path
|
|
113
|
-
, JSON.stringify(this, null, this.___priv_ws___)
|
|
114
|
-
, function (e) {
|
|
115
|
-
self.___priv_bk___.lock = false;
|
|
116
|
-
if (e) {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
if (self.___priv_bk___.wait) {
|
|
120
|
-
self.___priv_bk___.wait = false;
|
|
121
|
-
self.___save___();
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
Object.defineProperty(FileStorage, 'create', {
|
|
127
|
-
value: function (path, opts) {
|
|
128
|
-
return new FileStorage(path, opts);
|
|
129
|
-
}
|
|
130
|
-
, writable: false
|
|
131
|
-
, enumerable: false
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
exports.FileStorage = FileStorage;
|
|
136
|
-
// Start to use
|
|
137
|
-
|
|
138
|
-
// fileStorage = new FileStorage("./fstest.json", { strict: false, ws: '' });
|
package/utils/cordova/test.js
DELETED
package/utils/cordova/test1.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
var alasql = require('../alasql.js');
|
|
2
|
-
|
|
3
|
-
var filename = './test1.json';
|
|
4
|
-
|
|
5
|
-
// Check if database exists
|
|
6
|
-
alasql.utils.fileExists(filename,function(res){
|
|
7
|
-
// console.log('res',res);
|
|
8
|
-
if(!res) {
|
|
9
|
-
// Create database
|
|
10
|
-
alasql('CREATE FILESTORAGE DATABASE test1("./test1.json")');
|
|
11
|
-
alasql('ATTACH FILESTORAGE DATABASE test1("./test1.json")');
|
|
12
|
-
alasql('USE test1');
|
|
13
|
-
alasql('CREATE TABLE one(a int, b string);');
|
|
14
|
-
alasql('INSERT INTO one VALUES (10,"alala")');
|
|
15
|
-
alasql('DETACH DATABASE test1');
|
|
16
|
-
}
|
|
17
|
-
// Use database
|
|
18
|
-
|
|
19
|
-
alasql('ATTACH FILESTORAGE DATABASE test1("./test1.json")');
|
|
20
|
-
alasql('USE test1');
|
|
21
|
-
alasql('INSERT INTO one VALUES (20,"alala")');
|
|
22
|
-
var res = alasql('SELECT VALUE COUNT(*) FROM one');
|
|
23
|
-
console.log(res);
|
|
24
|
-
//console.log(alasql.databases.test1);
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
|
package/utils/cordova/test1.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"tables":{"one":{"columns":[{"columnid":"a","dbtypeid":"INT"},{"columnid":"b","dbtypeid":"STRING"}]}},"one":[{"a":10,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"},{"a":20,"b":"alala"}]}
|
package/utils/d31/1.html
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<meta charset="utf-8">
|
|
3
|
-
<script src="d3.v3.min.js"></script>
|
|
4
|
-
<script src="../../dist/alasql.js"></script>
|
|
5
|
-
<style>
|
|
6
|
-
|
|
7
|
-
path.link {
|
|
8
|
-
fill: none;
|
|
9
|
-
stroke: #666;
|
|
10
|
-
stroke-width: 1.5px;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
circle {
|
|
14
|
-
fill: #ccc;
|
|
15
|
-
stroke: #fff;
|
|
16
|
-
stroke-width: 1.5px;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
text {
|
|
20
|
-
fill: #000;
|
|
21
|
-
font: 10px sans-serif;
|
|
22
|
-
pointer-events: none;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
</style>
|
|
26
|
-
<body>
|
|
27
|
-
<script>
|
|
28
|
-
|
|
29
|
-
// get the data
|
|
30
|
-
|
|
31
|
-
alasql('SELECT * FROM CSV("force.csv",{headers:true})',[],function(data){
|
|
32
|
-
var vv = alasql('SEARCH DISTINCT(UNION ALL(/[source],/[target])) FROM ?',[data]);
|
|
33
|
-
alasql('CREATE GRAPH '+vv.map(function(v){return '"'+v+'"'}));
|
|
34
|
-
|
|
35
|
-
var vvv = {};
|
|
36
|
-
alasql('SEARCH VERTEX').forEach(function(v){vvv[v.name] = v.$id});
|
|
37
|
-
|
|
38
|
-
alasql('CREATE GRAPH '+data.map(function(e){
|
|
39
|
-
return '#'+vvv[e.source]+' > {[value]:'+e.value+'} > #'+vvv[e.target]+'';
|
|
40
|
-
}));
|
|
41
|
-
|
|
42
|
-
alasql('SEARCH "Harry" PATH("Roger") EDGE SET(color="red")');
|
|
43
|
-
alasql('SEARCH "Johan" PATH("Carol") EDGE SET(color="blue")');
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
var width = 960,
|
|
47
|
-
height = 500;
|
|
48
|
-
|
|
49
|
-
var force = d3.layout.force()
|
|
50
|
-
|
|
51
|
-
.nodes(alasql('SEARCH VERTEX D3()'))
|
|
52
|
-
.links(alasql('SEARCH EDGE D3()'))
|
|
53
|
-
|
|
54
|
-
.size([width, height])
|
|
55
|
-
.linkDistance(60)
|
|
56
|
-
.charge(-300)
|
|
57
|
-
.on("tick", tick)
|
|
58
|
-
.start();
|
|
59
|
-
|
|
60
|
-
var svg = d3.select("body").append("svg")
|
|
61
|
-
.attr("width", width)
|
|
62
|
-
.attr("height", height);
|
|
63
|
-
|
|
64
|
-
// build the arrow.
|
|
65
|
-
svg.append("svg:defs").selectAll("marker")
|
|
66
|
-
.data(["end"]) // Different link/path types can be defined here
|
|
67
|
-
.enter().append("svg:marker") // This section adds in the arrows
|
|
68
|
-
.attr("id", String)
|
|
69
|
-
.attr("viewBox", "0 -5 10 10")
|
|
70
|
-
.attr("refX", 15)
|
|
71
|
-
.attr("refY", -1.5)
|
|
72
|
-
.attr("markerWidth", 6)
|
|
73
|
-
.attr("markerHeight", 6)
|
|
74
|
-
.attr("orient", "auto")
|
|
75
|
-
.append("svg:path")
|
|
76
|
-
.attr("d", "M0,-5L10,0L0,5");
|
|
77
|
-
|
|
78
|
-
// add the links and the arrows
|
|
79
|
-
var path = svg.append("svg:g").selectAll("path")
|
|
80
|
-
.data(force.links())
|
|
81
|
-
.enter().append("svg:path")
|
|
82
|
-
// .attr("class", function(d) { return "link " + d.type; })
|
|
83
|
-
.attr("class", "link")
|
|
84
|
-
.style('stroke',function(d){
|
|
85
|
-
console.log(d.color);
|
|
86
|
-
return d.color;
|
|
87
|
-
})
|
|
88
|
-
|
|
89
|
-
.attr("marker-end", "url(#end)");
|
|
90
|
-
|
|
91
|
-
// define the nodes
|
|
92
|
-
var node = svg.selectAll(".node")
|
|
93
|
-
.data(force.nodes())
|
|
94
|
-
.enter().append("g")
|
|
95
|
-
.attr("class", "node")
|
|
96
|
-
.call(force.drag);
|
|
97
|
-
|
|
98
|
-
// add the nodes
|
|
99
|
-
node.append("circle")
|
|
100
|
-
.attr("r", 5);
|
|
101
|
-
|
|
102
|
-
// add the text
|
|
103
|
-
node.append("text")
|
|
104
|
-
.attr("x", 12)
|
|
105
|
-
.attr("dy", ".35em")
|
|
106
|
-
.text(function(d) { return d.name; });
|
|
107
|
-
|
|
108
|
-
// add the curvy lines
|
|
109
|
-
function tick() {
|
|
110
|
-
path.attr("d", function(d) {
|
|
111
|
-
var dx = d.target.x - d.source.x,
|
|
112
|
-
dy = d.target.y - d.source.y,
|
|
113
|
-
dr = Math.sqrt(dx * dx + dy * dy);
|
|
114
|
-
return "M" +
|
|
115
|
-
d.source.x + "," +
|
|
116
|
-
d.source.y + "A" +
|
|
117
|
-
dr + "," + dr + " 0 0,1 " +
|
|
118
|
-
d.target.x + "," +
|
|
119
|
-
d.target.y;
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
node
|
|
123
|
-
.attr("transform", function(d) {
|
|
124
|
-
return "translate(" + d.x + "," + d.y + ")"; });
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
</script>
|
|
132
|
-
</body>
|
|
133
|
-
</html>
|