alasql 0.7.0 → 1.7.3

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/CHANGELOG.md DELETED
@@ -1,936 +0,0 @@
1
- # Changelog
2
-
3
-
4
- ## 0.7.0 (03/03/2021)
5
-
6
- - Fix: Code injection vulnerability processing literals #1302
7
- - Fix: Return empty results in group by when input is empty #927
8
-
9
-
10
-
11
- ### 0.6.5 (11.11.2020)
12
-
13
- - Fix: Do not include null in COUNT or AVG fixes #1251
14
-
15
-
16
- ### 0.6.4 (24.09.2020)
17
-
18
- - Add: String and Number objects supported as values
19
- - Add: `JOIN USING` now supports String and Number objects
20
- - Fix: File naming when exporting to Exel
21
-
22
-
23
- ### 0.6.2 (31.05.2020)
24
-
25
-
26
- - Add: Use NOT BETWEEN without parenthesis.
27
-
28
-
29
-
30
- ### 0.6.1 (20.05.2020)
31
-
32
- - Add: Use BETWEEN without parenthesis.
33
- - Fix: Let ADD COLUMN use the given dbtypeid
34
-
35
-
36
-
37
- ## 0.6.0 (02.05.2020)
38
-
39
- - Add: NULLS FIRST/LAST clause in ORDER BY (#1187)
40
- - Add: Support table/row names starting with numbers
41
-
42
-
43
-
44
- ### 0.5.9 (26.04.2020)
45
-
46
- - Add: Composite foreign keys implementation (#1179)
47
- - Fix: Insert's toString() (#1177)
48
- - Fix: DROP Filestorage Database with database name (#1184)
49
-
50
- ### 0.5.8 (27.03.2020)
51
-
52
- - Fix: usage of CURRENT_TIMESTAMP (Fix #1174)
53
-
54
- ### 0.5.6 "Bafq" (22.03.2020)
55
-
56
- - Add: GroupBy within nested array data set/params (#1167)
57
- - Fix: Use unknown DB name
58
-
59
- ### 0.5.5 "Bam" (29.01.2020)
60
-
61
- - Fix: Typescript typing
62
-
63
- ### 0.5.4 "Qom" (19.01.2020)
64
-
65
- - Fix: QUART/MEDIAN/MIN/MAX on number/date/string
66
-
67
-
68
- ### 0.5.3 "Chabahar" (02.01.2020)
69
-
70
- - Better: Support csv data from buffer
71
- - Better: Error message for foreign key constraint fail #1009
72
- - Fix: ORDER BY supports parameters #1100
73
- - Fix: Filestorage DELETE FROM #624
74
- - Fix: Drop trigger #1113
75
-
76
-
77
- ## 0.5.1 "Qazvin" (16.09.2019)
78
-
79
- - Add: Chain OUTER JOIN's #1105
80
- - Better: Typescript typings
81
- - Better: Updated dependencies
82
- - Fix: Join on CSV files directly
83
- - Fix: OUTER JOIN bug #1101
84
- - Fix: Pivot function cast for SUM and AVG
85
-
86
-
87
- ### 0.4.11 "Lawdar" (05.10.2018)
88
-
89
- * Add: Specified XLSX sheet without knowing the name
90
-
91
-
92
- ### 0.4.10 "Maoshk" (04.10.2018)
93
-
94
-
95
- * Add: xlsxml files with multiple sheets
96
-
97
-
98
- ### 0.4.9 "Alsalfiah" (05.08.2018)
99
-
100
- * Better: Error message grammar
101
- * Better: Support for Meteor code standards
102
- * Fix: dbprecision for select query
103
- * Fix: Handle promise error when reading one line csv files
104
- * Fix: AUTO_INCREMENT when using local storage
105
-
106
- ### 0.4.8 "Nafhan" (14.07.2018)
107
-
108
- * Fix: Error when installing caused by missing cli file in npm
109
-
110
-
111
- ### 0.4.7 "Tarim" (14.07.2018)
112
-
113
- * Better: Always find global object
114
-
115
-
116
- ### 0.4.6 "Rahbah" (14.06.2018)
117
-
118
- * Better: `Use strict` mode for javascript
119
-
120
-
121
- ### 0.4.5 "Marib" (24.01.2018)
122
-
123
- * Fix: Aggregate functions applied to empty sets (#964)
124
- * Fix: missing ORDER BY direction when calling toString on AST (#970)
125
- * Fix: Converting the syntax tree back to SQL with multple joins (#972)
126
-
127
- ### 0.4.4 "Alsowm" (03.12.2017)
128
-
129
- * Better: Better usage via unpkg.com
130
- * Better: Better usage via jsdelivr.com
131
-
132
-
133
- ### 0.4.3 "Hajjah" (05.09.2017)
134
-
135
- * Update: Removed implicit "any" in definition file
136
- * Fix: Tabletop reads in empty cells as numeric 0 instead of empty string
137
- * Fix: DISTINCT on emtpy table produced error
138
-
139
-
140
- ### 0.4.2 "Baraqish" (17.08.2017)
141
-
142
- * Added: SQL function LTRIM
143
- * Added: SQL function RTRIM
144
- * Better: Remove implicit any in type script definitioni
145
- * Better: Out-of-the-box Webpack and Browserify compatibility without hacks
146
- * Fix: Use created database id on foreign key check as default database
147
-
148
-
149
- ### 0.4.1 "Sayhut" (23.07.2017)
150
-
151
- * Better: Performace on `distinct` selects
152
- * Better: Hashing for cashed SQLs
153
- * Fix: Case insensetive selects from EXCEL
154
- * Fix: Select from empty EXCEL
155
-
156
-
157
- ##0.4.0 "Sanaa" (09.05.2017)
158
- * **Breaking:** OFFSET will now skip the first N rows in a result set before starting to return any rows (before it would skip N-1)
159
- * Add: Quartile aggregators (QUART, QUART2, QUART3)
160
- * Add: Typescript definitoin now supports extensions
161
- * Fix: Aggregate MEDIAN now working with ROLLUP
162
- * Fix: Aggregate STDEV now working with ROLLUP
163
- * Fix: SHOW COLUMNS works with the promise interface
164
- * Fix: SHOW INDEX works with the promise interface
165
-
166
- ### 0.3.9 "Turua" (23.03.2017)
167
- * Add: React native support
168
- * Fix: CSV error when quote set to empty
169
- * Fix: autoExt bug when not set for CSV on read
170
-
171
- ### 0.3.8 "Wanaka" (15.03.2017)
172
-
173
- * Added: Lazy promise notation
174
- * Added: Create user defined function via SQL statement
175
- * Added: Create user defined aggretator via SQL statement
176
- * Added: Auto extension for filenames on read + write
177
- * Fix: `.xlsx` can now be imported via browser "upload"
178
- * Update: `xls.js` package not needed any more. Only `xlsx` package is needed.
179
-
180
- ### 0.3.7 "Niau" (20.02.2017)
181
-
182
- * Added: Last `S` in `VALUES` can be omitted when insterting (For the lazy ones)
183
- * Added: The `VALUES` keyword is optional when insterting (For the very lazy ones)
184
- * Fix: Multiple worksheet Excel with custom headers
185
-
186
-
187
- ### 0.3.6 "Hipu" (24.01.2017)
188
-
189
- * Addded: Support for "use strict"
190
- * Fix: Select.toString() had bugs
191
- * Update: Better and faster deep compare of objects
192
-
193
-
194
- ### 0.3.5 "Maiao" (22.12.2016)
195
- * Added: Import data through AngularJS controllers
196
- * Added: Support for running in VM for nodeJS
197
- * Fix: Typescript definition
198
- * Fix: False negatives for deepequal'ing of extended primitives
199
- * Fix: Double quotation marks in CSV output
200
-
201
-
202
- ### 0.3.4 "Fitii" (09.11.2016)
203
- * Added: trigger `AFTER DELETE`
204
- * Fix: `TRUNCATE TABLE` now works for local storage DB
205
- * Fix: `JOIN` a sub select
206
- * Removed: The `HELP` command (to save space)
207
-
208
-
209
- ### 0.3.3 "Makemo" (13.10.2016)
210
- * Add: support for VALUE inside checks
211
- * Add: Conflate null and undefined
212
- * Add: Load CSV data from a string
213
- * Add: Warn when server side uses browser build of lib
214
- * Update: typescript definition for native import
215
- * Update: filesaver.js updated to 1.3.2
216
-
217
-
218
- ### 0.3.2 "Maumu" (05.09.2016)
219
- * Added: Postgres arrays like array[] and text[]
220
- * Added: Allow non-reserved keywords as identifiers
221
- * Fix: Empty tsv/csv files will no longer raise an error
222
- * Fix: alasql.d.ts format
223
- * Fix: Better way to find out if indexedDB is present
224
- * Fix: `null = null` is (now) null, baby.
225
- * Update: Column names first for RECORDSETS
226
-
227
-
228
- ### 0.3.1 "Taravao" (01.08.2016)
229
- * Allow unknown functions to be defined on alasql.fn afterwards
230
- * Easy access to AUTOINCREMENT values
231
- * MEDIAN will ignore null values
232
- * STDEV will ignore null values
233
-
234
-
235
- ## Version 0.3.0 "Papeete" (25.07.2016)
236
- * Breaking change: CSVs with header will now default have BOM added (for better utf8 support)
237
- * Added: Constraint names will now be exported in error message
238
- * Added: Web worker now supports .promise notation
239
- * Added: Postgres-specific aliases and fixes
240
- * Added: Make converting to an unknown type result in a noop rather than an error
241
- * Added: Support column types consisting of more than 2 words
242
-
243
-
244
- ### 0.2.7 "Corinth" (30.05.2016)
245
- * Added: Now supports Node 6.0
246
- * Added: Let .promise return all responses (not just last)
247
- * Change: Headers set as default true for INTO and FROM statements
248
- * Fix: Back on track (for good) with supporting Meteor
249
- * Fix: Default tentative string to numbers conversion when reading data from google spreadsheets
250
- * Update: No need for empty params when async
251
- * Update: Better hashing for cashing
252
-
253
-
254
- ### 0.2.6 "Frikes" (22.04.2016)
255
- * Added: Progress callback
256
- * Change: CLI defaults to pretty print (with option for compressed output as original)
257
- * Fix: Declaring all variables
258
- * Fix: Read XLSX files
259
- * Fix: Selecting a view from localstorage
260
- * Fix: CREATE VIEW for localStorage engine
261
- * Fix: Better use for RequireJS
262
- * Update: CLI output is guaranteed to be valid JSON
263
- * Update: Better error message for missing table or column
264
- * Update: Typescript defenition for .promise
265
- * Update: Empty params not needed for async calls
266
-
267
-
268
- ### 0.2.5 "Polychrono" (23.03.2016)
269
- * Added: Promise chain of queries
270
- * Fix: Remove leading whitespace from fields when importing csv files
271
- * Fix: Set default option for XLSXML
272
- * Fix: Use callbacks consistently
273
-
274
-
275
- ### 0.2.4 "Exogi" (04.03.2016)
276
- * Added: Central enviroment detection
277
- * Added: SELECT * FROM ? GROUP BY a works as FIRST(*)
278
- * Added: Better detection for browserify, phonegap and cordova
279
- * Fix: CONCAT without space
280
- * Fix: IE11: Reading Excel File
281
- * Fix: Date handeling (in)dependent from locale
282
-
283
-
284
- ### 0.2.3 "Spetses" (01.02.2016)
285
- * Changed: New fast way to calculate aggregators (some parameters changed)
286
- * Added: User defined aggregators
287
- * Fixed: Remove empty Last line in TXT and XLSX
288
- * Changed: {headers:true} now is default option
289
- * Fixed: option.joinstar flag for SELECT * FROM a,b
290
- * Added: EXP() function, ^ now is XOR, ~ binary NOT
291
- * Added: REPLACE() string function (see issue #560)
292
- * Added: NEWID(), UUID() and GEN_RANDOM_UUID() functions for GUID
293
- * Added: DEFAULT for column can be a function (e.g. DEFAULT NEWID())
294
-
295
-
296
- ### 0.2.2 "Mitilini" (15.01.2016)
297
- * Fix: SELECT can use functions from GROUP BY list
298
- * Fix: Bug in NUMERIC type conversion
299
- * Added: functions CEIL/CEILING and FLOOR
300
- * Added: CONCAT to the list of standard functions
301
- * Fix: Bug with primary key after DELETE all
302
- * Fix: Added String() to UPPER() and LOWER() functions
303
- * Added: PIVOT and UNPIVOT functionality
304
- * Added: REPLACE INTO command (see issue #467)
305
- * Added: ON UPDATE - column constraint
306
- * Fix: COLLATE and UNIQUE KEY words for CREATE TABLE (see issue #452)
307
- * Fix: Added params to SEARCH WHERE function
308
- * Added: TRIGGERs
309
- * Fix: Bug with MATRIX modifier
310
- * Fix: Bug with undefined content variable with IN operation (issue #501)
311
- * Fix: Bug with wrong realizaion of REPLACE INTO (issue #505)
312
- * Added: >>,<<,&,| - binary operations
313
- * Added: || - string concatenation (issue #514)
314
- * Added: GLOB operator
315
- * Fix: >> for binary operation and graphs collisions
316
- * Added: SELECT * FROM INSERTED (for T-SQL like triggers)
317
- * Fix: Added DEFAULT clause to INSERT SELECT statement
318
- * Added: expression NOT NULL operator (issue #507)
319
- * Added and Fix: REINDEX and fixed CREATE INDEX (issues #509, #470)
320
- * Fixed: browser tests, IndexedDB tests, DROP TABLE callback for external engines
321
- * Added: DATETIME2 type for compatibility with T-SQL
322
- * Added: DATEADD() and DATEDIFF() functions in T-SQL style
323
- * Added: CONCAT_WS() function
324
- * Added: OF() selector for SEARCH statement
325
-
326
- ### 0.2.1 "Rodos" (28.09.2015)
327
- * Added: AlaSQL CLI: Support for --version flag
328
- * Added: AlaSQL CLI: support for CLI exit code
329
- * Added: AlaSQL CLI: Missing file now won't throw exception (but log error text) nor if its a folder
330
- * Added: Support for using _ as a single wildcard in LIKE queries
331
- * Added: Support for FETCH NEXT syntax in queries (MSSQL/T-SQL)
332
- * Added: SUBSTR() alias for MID() function (for SQLite compatibility)
333
- * Added: LIKE ESCAPE functionality
334
- * Added: REGEXP operator (like MySQL) and REGEXP_LIKE() function (like in Oracle)
335
- * Added: INSERT OR REPLACE VALUE, INSERT OR REPLACE SELECT
336
- * Added: Read Blob as parameter for from-functions like XLS()
337
- * Fix: .CSV files made Excel 2013 compliant
338
- * Fix: misbehavour related to 'NOT' and '=' predecession
339
- * Fix: alasql running from cordova on iOS
340
-
341
-
342
- ## Version 0.2.0 "Athens" (13.07.2015)
343
- The purpose of this release were hard work on:
344
- * Documentation
345
- * Resolving bugs
346
- * Refactoring code
347
-
348
- Minor verison updated to sync lib, Meteor and npm version
349
-
350
- ### 0.1.11 "San Remo" (03.06.2015)
351
- * Code partially refactored with help of bitHound
352
- * New directory 'partners' added
353
- * Added file for codecomplexity.com
354
-
355
- ### 0.1.10 "Genova" (31.05.2015 - 02.06.2015)
356
- * CALL procedure() statement
357
- * bitHound advices
358
- * bower.json file updated
359
-
360
- ### 0.1.9 "Torino" (29.05.2015 - 31.05.2015)
361
- * SERIAL data type added
362
- * Changed package.json
363
- * Sample application AlaSQL Codex (alasql.org/codex)
364
- * Changed type conversion procedure for INTEGER, JSON and other types
365
- * TypeScript definition file: alasql.d.ts
366
-
367
- ### 0.1.8 "Pisa" (22.05.2015 - 28.05.2015)
368
- * SELECT FROM syntax
369
- * Export to multiple sheets workbook
370
- * SQL-99 features list
371
- * Changed README.md
372
- * PEOPLE.md moved to wiki
373
- * VALUE OF SELECT operator
374
- * bitHound file
375
-
376
- ### 0.1.7 "Parma" (17.05.2015 - 22.05.2015)
377
- * Fixed BETWEEN AND and AND parsing priority bug (KPI1:95%)
378
- * Fixed SUM() with NULL(undefined) values
379
- * SLT tests run
380
- * select1.test passed 100%
381
- * Set jsdoc environment
382
- * Added 'var y' and functions for NULL and undefined conversions
383
- * Fixed AVG() aggregator for NULL elements
384
- * New gulp commands: 'gulp doc' and 'gulp console'
385
- * Some jsDoc documentation tag added
386
- * Expression statement ( = 2*2 )
387
-
388
- ### 0.1.6 "Palermo" (13.05.2015 - 17.05.2015)
389
- * SET NOCOUNT OFF (for CREATE and INSERT)
390
- * ROWNUM() and ROW_NUMBER() functions
391
- * Promised version of alasql() - alasql.async() (based on es6-promises)
392
- * SELECT * FROM Json
393
- * SEARCH COMMA selector
394
- * Fixed bug with ORDER BY 1,2,3
395
- * Added subqueries for INSERT/DELETE/UPDATE
396
- * First 'official' ECHO plugin released (REQUIRE ECHO)
397
- * New catalogs added for future plugins
398
- * Meteor package 'agershun:alasql'
399
- * Changed readFile and readBinaryFile to read data from Meteor server
400
- * Added alasql.path
401
- * Test program improved
402
-
403
- ### 0.1.5 "San Marino" (12.05.2015 - 12.05.2015)
404
- * Added Meteor package (agershun:alasql) - still does not work - skeleton
405
- * Northwind test database - test for speed and SQL
406
- * Added w3 database (Northwind analogue)
407
- * Fixed FOREIGN KEY problem
408
-
409
- ### 0.1.4 "Napoli" (09.05.2015 - 11.05.2015)
410
- * Convert Meteor/Mongo collections on the fly
411
- * Added METEOR() from-function
412
- * Fixed $[0] -> $0 for parameters
413
- * utils/2ch.js - utility for minification of AlaSQL (calculate size of economy)
414
- * d3 graph path samples
415
- * alasql.options.autovertex flag - create vertices if not found
416
- * EQ() selector
417
- * LIKE selector
418
- * RETURNS selector - return record with columns like in SELECT
419
- * ALL() and ANY() selectors
420
- * Added CREATE TABLE column UNIQUE constraint on INSERT/DELETE/UPDATE
421
- * Added OBJECT_ID() function (like in T-SQL)
422
- * Added parts and optional for specific database compatibility
423
- * Changed REFERENCES syntax
424
- * dbo always as default database (for some compatibility with T-SQL)
425
- * NOT NULL check on INSERT/UPDATE
426
- * CHECK constraint (for whole table)
427
- * CURRENT_TIMESTAMP function
428
- * UNIQUE constraint (whole table)
429
- * VARCHAR(MAX)
430
- * CHECK constraint for columns
431
- * FOREIGN KEYS for columns and tables
432
-
433
- ### 0.1.3 "Vaticano" (08.05.2015 - 09.05.2015)
434
- * Check for null values for SEARCH
435
- * ORDER BY for SEARCH operator
436
- * Brackets for SEARCH selectors (WITH() selector)
437
- * SEARCH DISTINCT, UNION ALL, UNION selectors
438
- * Added simple PATH() selector
439
-
440
- ### 0.1.2 "Firenze" (06.05.2015 - 07.05.2015)
441
- * Simple compilation of SEARCH operator
442
- * SUM(),COUNT(),MIN(),MAX(),FIRST(),LAST() search aggregators
443
- * The # operator, CREATE VERTEX #
444
- * SEARCH # - start with object
445
- * SERCH smth # - test for object
446
- * SEARCH VALUE - leave only one first object in the result
447
- * Bug in browser version (no global object)
448
- * Changed Bower
449
- * CREATE GRAPH
450
- * Minor changes in SEARCH over XML syntax
451
- * New tests added
452
-
453
- ### 0.1.1 "Milano" (03.05.2015 - 04.05.2015)
454
- * XLSXML() into- function with colors
455
- * $$hashKey - remove Angular's key
456
- * CREATE VERTEX, CREATE EDGE
457
- * SEARCH objects
458
- * SEARCH graph
459
- * "name" as name for graph vertices and edges
460
- * Added INSTANCEOF selector
461
- * Added CLASS selector
462
- * * selector, + selector, ? selector, !selector for SEARCH in JSON and graphs
463
- * XML() from function
464
- * SEARCH INTO functions
465
-
466
- ## 0.1.0 (aka 0.0.52) "Venice" (02.05.2015 - 03.05.2015)
467
- * Added INFORMATION_SCHEMA from variable
468
- * Fixed localstorage dropTable with AUTOCOMMIT OFF
469
- * STD() function added, STDEV(),STEDEVP(),VAR(),VARP()
470
- * DISTINCT and ALL with custom aggregators (like STD(DISTINCT a))
471
- * UNION problem fixed
472
- * IE9 - save plain text and XLS()
473
-
474
- ### 0.0.51 "Rimini" (23.04.2015 - 02.05.2015)
475
- * alasql.options.modifier flag added
476
- * alasql.options.columnlookup flag added
477
- * SELECT * REMOVE COLUMNS a,b
478
- * SELECT * REMOVE COLUMNS LIKE 'b%'
479
- * Remove columns from .columns schema
480
- * Custom aggregators - added additional calls (init and in the cycle)
481
- * Added MEDIAN() aggregator
482
-
483
- ### 0.0.50 "Seoul" (21.04.2015 - 22.04.2015)
484
- * CREATE VERTEX and CREATE EDGE syntax
485
- * Fixed MIN and MAX functions and aggregators #93
486
- * Found UPDATE bug with column/columnid
487
- * Fixed bug with valueOf in comparision
488
-
489
- ### 0.0.49 "Beijing" (19.04.2015 - 21.04.2015)
490
- * CREATE CLASS
491
- * INSERT INTO class
492
- * INSERT INTO class returns inserted value
493
- * The # operator
494
- * Classes support
495
- * Tests with SEARCH syntax and tests for CREATE EDGE and CREATE VERTES
496
- * Fixed bug with leaking to global.key
497
-
498
- ### 0.0.48 "Amsterdam" (18.04.2015 - 19.04.2015)
499
- * Fixed bug indexedDB.webGetDatabaseNames in Firefox
500
- * Some bugs from Sqllogictest fixed (see test258)
501
- * Bower package registered
502
- * Fixed CASE bonding query to this error
503
-
504
- ### 0.0.47 "Antalya" (16.04.2015 - 18.04.2015)
505
- * Added CORRESPONDING keyword to the grammas
506
- * Fixed export to Excel - with data types
507
- * New version of FileSaver is updated
508
- * New INTO XLS() function with colors(!)
509
- * Added params parameter to intoallfn()
510
- * master and develop branches fixed
511
-
512
- ### 0.0.46 "Cape Town" (14.04.2015 - 14.04.2015)
513
- * Cleaned 'test' directory
514
- * Fixed problem with tests
515
- * Fixed bug with localStorage DELETE FROM (without WHERE)
516
-
517
- ### 0.0.45 "Rio de Janeiro" (13.04.2015 - 13.04.2015)
518
- * Changed CRLF for alacon.js and alaserver.js to LF
519
-
520
- ### 0.0.44 "Roma" (02.04.2015 - 13.04.2015)
521
- * Added params to SQLite attached database: alasql('ATTACH SQLITE DATABASE a(?)',[event],cb);
522
- * Root directory was cleaned
523
- * Gulp version is updated
524
- * Fixed bug with (SELECT) and EXISTS() in SELECTS with GROUP BY
525
-
526
- ### 0.0.43 "The Wall" (25.03.2015 - 01.04.2015)
527
- * Created "develop" branch for git-flow
528
- * Fixed GREATEST and LEAST() bugs
529
- * Added flags {sourcefilename: "aaa", range:"B4"} to INTO XLSX() function
530
- * CREATE TABLE one(two,three) - without coulmn types
531
-
532
- ### 0.0.42 "Robin" (17.03.2015 - 25.03.2015)
533
- * MAX() and MIN() math functions renamed to GREATEST() and LEAST()
534
- * ORDER BY 2,1
535
- * :: casting operator
536
- * UNARY PLUS
537
- * NOT LIKE
538
- * NOT\sLIKE and NOT\sBETWEEN for multiple spaces
539
- * Removed "Test238"
540
-
541
- ### 0.0.41 "Eagle" (12.03.2015 - 17.03.2015)
542
- * `column` for column names
543
- * ``JavaScript expression`` for JavaScript
544
- * Changed package.json (main:alasql.js)
545
-
546
- ### 0.0.40 "Sapsan" (24.01.2015 - 06.03.2015)
547
-
548
- * IF EXISTS() and subqueries
549
- * MERGE syntax
550
- * alasql('#sql1');
551
- * alasql(document.querySelector('#sql'));
552
- * alasql(function(){/* SELECT 100 */}); for multiline SQL statements
553
- * SELECT one.a,one.b INTO "one.xlsx" FROM "one.json" AS one
554
- * Cut first BOM character when reading text files in UTF-8
555
- * LIKE is case-insensitive
556
-
557
- ### 0.0.39 "Everest" (17.01.2015 - 23.01.2015)
558
-
559
- * `JavaScript()` expressions and statements SELECT `Math.random()*100`
560
- * Added conversion to number for strings like: ' 123 '
561
- * Fixed from HTML() function (childNodes -> children)
562
- * CREATE FILE DATABASE IF NOT EXISTS "filename.json"
563
- * DROP FILE DATABASE IF EXISTS "filename.json"
564
- * SELECT a->(1+1) - show ( and ) in toString() function
565
- * CROSS APPLY and OUTER APPLY (!)
566
- * Float numbers like 10e20
567
- * SELECT COLUMN a+(SELECT MAX(b) FROM one) FROM one - SELECT in Expressions
568
- * Turned off WHERE optimization (due some problem with indices)
569
- * OVER PARTITION and OVER ORDER syntax
570
- * NIST SQL Example Tests passed (except constrains and subquery in delete)
571
- * Errors handling
572
- * SET ERRORLOG ON/OFF (trap errors)
573
- * COALESCE() function skips NaN values as well as NULL
574
- * SET CACHE ON/OFF - turn on/off SQL statements caching
575
- * loadFileFrom('#selector') - to read data from HTML <tag>
576
-
577
- ### 0.0.38 "Elbrus" (17.01.2015 - 17.01.2015)
578
-
579
- * Additional wrapper for FileSaver to work with R and V8 (http://cran.r-project.org/web/packages/V8/vignettes/v8_intro.html)
580
- * Fixed ROLLUP, CUBE and GROUPING SETS()
581
- * Added Apache Cordova for Windows 8 support
582
-
583
-
584
- ### 0.0.37 "Ararat" (09.01.2015 - 16.01.2015)
585
-
586
- * Added test for "? IN @(?)"
587
- * Convert -> correct DATE("20141008")
588
- * TRUNCATE TABLE table;
589
- * Fixed bug when COUNT and SUM() aggregators shows 'undefined' with zero groups
590
- * test-sql tests for compatibility with other databases
591
- * SELECT TEXT -> SELECT TEXTSTRING (do not conflict with TEXT data type)
592
- * Fixed bug: different databases for different FROM and JOIN parts
593
- * Google Spreadsheet integration with Tabletop (https://github.com/jsoma/tabletop) FROM-function: alasql('SELECT * FROM TABLETOP(?)',[url]);
594
- * Changed worker() method
595
- * DECLARE with multiple variable definitions and initial value (DECLARE @one int = 123)
596
- * SET a->property->0->(1+1) = 100
597
- * Views: CREATE VIEW, DROP VIEW, SELECT FROM VIEW, JOIN VIEW
598
- * Multi line comments /* */
599
- * WITH SELECT statement
600
- * Appach Cordova loadFile and saveFile procedures
601
- * Test Alasql with Cordova on iPhone, iOS emulator, and Android emulator, Windows 8
602
- * Fixed bug with npm install (bin directory)
603
- * Fixed bug in localStorage with local variable
604
- * fileExists() function
605
- * FILESTORAGE engine for Node.js and Apach Cordova
606
-
607
-
608
- ### 0.0.36 "Happy New Year" (23.12.2014 - 08.01.2015)
609
-
610
- * REDUCE Aggregator for custom aggregators
611
- * LINQ functions (fluent interface):
612
- * alasql() or alasql(data)
613
- * From()
614
- * Where()
615
- * OrderBy()
616
- * GroupBy()
617
- * Having()
618
- * Select()
619
- * Top()
620
- * RANGE(1,10) - from function => [1,2,3,4,5,6,7,8,9,10]
621
- * HTML-from and into functions
622
- * Clean root directory
623
- * GO keyword as semicolon
624
- * global alasql => var alasql
625
- * SELECT * INTO SQL() FROM ? - into-function for generating INSERTS
626
- * SELECT TOP 10 PERCENT * FROM ?
627
- * ORDER BY _ - fixed
628
- * ORDER BY formula (ORDER BY MID(a,2,1))
629
- * GROUP BY formula (GROUP BY MID(a,1,1))
630
- * HAVING with formulas (HAVING COUNT(*)>1)
631
- * Fixed COUNT(*) and COUNT(expression)
632
- * COUNT(DISTINCT all)
633
- * Subquery SELECT (SELECT)
634
- * IF expr statement
635
- * OBJECT_ID(tableid) function
636
- * IS NULL and IS NOT NULL operators
637
- * SET option value (ON/OFF)
638
- * OVER PARTITION ORDER BY syntax
639
- * SET option ON/OFF (alasql.options.autocommit)
640
- * SUM(DISTINCT a)
641
- * Create table column NULL constraint syntax
642
- * WebWorker (alasql-worker.js)
643
- * GETDATE() returns date
644
- * PRINT statement
645
- * Tests renumbered and fixed
646
- * REQUIRE 'plugin.js'
647
- * alasql.worker("../alasql.js", ["plugins.js",...], callback)
648
- * @localvariable
649
- * SET @localvariable = expression
650
- * WHILE, CONTINUE, BREAK, BEGIN END syntax
651
- * WHILE statement
652
- * alasql.worker() - run WebWorker
653
- * alasql-worker.js - library to run webworker
654
- * FROM @localvariable
655
- * SELECT INTO @localvariable
656
- * CONVERT(type,value,style)
657
- * Fixed multiple same aggregators bug
658
- * DECLARE @locarvariable type
659
-
660
- ### 0.0.35 (14.12.2014 - 22.12.2014)
661
-
662
- * Added [?] array conversion
663
- * ARRAY Aggregator (http://stackoverflow.com/questions/15887900/group-objects-by-property-in-javascript?rq=1)
664
- * _ column for whole record
665
- * SELECT INDEX
666
- * SELECT RECORDSET
667
- * SELECT TEXTSTRING
668
-
669
- ### 0.0.34 (14.12.2014 - 20.12.2014)
670
-
671
- * New User Manual written
672
- * Remove $$hashKey field for Angular.js integration
673
- * New CSV and TAB parser with separators and quotes
674
- * Fixed USING bug
675
- * Fixed HAVING bug
676
- * INTO JSON function()
677
-
678
- ### 0.0.33 (12.12.2014 - 14.12.2014)
679
-
680
- * SQL.js engine adapter (to real SQLite database)
681
-
682
- ### 0.0.32 (12.12.2014 - 14.12.2014)
683
-
684
- * Read XLS and XLSX files (with xlsx package)
685
- * AT is no longer required for json-objects @{}
686
- * Stdin and stdout functions for Alacon (INTO TXT() FROM TXT())
687
-
688
- ### 0.0.31 (10.12.2014 - 11.12.2014)
689
-
690
- * INSERT and DELETE for IndexedDB
691
- * New tests for FROM and INTO functions
692
- * UPDATE for IndexedDB
693
- * DOM-storage support for Node.js (test159.js)
694
-
695
-
696
- ### 0.0.30 (03.12.2014 - 09.12.2014)
697
-
698
- * Async version (except streamming)
699
- * Fixed a hundred bugs after changes to async/sync version
700
- * IndexedDB support (except INSERT/DELETE/UPDATE)
701
- * DOM-Storage support (pull request #15)
702
- * Grammar for STORE/RESTORE commands (for key-value storages)
703
-
704
- ### 0.0.29 (29.11.2014 - 02.12.2014)
705
-
706
- * INSERT/DELETE/UPDATE for localStorage AUTOCOMMIT ON mode
707
- * ROLLBACK for localStorage bug
708
-
709
- ### 0.0.28 (29.11.2014 - 01.12.2014)
710
-
711
- * SET AUTOCOMMIT ON|OFF
712
- * localStorage in AUTOCIMMIT ON mode (without INSERT/DELETE/UPDATE)
713
- * localStorage in AUTOCIMMIT OF mode (simple COMMIT)
714
-
715
- ### 0.0.27 (27.11.2014 - 29.11.2014)
716
-
717
- * Function as a source of data for FROM ? AND JOIN ?
718
- * Virtualization of source
719
- * Query as a source in joins
720
- * Multiple databases
721
- * SELECT * INTO into-function() FROM from-function()
722
-
723
-
724
- ### 0.0.26 (26.11.2014 - 26.11.2014)
725
-
726
- * Show time in ms in Alasql Console
727
- * JSON Object functions like d->getFullYear()
728
- * JavaScript Dates
729
- * SQL DATE functions
730
- * alasql.stdfn() - runtime library
731
- * CREATE TABLE AND INSERT with Date
732
- * new Date()
733
-
734
- ### 0.0.25 (23.11.2014 - 25.11.2014)
735
-
736
- * CAST(expression AS type)
737
- * CONVERT(type, expression)
738
- * alasql.options.datetimeformat = 'sql' / 'javascript' for CAST
739
- * loadFile works in Node.js (changes some tests)
740
- * SELECT VALUE
741
- * SELECT ROW
742
- * SELECT COLUMN
743
- * SELECT MATRIX
744
- * JSON(json-object)
745
- * == and !== for deepEqual
746
- * alacon - alasql console (to run: node alacon sql params...)
747
- * Json property operator - JSON({a:1,b:[2,3]})->b->1 => 2
748
- * Alaserver - server for Alasql
749
-
750
- ### 0.0.24 (23.11.2014 - 23.11.2014)
751
-
752
- * Fixed LIKE operator (added ^ and $)
753
- * Changed LOAD to SOURCE (like in MySQL)
754
- * ASSERT operator
755
- * JSON parser for ASSERT operator
756
- * Fixed LIKE bug (need more attention)
757
- * Fixed bug with default column names
758
-
759
- ### 0.0.23 (22.11.2014 - 22.11.2014)
760
-
761
- * LOAD 'url.sql' - load and execute sql statements
762
- * HELP - help on Alasql commands
763
-
764
- ### 0.0.22 (20.11.2014 - 22.11.2014)
765
-
766
- * SELECT UNIQUE
767
- * SELECT MINUS SELECT
768
- * RENAME TABLE table TO literal
769
- * ALTER TABLE table RENAME COLUMN column TO column
770
- * ALTER TABLE table DROP COLUMN column
771
- * Double quoter sign '' and \\' translates into '
772
- * Test with World and Neptuno databases for compatibility
773
- * alasql.test(), alasql.log(), alasql.write(), alasql.writep()
774
- * Console
775
-
776
- ### 0.0.21 (19.11.2014 - 20.11.2014)
777
-
778
- * SELECT a AS q, b w FROM one - AS is not required
779
- * Comments '--' and '/* */' - single line
780
- * Double quote sign in the string 'Bon''appetite'
781
- * Compatibility with World Database (http://dev.mysql.com/doc/world-setup/en/index.html)
782
- * `literal` in backquotes like literal in square brackets [literal]
783
- * Additional grammar for ENGINE, CHARSET, etc. and other keywords for World database
784
-
785
- ### 0.0.20 (19.11.2014)
786
-
787
- * SHOW DATABASES
788
- * SHOW TABLES
789
- * SHOW COLUMNS
790
- * SHOW INDIEX (not fully)
791
- * CREATE VIEW syntax
792
- * Case-sensivity
793
-
794
- ### 0.0.19 (19.11.2014 - 19.11.2014)
795
-
796
- * User-defined functions are database specific.
797
- * Names in [brackets]
798
-
799
- ### 0.0.18 (15.11.2014 - 18.11.2014)
800
-
801
- * Added more tests
802
- * Some minor bugs
803
-
804
- ### 0.0.17 (13.11.2014 - 14.11.2014)
805
-
806
- * Changed approach to execute and compilations
807
- * Broke transactions (to be reviewed)
808
-
809
- ### 0.0.16 (11.11.2014 - 12.11.2014)
810
-
811
- * PRIMARY KEY and FOREIGN KEY parser
812
- * Use array of arrays as parameter value for FROM clause, column names like \[2\] or table\[0\]
813
- * alasql.queryArrayOfArrays(), utils.arrayOfArrays()
814
- * PRIMARY KEY ON inseert, delete, update with one or multiple keys
815
- * Fixed Uppercase and LowerCase problem
816
- * CREATE DATABASE, USE DATABASE, DROP DATABASE
817
- * CROSS and NATURAL JOINs
818
- * RANDOM
819
- * INSERT INTO table DEFAULT VALUES
820
- * CREATE TABLE table (column type DEFAULT value)
821
-
822
-
823
- ### 0.0.15 (10.11.2014)
824
-
825
- * alasql.userlib replaces with alasql.fn
826
- * Fixed gulpfile.js
827
- * CommonJS/AMD/UMD and require.js test
828
- * alasql(sql, params, callback) function
829
- * SELECT * FROM one AS t
830
- * alasql('SELECT * FROM ? AS t', [data]); - array as subquery
831
-
832
-
833
- ### 0.0.14.5 (10.11.2014)
834
-
835
- * valueOf() instead +Date();
836
- * Date tests added
837
- * INSERT date
838
-
839
- ### 0.0.14.4 (10.11.2014)
840
-
841
- * Negative numbers
842
- * Float numbers
843
- * Strings with single and double quaters
844
- * CASE WHEN THEN END
845
- * ROUND, MID
846
-
847
- ### 0.0.14.3 (09.11.2014)
848
-
849
- * RIGHT / OUTER / SEMI / ANTI Joins!
850
-
851
- ### 0.0.14.2 (07.11.2014-08.11.2014)
852
-
853
- * Added more tests
854
-
855
- ### 0.0.14.1 (07.11.2014-08.11.2014)
856
-
857
- * Added more tests
858
- * Minor bugs fixed
859
- * Database.queryArray method()
860
-
861
- ### 0.0.14 (07.11.2014-08.11.2014)
862
-
863
- * SELECT INTERSECT, EXCEPT
864
- * BETWEEN, NOT BETWEEN
865
- * Fixed problem wuth source.srcwherefn and query.wherefn
866
- * IN (Subquery), NOT IN(Subquery) - IN(array)
867
- * alasql.parser.parse renamed to alasql.parse
868
- * Reduced AST tree in case of srcwherefn and wherefn optimizations in joins
869
- * % (MODULO) operator (9%7 == 2)
870
- * Fix 'undefined' column if alias is not exists
871
- * x > ALL (subquery), x > SOME/ANY (subquery)
872
- * Check if table exists in the database
873
- * Multiple user defined functions arguments, like TRIPLE(a,b,c)
874
- * SELECT TOP (as well as SELECT query LIMIT OFFSET)
875
- * Fixed ALTER TABLE RENAME TO statement
876
- * LEN(), UCASE(), LCASE(), UPPER(), LOWER(), NOW()
877
- * Simple matching with LIKE '%day%'
878
- * INSERT INTO test VALUES('a'),('10'),('20'),('c'),('30'),('d');
879
- * SELECT INTO table SELECT query
880
-
881
- ### 0.0.13 (06.11.2014)
882
-
883
- * FIRST(), LAST()
884
- * Minor bugs with EXISTS
885
-
886
- ### 0.0.12 (06.11.2014)
887
-
888
- * SELECT * FROM test WHERE EXISTS(SELECT * FROM test2 WHERE test1.a = test2.a)
889
- * User-defined functions (alasql.usrlib)
890
-
891
- ### 0.0.11 (06.11.2014)
892
-
893
- * SELECT * FROM (SELECT * FROM test) t
894
-
895
- ### 0.0.10 (06.11.2014)
896
-
897
- * SELECT UNION
898
- * Started SQL tests
899
-
900
- ### 0.0.9 (06.11.2014)
901
-
902
- * ROLLUP, CUBE, GROUPING SETS support
903
-
904
- ### 0.0.8 (06.11.2014)
905
-
906
- * Minor bugs
907
-
908
- ### 0.0.7 (06.11.2014)
909
-
910
- * WHERE column = expression optmization (creare index)
911
-
912
- ### 0.0.6 (04.11.2014)
913
-
914
- * Developed new parser based on Jison
915
- * Use Gulp for development platform
916
- * Where optimization
917
- * New names for fields => columns and recs => data
918
-
919
- ### 0.0.5 (30.10.2014)
920
-
921
- * Changed order of LIMIT and ORDER BY processing
922
-
923
- ### Version 0.0.4 (28.10.2014-29.10.2014)
924
-
925
- * Added /test/main.html mocha browser tests
926
- * Added PERFORMANCE.md and perf.html tests
927
- * StringValue.toJS()
928
- * Added callback to Database.exec
929
- * Sieve of Eratosthenes example
930
- * Remove generation of recs after select in case of group by (for memory optimization)
931
- * Added conversion for type MONEY for INSERT statement
932
-
933
- ### Versions 0.0.1 - 0.0.3 (25.10.2014-27.10.2014)
934
-
935
- * First version of Alasql
936
-