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.
Files changed (53) hide show
  1. package/bin/alasql-cli.js +1 -1
  2. package/dist/alasql-worker.js +2 -2
  3. package/dist/alasql-worker.min.js +1 -1
  4. package/dist/alasql.fs.js +11231 -11231
  5. package/dist/alasql.js +17 -17
  6. package/dist/alasql.min.js +2 -16
  7. package/package.json +1 -1
  8. package/.npmignore +0 -15
  9. package/utils/2ch/2ch.js +0 -69
  10. package/utils/2ch/README.md +0 -3
  11. package/utils/2repl.js +0 -21
  12. package/utils/README.md +0 -16
  13. package/utils/a.a +0 -0
  14. package/utils/a.jison +0 -2455
  15. package/utils/a.js +0 -2546
  16. package/utils/a1.html +0 -120
  17. package/utils/abc.tsv +0 -4
  18. package/utils/callback/cb1.js +0 -59
  19. package/utils/callback/cb2.js +0 -45
  20. package/utils/closure/README.md +0 -1
  21. package/utils/closure/compiler.jar +0 -0
  22. package/utils/cordova/alasql-cordova.js +0 -134
  23. package/utils/cordova/filestorage.js +0 -138
  24. package/utils/cordova/test.js +0 -5
  25. package/utils/cordova/test1.js +0 -27
  26. package/utils/cordova/test1.json +0 -1
  27. package/utils/d31/1.html +0 -133
  28. package/utils/d31/2.html +0 -130
  29. package/utils/d31/3.html +0 -131
  30. package/utils/d31/5.html +0 -133
  31. package/utils/d31/d3.v3.min.js +0 -5
  32. package/utils/d31/force.csv +0 -29
  33. package/utils/d31/forcerus.csv +0 -29
  34. package/utils/d31/index.html +0 -120
  35. package/utils/d3graph/index.html +0 -98
  36. package/utils/d3graph/links.json +0 -58
  37. package/utils/d3graph/nodes.json +0 -38
  38. package/utils/graph/CREATE CLASS G1 +0 -39
  39. package/utils/graph/README.md +0 -3
  40. package/utils/graph/idea.txt +0 -22
  41. package/utils/graph/ides 150428.txt +0 -24
  42. package/utils/graph/index.html +0 -68
  43. package/utils/graph/miserables.json +0 -337
  44. package/utils/indexeddb/index.html +0 -24
  45. package/utils/main.html +0 -207
  46. package/utils/mainww.html +0 -9
  47. package/utils/mainww1.html +0 -15
  48. package/utils/minisql/minisql.js +0 -377
  49. package/utils/redj/README.md +0 -10
  50. package/utils/redj/redj.js +0 -44
  51. package/utils/test.js +0 -6
  52. package/utils/testbench.html +0 -15
  53. package/utils/testbench.worker.html +0 -15
