alasql 2.2.0 → 2.2.1
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/dist/alasql-worker.js +2 -2
- package/dist/alasql-worker.min.js +1 -1
- package/dist/alasql.fs.js +11 -328
- package/dist/alasql.js +11 -328
- package/dist/alasql.min.js +3 -3
- package/package.json +2 -2
package/dist/alasql.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//! AlaSQL v2.
|
|
1
|
+
//! AlaSQL v2.2.0-develop-6cec528a | © 2014-2022 Andrey Gershun & Mathias Wulff | License: MIT
|
|
2
2
|
/*
|
|
3
3
|
@module alasql
|
|
4
|
-
@version 2.
|
|
4
|
+
@version 2.2.0-develop-6cec528a
|
|
5
5
|
|
|
6
6
|
AlaSQL - JavaScript SQL database
|
|
7
7
|
© 2014-2016 Andrey Gershun & Mathias Rangel Wulff
|
|
@@ -142,7 +142,7 @@ var alasql = function(sql, params, cb, scope) {
|
|
|
142
142
|
Current version of alasql
|
|
143
143
|
@constant {string}
|
|
144
144
|
*/
|
|
145
|
-
alasql.version = '2.
|
|
145
|
+
alasql.version = '2.2.0-develop-6cec528a';
|
|
146
146
|
|
|
147
147
|
/**
|
|
148
148
|
Debug flag
|
|
@@ -6585,10 +6585,8 @@ function queryfn3(query) {
|
|
|
6585
6585
|
if (query.selectGroup.length > 0) {
|
|
6586
6586
|
|
|
6587
6587
|
query.selectGroup.forEach(function (sg) {
|
|
6588
|
-
if (sg.aggregatorid == 'COUNT') {
|
|
6588
|
+
if (sg.aggregatorid == 'COUNT' || sg.aggregatorid == 'SUM') {
|
|
6589
6589
|
g[sg.nick] = 0;
|
|
6590
|
-
} else if (sg.aggregatorid == 'SUM') {
|
|
6591
|
-
g[sg.nick] = 'NULL';
|
|
6592
6590
|
} else {
|
|
6593
6591
|
g[sg.nick] = undefined;
|
|
6594
6592
|
}
|
|
@@ -8711,93 +8709,16 @@ yy.Select.prototype.compileGroup = function (query) {
|
|
|
8711
8709
|
",g['$$_VALUES_" + colas + "']={},g['$$_VALUES_" + colas + "'][" + colexp + ']=true';
|
|
8712
8710
|
}
|
|
8713
8711
|
if (col.aggregatorid === 'SUM') {
|
|
8714
|
-
|
|
8715
|
-
let colexpression = col.expression.args[0];
|
|
8716
|
-
let colexp1 = colexpression.toJS('p', tableid, defcols);
|
|
8717
|
-
return "'" + colas + "':(" + colexp1 + ')||null,';
|
|
8718
|
-
}
|
|
8719
|
-
return "'" + colas + "':(" + colexp + ')||null,';
|
|
8712
|
+
return "'" + colas + "':(" + colexp + ')||0,';
|
|
8720
8713
|
} else if (
|
|
8714
|
+
col.aggregatorid === 'MIN' ||
|
|
8715
|
+
col.aggregatorid === 'MAX' ||
|
|
8721
8716
|
col.aggregatorid === 'FIRST' ||
|
|
8722
8717
|
col.aggregatorid === 'LAST'
|
|
8723
8718
|
// || col.aggregatorid == 'AVG'
|
|
8724
8719
|
// ) { return "'"+col.as+'\':r[\''+col.as+'\'],'; }//f.field.arguments[0].toJS();
|
|
8725
8720
|
) {
|
|
8726
8721
|
return "'" + colas + "':" + colexp + ','; //f.field.arguments[0].toJS();
|
|
8727
|
-
} else if (col.aggregatorid === 'MIN') {
|
|
8728
|
-
if ('funcid' in col.expression) {
|
|
8729
|
-
let colexpression = col.expression.args[0];
|
|
8730
|
-
let colexp1 = colexpression.toJS('p', tableid, defcols);
|
|
8731
|
-
return (
|
|
8732
|
-
"'" +
|
|
8733
|
-
colas +
|
|
8734
|
-
"': (typeof " +
|
|
8735
|
-
colexp1 +
|
|
8736
|
-
" == 'number' ? " +
|
|
8737
|
-
colexp1 +
|
|
8738
|
-
': typeof ' +
|
|
8739
|
-
colexp1 +
|
|
8740
|
-
" == 'object' ? typeof Number(" +
|
|
8741
|
-
colexp1 +
|
|
8742
|
-
") == 'number' && " +
|
|
8743
|
-
colexp1 +
|
|
8744
|
-
'!== null? ' +
|
|
8745
|
-
colexp1 +
|
|
8746
|
-
' : null : null),'
|
|
8747
|
-
);
|
|
8748
|
-
}
|
|
8749
|
-
return (
|
|
8750
|
-
"'" +
|
|
8751
|
-
colas +
|
|
8752
|
-
"': (typeof " +
|
|
8753
|
-
colexp +
|
|
8754
|
-
" == 'number' ? " +
|
|
8755
|
-
colexp +
|
|
8756
|
-
': typeof ' +
|
|
8757
|
-
colexp +
|
|
8758
|
-
" == 'object' ? typeof Number(" +
|
|
8759
|
-
colexp +
|
|
8760
|
-
") == 'number' && " +
|
|
8761
|
-
colexp +
|
|
8762
|
-
'!== null? ' +
|
|
8763
|
-
colexp +
|
|
8764
|
-
' : null : null),'
|
|
8765
|
-
);
|
|
8766
|
-
} else if (col.aggregatorid === 'MAX') {
|
|
8767
|
-
if ('funcid' in col.expression) {
|
|
8768
|
-
let colexpression = col.expression.args[0];
|
|
8769
|
-
let colexp1 = colexpression.toJS('p', tableid, defcols);
|
|
8770
|
-
return (
|
|
8771
|
-
"'" +
|
|
8772
|
-
colas +
|
|
8773
|
-
"': (typeof " +
|
|
8774
|
-
colexp1 +
|
|
8775
|
-
" == 'number' ? " +
|
|
8776
|
-
colexp1 +
|
|
8777
|
-
': typeof ' +
|
|
8778
|
-
colexp1 +
|
|
8779
|
-
" == 'object' ? typeof Number(" +
|
|
8780
|
-
colexp1 +
|
|
8781
|
-
") == 'number' ? " +
|
|
8782
|
-
colexp1 +
|
|
8783
|
-
' : null : null),'
|
|
8784
|
-
);
|
|
8785
|
-
}
|
|
8786
|
-
return (
|
|
8787
|
-
"'" +
|
|
8788
|
-
colas +
|
|
8789
|
-
"': (typeof " +
|
|
8790
|
-
colexp +
|
|
8791
|
-
" == 'number' ? " +
|
|
8792
|
-
colexp +
|
|
8793
|
-
': typeof ' +
|
|
8794
|
-
colexp +
|
|
8795
|
-
" == 'object' ? typeof Number(" +
|
|
8796
|
-
colexp +
|
|
8797
|
-
") == 'number' ? " +
|
|
8798
|
-
colexp +
|
|
8799
|
-
' : null : null),'
|
|
8800
|
-
);
|
|
8801
8722
|
} else if (col.aggregatorid === 'ARRAY') {
|
|
8802
8723
|
return "'" + colas + "':[" + colexp + '],';
|
|
8803
8724
|
} else if (col.aggregatorid === 'COUNT') {
|
|
@@ -8891,128 +8812,7 @@ yy.Select.prototype.compileGroup = function (query) {
|
|
|
8891
8812
|
var post = "g['$$_VALUES_" + colas + "'][" + colexp + ']=true;}';
|
|
8892
8813
|
}
|
|
8893
8814
|
if (col.aggregatorid === 'SUM') {
|
|
8894
|
-
|
|
8895
|
-
let colexpression = col.expression.args[0];
|
|
8896
|
-
let colexp1 = colexpression.toJS('p', tableid, defcols);
|
|
8897
|
-
return (
|
|
8898
|
-
pre +
|
|
8899
|
-
"if(g['" +
|
|
8900
|
-
colas +
|
|
8901
|
-
"'] == null && " +
|
|
8902
|
-
colexp1 +
|
|
8903
|
-
" == null){g['" +
|
|
8904
|
-
colas +
|
|
8905
|
-
"'] = null} else if(typeof g['" +
|
|
8906
|
-
colas +
|
|
8907
|
-
"']!== 'object' && typeof g['" +
|
|
8908
|
-
colas +
|
|
8909
|
-
"'] !== 'number' && typeof " +
|
|
8910
|
-
colexp1 +
|
|
8911
|
-
"!== 'object' && typeof " +
|
|
8912
|
-
colexp1 +
|
|
8913
|
-
"!== 'number'){g['" +
|
|
8914
|
-
colas +
|
|
8915
|
-
"'] = null} else if(typeof g['" +
|
|
8916
|
-
colas +
|
|
8917
|
-
"'] !== 'object' && typeof g['" +
|
|
8918
|
-
colas +
|
|
8919
|
-
"'] !== 'number' && typeof " +
|
|
8920
|
-
colexp1 +
|
|
8921
|
-
" == 'number'){g['" +
|
|
8922
|
-
colas +
|
|
8923
|
-
"'] = " +
|
|
8924
|
-
colexp1 +
|
|
8925
|
-
"} else if(typeof g['" +
|
|
8926
|
-
colas +
|
|
8927
|
-
"'] == 'number' && typeof " +
|
|
8928
|
-
colexp1 +
|
|
8929
|
-
" !== 'number' && typeof " +
|
|
8930
|
-
colexp1 +
|
|
8931
|
-
" !== 'object'){g['" +
|
|
8932
|
-
colas +
|
|
8933
|
-
"'] = g['" +
|
|
8934
|
-
colas +
|
|
8935
|
-
"']} else if((g['" +
|
|
8936
|
-
colas +
|
|
8937
|
-
"'] == null || (typeof g['" +
|
|
8938
|
-
colas +
|
|
8939
|
-
"'] !== 'number' && typeof g['" +
|
|
8940
|
-
colas +
|
|
8941
|
-
"'] !== 'object')) && (" +
|
|
8942
|
-
colexp1 +
|
|
8943
|
-
' == null || (typeof ' +
|
|
8944
|
-
colexp1 +
|
|
8945
|
-
" !== 'number' && typeof " +
|
|
8946
|
-
colexp1 +
|
|
8947
|
-
" !== 'object'))){g['" +
|
|
8948
|
-
colas +
|
|
8949
|
-
"'] = null} else {g['" +
|
|
8950
|
-
colas +
|
|
8951
|
-
"']+=(" +
|
|
8952
|
-
colexp1 +
|
|
8953
|
-
'||0);}' +
|
|
8954
|
-
post
|
|
8955
|
-
);
|
|
8956
|
-
}
|
|
8957
|
-
return (
|
|
8958
|
-
pre +
|
|
8959
|
-
"if(g['" +
|
|
8960
|
-
colas +
|
|
8961
|
-
"'] == null && " +
|
|
8962
|
-
colexp +
|
|
8963
|
-
" == null){g['" +
|
|
8964
|
-
colas +
|
|
8965
|
-
"'] = null} else if(typeof g['" +
|
|
8966
|
-
colas +
|
|
8967
|
-
"']!== 'object' && typeof g['" +
|
|
8968
|
-
colas +
|
|
8969
|
-
"'] !== 'number' && typeof " +
|
|
8970
|
-
colexp +
|
|
8971
|
-
"!== 'object' && typeof " +
|
|
8972
|
-
colexp +
|
|
8973
|
-
"!== 'number'){g['" +
|
|
8974
|
-
colas +
|
|
8975
|
-
"'] = null} else if(typeof g['" +
|
|
8976
|
-
colas +
|
|
8977
|
-
"'] !== 'object' && typeof g['" +
|
|
8978
|
-
colas +
|
|
8979
|
-
"'] !== 'number' && typeof " +
|
|
8980
|
-
colexp +
|
|
8981
|
-
" == 'number'){g['" +
|
|
8982
|
-
colas +
|
|
8983
|
-
"'] = " +
|
|
8984
|
-
colexp +
|
|
8985
|
-
"} else if(typeof g['" +
|
|
8986
|
-
colas +
|
|
8987
|
-
"'] == 'number' && typeof " +
|
|
8988
|
-
colexp +
|
|
8989
|
-
" !== 'number' && typeof " +
|
|
8990
|
-
colexp +
|
|
8991
|
-
" !== 'object'){g['" +
|
|
8992
|
-
colas +
|
|
8993
|
-
"'] = g['" +
|
|
8994
|
-
colas +
|
|
8995
|
-
"']} else if((g['" +
|
|
8996
|
-
colas +
|
|
8997
|
-
"'] == null || (typeof g['" +
|
|
8998
|
-
colas +
|
|
8999
|
-
"'] !== 'number' && typeof g['" +
|
|
9000
|
-
colas +
|
|
9001
|
-
"'] !== 'object')) && (" +
|
|
9002
|
-
colexp +
|
|
9003
|
-
' == null || (typeof ' +
|
|
9004
|
-
colexp +
|
|
9005
|
-
" !== 'number' && typeof " +
|
|
9006
|
-
colexp +
|
|
9007
|
-
" !== 'object'))){g['" +
|
|
9008
|
-
colas +
|
|
9009
|
-
"'] = null} else {g['" +
|
|
9010
|
-
colas +
|
|
9011
|
-
"']+=(" +
|
|
9012
|
-
colexp +
|
|
9013
|
-
'||0);}' +
|
|
9014
|
-
post
|
|
9015
|
-
);
|
|
8815
|
+
return pre + "g['" + colas + "']+=(" + colexp + '||0);' + post; //f.field.arguments[0].toJS();
|
|
9016
8816
|
} else if (col.aggregatorid === 'COUNT') {
|
|
9017
8817
|
|
|
9018
8818
|
if (col.expression.columnid === '*') {
|
|
@@ -9033,130 +8833,12 @@ yy.Select.prototype.compileGroup = function (query) {
|
|
|
9033
8833
|
} else if (col.aggregatorid === 'ARRAY') {
|
|
9034
8834
|
return pre + "g['" + colas + "'].push(" + colexp + ');' + post;
|
|
9035
8835
|
} else if (col.aggregatorid === 'MIN') {
|
|
9036
|
-
if ('funcid' in col.expression) {
|
|
9037
|
-
let colexpression = col.expression.args[0];
|
|
9038
|
-
let colexp1 = colexpression.toJS('p', tableid, defcols);
|
|
9039
|
-
return (
|
|
9040
|
-
pre +
|
|
9041
|
-
"if((g['" +
|
|
9042
|
-
colas +
|
|
9043
|
-
"'] == null && " +
|
|
9044
|
-
colexp1 +
|
|
9045
|
-
'!== null) ? y = ' +
|
|
9046
|
-
colexp1 +
|
|
9047
|
-
" : (g['" +
|
|
9048
|
-
colas +
|
|
9049
|
-
"'] !== null && " +
|
|
9050
|
-
colexp1 +
|
|
9051
|
-
" == null) ? y = g['" +
|
|
9052
|
-
colas +
|
|
9053
|
-
"'] : ((y=" +
|
|
9054
|
-
colexp1 +
|
|
9055
|
-
") < g['" +
|
|
9056
|
-
colas +
|
|
9057
|
-
"'])){ if((typeof y == 'number')) {g['" +
|
|
9058
|
-
colas +
|
|
9059
|
-
"'] = y;} else if(typeof y == 'object' && y instanceof Date){g['" +
|
|
9060
|
-
colas +
|
|
9061
|
-
"'] = y;}else if(typeof y == 'object' && typeof Number(y) == 'number'){g['" +
|
|
9062
|
-
colas +
|
|
9063
|
-
"'] = Number(y);}}else if(g['" +
|
|
9064
|
-
colas +
|
|
9065
|
-
"']!== null && typeof g['" +
|
|
9066
|
-
colas +
|
|
9067
|
-
"'] == 'object' && y instanceof Date){g['" +
|
|
9068
|
-
colas +
|
|
9069
|
-
"'] = g['" +
|
|
9070
|
-
colas +
|
|
9071
|
-
"']}else if(g['" +
|
|
9072
|
-
colas +
|
|
9073
|
-
"']!== null && typeof g['" +
|
|
9074
|
-
colas +
|
|
9075
|
-
"'] == 'object'){g['" +
|
|
9076
|
-
colas +
|
|
9077
|
-
"'] = Number(g['" +
|
|
9078
|
-
colas +
|
|
9079
|
-
"'])}" +
|
|
9080
|
-
post
|
|
9081
|
-
);
|
|
9082
|
-
}
|
|
9083
8836
|
return (
|
|
9084
|
-
pre +
|
|
9085
|
-
"if((g['" +
|
|
9086
|
-
colas +
|
|
9087
|
-
"'] == null && " +
|
|
9088
|
-
colexp +
|
|
9089
|
-
'!== null) ? y = ' +
|
|
9090
|
-
colexp +
|
|
9091
|
-
" : (g['" +
|
|
9092
|
-
colas +
|
|
9093
|
-
"'] !== null && " +
|
|
9094
|
-
colexp +
|
|
9095
|
-
" == null) ? y = g['" +
|
|
9096
|
-
colas +
|
|
9097
|
-
"'] : ((y=" +
|
|
9098
|
-
colexp +
|
|
9099
|
-
") < g['" +
|
|
9100
|
-
colas +
|
|
9101
|
-
"'])){ if((typeof y == 'number')) {g['" +
|
|
9102
|
-
colas +
|
|
9103
|
-
"'] = y;} else if(typeof y == 'object' && y instanceof Date){g['" +
|
|
9104
|
-
colas +
|
|
9105
|
-
"'] = y;}else if(typeof y == 'object' && typeof Number(y) == 'number'){g['" +
|
|
9106
|
-
colas +
|
|
9107
|
-
"'] = Number(y);}}else if(g['" +
|
|
9108
|
-
colas +
|
|
9109
|
-
"']!== null && typeof g['" +
|
|
9110
|
-
colas +
|
|
9111
|
-
"'] == 'object' && y instanceof Date){g['" +
|
|
9112
|
-
colas +
|
|
9113
|
-
"'] = g['" +
|
|
9114
|
-
colas +
|
|
9115
|
-
"']}else if(g['" +
|
|
9116
|
-
colas +
|
|
9117
|
-
"']!== null && typeof g['" +
|
|
9118
|
-
colas +
|
|
9119
|
-
"'] == 'object'){g['" +
|
|
9120
|
-
colas +
|
|
9121
|
-
"'] = Number(g['" +
|
|
9122
|
-
colas +
|
|
9123
|
-
"'])}" +
|
|
9124
|
-
post
|
|
8837
|
+
pre + 'if ((y=' + colexp + ") < g['" + colas + "']) g['" + colas + "'] = y;" + post
|
|
9125
8838
|
);
|
|
9126
8839
|
} else if (col.aggregatorid === 'MAX') {
|
|
9127
|
-
if ('funcid' in col.expression) {
|
|
9128
|
-
let colexpression = col.expression.args[0];
|
|
9129
|
-
let colexp1 = colexpression.toJS('p', tableid, defcols);
|
|
9130
|
-
return (
|
|
9131
|
-
pre +
|
|
9132
|
-
'if ((y=' +
|
|
9133
|
-
colexp1 +
|
|
9134
|
-
") > g['" +
|
|
9135
|
-
colas +
|
|
9136
|
-
"']){ if((typeof y == 'number')) {g['" +
|
|
9137
|
-
colas +
|
|
9138
|
-
"'] = y;} else if(typeof y == 'object' && y instanceof Date){g['" +
|
|
9139
|
-
colas +
|
|
9140
|
-
"'] = y;} else if(typeof y == 'object' && typeof Number(y) == 'number'){g['" +
|
|
9141
|
-
colas +
|
|
9142
|
-
"'] = Number(y);}}" +
|
|
9143
|
-
post
|
|
9144
|
-
);
|
|
9145
|
-
}
|
|
9146
8840
|
return (
|
|
9147
|
-
pre +
|
|
9148
|
-
'if ((y=' +
|
|
9149
|
-
colexp +
|
|
9150
|
-
") > g['" +
|
|
9151
|
-
colas +
|
|
9152
|
-
"']){ if((typeof y == 'number')) {g['" +
|
|
9153
|
-
colas +
|
|
9154
|
-
"'] = y;} else if(typeof y == 'object' && y instanceof Date){g['" +
|
|
9155
|
-
colas +
|
|
9156
|
-
"'] = y;} else if(typeof y == 'object' && typeof Number(y) == 'number'){g['" +
|
|
9157
|
-
colas +
|
|
9158
|
-
"'] = Number(y);}}" +
|
|
9159
|
-
post
|
|
8841
|
+
pre + 'if ((y=' + colexp + ") > g['" + colas + "']) g['" + colas + "'] = y;" + post
|
|
9160
8842
|
);
|
|
9161
8843
|
} else if (col.aggregatorid === 'FIRST') {
|
|
9162
8844
|
return '';
|
|
@@ -9227,6 +8909,7 @@ yy.Select.prototype.compileGroup = function (query) {
|
|
|
9227
8909
|
// s += 'group.count++;';
|
|
9228
8910
|
s += '}';
|
|
9229
8911
|
});
|
|
8912
|
+
|
|
9230
8913
|
return new Function('p,params,alasql', 'var y;' + s);
|
|
9231
8914
|
};
|
|
9232
8915
|
|