alasql 1.7.2 → 1.7.4

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