@@ -1,377 +0,0 @@
1
- miniSQL = function(Collection){
2
-
3
- Collection = Collection || Object.create(miniSQL.prototype);
4
- Collection.table = Collection.tableName;
5
-
6
- // inputString used by queries, overrides other strings
7
- // includes: create table, create relationship, drop table, insert
8
- Collection.inputString = '';
9
- Collection.inputString2 = '';
10
- Collection.autoSelectData = '';
11
- Collection.autoSelectInput = '';
12
- Collection.tableElements = {};
13
-
14
- // statement starters
15
- Collection.selectString = '';
16
- Collection.updateString = '';
17
- Collection.deleteString = '';
18
-
19
- // chaining statements
20
- Collection.joinString = '';
21
- Collection.whereString = '';
22
- Collection.clientWhereString = '';
23
- Collection.serverWhereString = '';
24
-
25
- // caboose statements
26
- Collection.orderString = '';
27
- Collection.limitString = '';
28
- Collection.offsetString = '';
29
- Collection.groupString = '';
30
- Collection.havingString = '';
31
-
32
- Collection.dataArray = [];
33
- Collection.dataArray2 = [];
34
- Collection.server = null;
35
-
36
- // error logging
37
- Collection.prevFunc = '';
38
- return Collection;
39
- };
40
-
41
- miniSQL.prototype.createTable = function(tableObj) {
42
- var _DataTypes = {
43
- $number: 'integer',
44
- $string: 'varchar(255)',
45
- $json: 'json',
46
- $datetime: 'date',
47
- $float: 'decimal',
48
- $seq: 'serial',
49
- $bool: 'boolean'
50
- };
51
-
52
- var _TableConstraints = {
53
- $unique: 'unique',
54
- $check: 'check ', // value
55
- $exclude: 'exclude',
56
- $notnull: 'not null',
57
- $default: 'default ', // value
58
- $primary: 'primary key'
59
- };
60
-
61
- alasql.fn.Date = Date;
62
-
63
- var startString = 'CREATE TABLE ' + this.table + ' (';
64
- var item, subKey, valOperator, inputString = '';
65
-
66
- for (var key in tableObj) {
67
- this.tableElements[key] = key;
68
- inputString += key + ' ';
69
- inputString += _DataTypes[tableObj[key][0]];
70
- if (Array.isArray(tableObj[key]) && tableObj[key].length > 1) {
71
- for (var i = 1, count = tableObj[key].length; i < count; i++) {
72
- item = tableObj[key][i];
73
- if (typeof item === 'object') {
74
- subKey = Object.keys(item);
75
- valOperator = _TableConstraints[subKey];
76
- inputString += ' ' + valOperator + item[subKey];
77
- } else {
78
- inputString += ' ' + _TableConstraints[item];
79
- }
80
- }
81
- }
82
- inputString += ', ';
83
- }
84
- // check to see if id already provided
85
- if (inputString.indexOf('id') === -1) {
86
- startString += 'id serial primary key,';
87
- }
88
-
89
- this.inputString = startString + inputString + " createdat Date); ";
90
- this.prevFunc = 'CREATE TABLE';
91
- alasql(this.inputString);
92
- this.clearAll();
93
- return this;
94
- };
95
-
96
- miniSQL.prototype.dropTable = function() {
97
- this.inputString = 'DROP TABLE IF EXISTS ' + this.table + ' CASCADE;';
98
- this.prevFunc = 'DROP TABLE';
99
- return this;
100
- };
101
-
102
- miniSQL.prototype.insert = function(serverInserts, clientInserts) {
103
- // server
104
- if(serverInserts['id'] === undefined){
105
- serverInserts['id'] = -1;
106
- }
107
- // client
108
- this.dataArray2 = [];
109
- var insertString2 = 'INSERT INTO ' + this.table + ' (';
110
- var valueString2 = ') VALUES (';
111
- for (var key2 in clientInserts) {
112
- insertString2 += key2 + ', ';
113
- this.dataArray2.push(clientInserts[key2]);
114
- valueString2 += '?, ';
115
- }
116
- for (var key3 in serverInserts) {
117
- insertString2 += key3 + ', ';
118
- this.dataArray2.push(serverInserts[key3]);
119
- valueString2 += '?, ';
120
- }
121
- this.server = true;
122
- this.inputString2 = insertString2.substring(0, insertString2.length - 2) + valueString2.substring(0, valueString2.length - 2) + ');';
123
-
124
-
125
- this.dataArray = [];
126
- if (serverInserts['id'] === -1){
127
- delete serverInserts['id'];
128
- }
129
- var insertString = 'INSERT INTO ' + this.table + ' (';
130
- var valueString = ') VALUES (', j = 1;
131
- for (var key in serverInserts) {
132
- insertString += key + ', '; // field
133
- this.dataArray.push(serverInserts[key]); // data
134
- valueString += '$' + j++ + ', '; // $1, $2, etc
135
- }
136
-
137
- this.inputString = insertString.substring(0, insertString.length - 2) + valueString.substring(0, valueString.length - 2) + ');';
138
-
139
-
140
-
141
- this.prevFunc = 'INSERT';
142
- return this;
143
- };
144
-
145
- miniSQL.prototype.update = function(updates) {
146
- this.updateString = 'UPDATE ' + this.table + ' SET ';
147
- for (var key in updates) {
148
- if (typeof updates[key] === 'number' && !isNaN(updates[key]) || typeof(updates[key]) === "boolean"){
149
- this.updateString += key + ' = ' + updates[key] + ', ';
150
- }
151
- else {
152
- this.updateString += key + ' = "' + updates[key] + '", ';
153
- }
154
- }
155
- this.updateString = this.updateString.substring(0,this.updateString.length-2);
156
- this.prevFunc = 'UPDATE';
157
- return this;
158
- };
159
-
160
- miniSQL.prototype.remove = function() {
161
- this.deleteString = 'DELETE FROM ' + this.table;
162
- this.prevFunc = 'DELETE';
163
- return this;
164
- };
165
-
166
- miniSQL.prototype.select = function(/*arguments*/) {
167
- var args = '';
168
- if (arguments.length >= 1) {
169
- for (var i = 0; i < arguments.length; i++) {
170
- if (arguments[i] === 'distinct') {
171
- args += 'DISTINCT ';
172
- } else {
173
- args += arguments[i] + ', ';
174
- }
175
- }
176
- args = args.substring(0, args.length - 2);
177
- } else {
178
- args += '*';
179
- }
180
- this.selectString = 'SELECT ' + args + ' FROM ' + this.table + " ";
181
- this.prevFunc = 'SELECT';
182
- return this;
183
- };
184
-
185
- miniSQL.prototype.findOne = function(/*arguments*/) {
186
- if (arguments.length === 2) {
187
- this.inputString = 'SELECT * FROM ' + this.table + ' WHERE ' + this.table + '.id = ' + args + ' LIMIT 1;';
188
- } else {
189
- this.inputString = 'SELECT * FROM ' + this.table + ' LIMIT 1';
190
- }
191
- this.prevFunc = 'FIND ONE';
192
- return this;
193
- };
194
-
195
- miniSQL.prototype.join = function(joinType, fields, joinTable) {
196
- if (Array.isArray(joinType)) {
197
- for (var x = 0, count = fields.length; x < count; x++) {
198
- this.joinString = " " + joinType[x] + " " + joinTable[x][0] + " ON " + this.table + "." + fields[x] + " = " + joinTable[x][0] + "." + joinTable[x][1];
199
- }
200
- } else {
201
- this.joinString = " " + joinType + " " + joinTable + " ON " + this.table + "." + fields + " = " + joinTable + "." + joinTable;
202
- }
203
- this.prevFunc = "JOIN";
204
- return this;
205
- };
206
-
207
- miniSQL.prototype.where = function(/*Arguments*/) {
208
-
209
- this.dataArray = [];
210
- this.dataArray2 = [];
211
- var where = '', redux, substring1, substring2;
212
-
213
- where += arguments[0];
214
- // replace ? with rest of array
215
- for (var i = 1, count = arguments.length; i < count; i++) {
216
- if (Array.isArray(arguments[i])) {
217
- if (arguments[i].length === 0) {
218
- throw new Error('Invalid input: array is empty');
219
- }
220
- redux = where.indexOf('?');
221
- substring1 = where.substring(0, redux);
222
- substring2 = where.substring(redux + 1, where.length);
223
- where = substring1 + 'ANY($' + i + ')'+ substring2;
224
- this.dataArray.push(arguments[i]);
225
- } else {
226
- redux = where.indexOf('?');
227
- substring1 = where.substring(0, redux);
228
- substring2 = where.substring(redux + 1, where.length);
229
- where = substring1 + '$' + i + substring2;
230
- this.dataArray.push(arguments[i]);
231
- }
232
- }
233
- this.serverWhereString = ' WHERE ' + where;
234
-
235
- where = '';
236
- where += arguments[0];
237
- for (var i = 1, count = arguments.length; i < count; i++) {
238
- if (Array.isArray(arguments[i])) {
239
- redux = where.indexOf('?');
240
- substring1 = where.substring(0, redux);
241
- substring2 = where.substring(redux + 1, where.length);
242
- where = substring1 + 'IN (' + arguments[i].join(',') + ')' + substring2;
243
- } else {
244
- this.dataArray2.push(arguments[i]);
245
- }
246
- }
247
- this.clientWhereString = ' WHERE ' + where;
248
-
249
- return this;
250
- };
251
-
252
- miniSQL.prototype.order = function(/*arguments*/) {
253
-
254
- var args = '';
255
- if (arguments.length > 1) {
256
- for (var i = 0; i < arguments.length; i++) {
257
- args += arguments[i] + ', ';
258
- }
259
- args = args.substring(0, args.length - 2);
260
- } else {
261
- args = arguments[0];
262
- }
263
- this.orderString = ' ORDER BY ' + args;
264
- return this;
265
- };
266
-
267
- miniSQL.prototype.limit = function(limit) {
268
- this.limitString = ' LIMIT ' + limit;
269
- return this;
270
- };
271
-
272
- miniSQL.prototype.offset = function(offset) {
273
- this.offsetString = ' OFFSET ' + offset;
274
- return this;
275
- };
276
-
277
- miniSQL.prototype.group = function(group) {
278
- this.groupString = 'GROUP BY ' + group;
279
- return this;
280
- };
281
-
282
- miniSQL.prototype.first = function(limit) {
283
- limit = limit || 1;
284
- this.inputString += 'SELECT * FROM ' + this.table + ' ORDER BY ' + this.table + '.id ASC LIMIT ' + limit + ';';
285
- this.prevFunc = 'FIRST';
286
- return this;
287
- };
288
-
289
- miniSQL.prototype.last = function(limit) {
290
- limit = limit || 1;
291
- this.inputString += 'SELECT * FROM ' + this.table + ' ORDER BY ' + this.table + '.id DESC LIMIT ' + limit + ';';
292
- this.prevFunc = 'LAST';
293
- return this;
294
- };
295
-
296
- miniSQL.prototype.take = function(limit) {
297
- limit = limit || 1;
298
- this.inputString += 'SELECT * FROM ' + this.table + ' LIMIT ' + limit + ';';
299
- this.prevFunc = 'TAKE';
300
- return this;
301
- };
302
-
303
- miniSQL.prototype.clearAll = function() {
304
- this.inputString = '';
305
- this.inputString2 = '';
306
- this.autoSelectData = '';
307
- this.autoSelectInput = '';
308
-
309
- // statement starters
310
- this.selectString = '';
311
- this.updateString = '';
312
- this.deleteString = '';
313
-
314
- // chaining statements
315
- this.joinString = '';
316
- this.whereString = '';
317
- this.clientWhereString = '';
318
- this.serverWhereString = '';
319
-
320
- // caboose statements
321
- this.orderString = '';
322
- this.limitString = '';
323
- this.offsetString = '';
324
- this.groupString = '';
325
- this.havingString = '';
326
-
327
- this.dataArray = [];
328
- this.dataArray2 = [];
329
- this.server = null;
330
-
331
- // error logging
332
- this.prevFunc = '';
333
- };
334
-
335
- miniSQL.prototype.fetch = function(server) {
336
-
337
- this.reactiveData.depend();
338
-
339
- var dataArray = this.dataArray;
340
- var starter = this.updateString || this.deleteString || this.selectString;
341
-
342
- var input = this.inputString.length > 0 ? this.inputString : starter + this.joinString + this.clientWhereString + this.orderString + this.limitString +
343
- this.offsetString + this.groupString + this.havingString + ';';
344
-
345
-
346
- var result = alasql(input, dataArray);
347
-
348
- var name = this.table + 'fetch';
349
- if (server === "server") {
350
- input = this.inputString.length > 0 ? this.inputString : starter + this.joinString + this.serverWhereString + this.orderString + this.limitString +
351
- this.offsetString + this.groupString + this.havingString + ';';
352
- Meteor.call(this.fetchMethod, input, dataArray);
353
- }
354
- this.clearAll();
355
- return result;
356
- };
357
-
358
- miniSQL.prototype.save = function(client) {
359
-
360
- var dataArray = this.dataArray;
361
- var dataArray2 = this.dataArray2;
362
- var starter = this.updateString || this.deleteString || this.selectString;
363
- var input = this.inputString2.length > 0 ? this.inputString2 : starter + this.joinString + this.clientWhereString + ';';
364
-
365
- var result = alasql(input, dataArray2);
366
- // postgres
367
- var name = this.table + 'save';
368
- if (client !== "client") {
369
- input = this.inputString.length > 0 ? this.inputString : starter + this.joinString + this.serverWhereString + ';';
370
- this.unvalidated = true;
371
- Meteor.call(this.saveMethod, input, dataArray);
372
- }
373
- this.reactiveData.changed();
374
-
375
- this.clearAll();
376
- return result;
377
- };
@@ -1,10 +0,0 @@
1
- redj.js - AlaSQL Jison compressor
2
- =====
3
-
4
- redj compress file alasqlparser.jison to alasqlparser1.jison.
5
-
6
- It read the list of all lexems and replace them to two-letter identificators.
7
-
8
- E.g.:
9
-
10
- DOLLAR -> Az
@@ -1,44 +0,0 @@
1
- var fs = require('fs');
2
-
3
- // Read file
4
- var s = fs.readFileSync('./src/alasqlparser.jison').toString();
5
-
6
- var ss = s.split('/lex');
7
-
8
- // Prepare list of terminals
9
- var aa = s.match(/return \'[A-Z_]+\'/g);
10
- var aa = aa.map(function(a){return a.substr(8,a.length-1-8)});
11
-
12
- // Prepare literals
13
- //var bb = s.match(/;\s+([A-Z][A-Za-z]*\s+:)/g);
14
- var bb = s.match(/\n[A-Z][A-Za-z]*\s+:/g);
15
-
16
- bb.forEach(function(b){
17
- aa.push(b.substr(1,b.length-2).trim());
18
- });
19
-
20
- aa.push('Literal');
21
- // var d = s.match(new RegExp("\\s"+c+"\\s","g"));
22
-
23
- // console.log(aa.length);
24
-
25
- var abc1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
26
- var abc2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789';
27
-
28
- for(var i=0;i<aa.length;i++) {
29
- var c1 = (i / abc2.length)|0;
30
- var c2 = i% abc2.length;
31
- var ch = abc1[c1]+abc2[c2];
32
- ss[0] = ss[0].replace(new RegExp("return\\s+\\'"+aa[i]+"\\'","g"),"return '"+ch+"'");
33
- ss[1] = ss[1].replace(new RegExp("\\s"+aa[i]+"\\s","g"),' '+ch+' ');
34
- ss[1] = ss[1].replace(new RegExp("\\("+aa[i]+"\\|","g"),'('+ch+'|');
35
- ss[1] = ss[1].replace(new RegExp("\\|"+aa[i]+"\\|","g"),'|'+ch+'|');
36
- ss[1] = ss[1].replace(new RegExp("\\|"+aa[i]+"\\)","g"),'|'+ch+')');
37
- ss[1] = ss[1].replace(new RegExp("\\s"+aa[i]+"\\?","g"),' '+ch+'?');
38
- }
39
-
40
- var so = ss[0]+'/lex'+ss[1];
41
- fs.writeFileSync('./src/alasqlparser1.jison',so);
42
- //console.log(s);
43
-
44
- //console.log(bb);
package/utils/test.js DELETED
@@ -1,6 +0,0 @@
1
- var alasql = require('../dist/alasql.min.js');
2
-
3
- //var alasql = require('../dist/alasql.opt.js');
4
-
5
- console.log(alasql('=1+100+(SELECT SUM(_) FROM RANGE(1,10))'));
6
- console.log(alasql('SELECT FROM RANGE(1,10)'));
@@ -1,15 +0,0 @@
1
-
2
- <script src="../dist/alasql.js"></script>
3
-
4
- <script>
5
-
6
- alasql.options.cache = 0;
7
-
8
- console.log('alasql.options.cache = 0;');
9
-
10
- console.log('alasql.version:', alasql.version);
11
-
12
- </script>
13
-
14
- <xmp id="output">Use AlaSQL in the console please...
15
-
@@ -1,15 +0,0 @@
1
-
2
- <script src="../dist/alasql-worker.js"></script>
3
-
4
- <script>
5
-
6
- alasql.options.cache = 0;
7
-
8
- console.log('alasql.options.cache = 0;');
9
-
10
- console.log('alasql.version:', alasql.version);
11
-
12
- </script>
13
-
14
- <xmp id="output">Use AlaSQL in the console please...
15
-