sqlmath 2025.9.30 → 2025.12.28
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 +6 -0
- package/README.md +5 -5
- package/_sqlmath.cp310-win_amd64.pyd +0 -0
- package/_sqlmath.cp311-win_amd64.pyd +0 -0
- package/_sqlmath.cp312-win_amd64.pyd +0 -0
- package/_sqlmath.cp313-win_amd64.pyd +0 -0
- package/_sqlmath.cp314-win_amd64.pyd +0 -0
- package/_sqlmath.cpython-310-darwin.so +0 -0
- package/_sqlmath.cpython-311-darwin.so +0 -0
- package/_sqlmath.cpython-312-darwin.so +0 -0
- package/_sqlmath.cpython-312-x86_64-linux-gnu.so +0 -0
- package/_sqlmath.cpython-313-darwin.so +0 -0
- package/_sqlmath.cpython-314-darwin.so +0 -0
- package/_sqlmath.cpython-314t-darwin.so +0 -0
- package/_sqlmath.napi6_darwin_arm64.node +0 -0
- package/_sqlmath.napi6_win32_x64.node +0 -0
- package/_sqlmath.shell_darwin_arm64 +0 -0
- package/_sqlmath.shell_win32_x64.exe +0 -0
- package/jslint.mjs +46 -8
- package/package.json +1 -1
- package/sqlmath.mjs +7 -3
- package/sqlmath_browser.mjs +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
# Todo
|
|
4
|
+
- betadog - Add function taskBacktest() to auto-remove features with low feature-importance.
|
|
4
5
|
- sqlmath - Re-introduce sliding-discrete-fourier-transform to improve initial guess in sql-function WIN_SINEFIT2().
|
|
5
6
|
- sqlite - Add similar error-handling from builtin-sql-function PERCENTILE() into custom-sql-function QUANTILE().
|
|
6
7
|
- none
|
|
7
8
|
|
|
9
|
+
# v2025.12.28
|
|
10
|
+
- jslint - Upgrade to jslint-v2025.12.28.
|
|
11
|
+
- sqlmath - Update function dbOpenAsync() with default-prm timeoutBusy=5000.
|
|
12
|
+
- ci - Upgrade nodejs used in ci to v24.
|
|
13
|
+
|
|
8
14
|
# v2025.9.30
|
|
9
15
|
- sqlmath - Update function dbExecProfile() with additional-arg sqlLength.
|
|
10
16
|
- sqlmath - Update function dbOpenAsync() with default-filename :memory:.
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
# Status
|
|
5
|
-
| Branch | [master<br>(v2025.
|
|
5
|
+
| Branch | [master<br>(v2025.12.28)](https://github.com/sqlmath/sqlmath/tree/master) | [beta<br>(Web Demo)](https://github.com/sqlmath/sqlmath/tree/beta) | [alpha<br>(Development)](https://github.com/sqlmath/sqlmath/tree/alpha) |
|
|
6
6
|
|--:|:--:|:--:|:--:|
|
|
7
7
|
| CI | [](https://github.com/sqlmath/sqlmath/actions?query=branch%3Amaster) | [](https://github.com/sqlmath/sqlmath/actions?query=branch%3Abeta) | [](https://github.com/sqlmath/sqlmath/actions?query=branch%3Aalpha) |
|
|
8
8
|
| Coverage | [](https://sqlmath.github.io/sqlmath/branch-master/.artifact/coverage/index.html) | [](https://sqlmath.github.io/sqlmath/branch-beta/.artifact/coverage/index.html) | [](https://sqlmath.github.io/sqlmath/branch-alpha/.artifact/coverage/index.html) |
|
|
@@ -121,11 +121,11 @@ PORT=8080 sh jslint_ci.sh shHttpFileServer
|
|
|
121
121
|
```shell
|
|
122
122
|
python -m build
|
|
123
123
|
#
|
|
124
|
-
twine upload --repository testpypi dist/sqlmath-2025.
|
|
125
|
-
py -m pip install --index-url https://test.pypi.org/simple/ sqlmath==2025.
|
|
124
|
+
twine upload --repository testpypi dist/sqlmath-2025.12.28*
|
|
125
|
+
py -m pip install --index-url https://test.pypi.org/simple/ sqlmath==2025.12.28
|
|
126
126
|
#
|
|
127
|
-
twine upload dist/sqlmath-2025.
|
|
128
|
-
pip install sqlmath==2025.
|
|
127
|
+
twine upload dist/sqlmath-2025.12.28*
|
|
128
|
+
pip install sqlmath==2025.12.28
|
|
129
129
|
```
|
|
130
130
|
|
|
131
131
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/jslint.mjs
CHANGED
|
@@ -163,7 +163,7 @@ let jslint_charset_ascii = (
|
|
|
163
163
|
+ "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
|
|
164
164
|
+ "`abcdefghijklmnopqrstuvwxyz{|}~\u007f"
|
|
165
165
|
);
|
|
166
|
-
let jslint_edition = "v2025.
|
|
166
|
+
let jslint_edition = "v2025.12.28";
|
|
167
167
|
let jslint_export; // The jslint object to be exported.
|
|
168
168
|
let jslint_fudge = 1; // Fudge starting line and starting
|
|
169
169
|
// ... column to 1.
|
|
@@ -4674,7 +4674,13 @@ function jslint_phase3_parse(state) {
|
|
|
4674
4674
|
|
|
4675
4675
|
test_cause("free");
|
|
4676
4676
|
the_paren.free = true;
|
|
4677
|
-
if (
|
|
4677
|
+
if (
|
|
4678
|
+
the_argument.wrapped === true
|
|
4679
|
+
|
|
4680
|
+
// PR-483 - Allow parenthesis after ellipsis inside a function call.
|
|
4681
|
+
|
|
4682
|
+
&& the_argument.ellipsis !== true
|
|
4683
|
+
) {
|
|
4678
4684
|
|
|
4679
4685
|
// test_cause:
|
|
4680
4686
|
// ["aa((0))", "infix_lparen", "unexpected_a", "(", 3]
|
|
@@ -5158,6 +5164,10 @@ function jslint_phase3_parse(state) {
|
|
|
5158
5164
|
the_label.dead = false;
|
|
5159
5165
|
the_label.init = true;
|
|
5160
5166
|
the_statement = parse_statement();
|
|
5167
|
+
|
|
5168
|
+
// Issue #458 - Regression - Warn about variable usage before initialization.
|
|
5169
|
+
|
|
5170
|
+
the_label.dead = true;
|
|
5161
5171
|
functionage.statement_prv = the_statement;
|
|
5162
5172
|
the_statement.label = the_label;
|
|
5163
5173
|
the_statement.statement = true;
|
|
@@ -5204,9 +5214,13 @@ function jslint_phase3_parse(state) {
|
|
|
5204
5214
|
}
|
|
5205
5215
|
semicolon();
|
|
5206
5216
|
}
|
|
5207
|
-
|
|
5208
|
-
|
|
5209
|
-
|
|
5217
|
+
|
|
5218
|
+
// Issue #458 - Regression - Warn about variable usage before initialization.
|
|
5219
|
+
|
|
5220
|
+
// if (the_label !== undefined) {
|
|
5221
|
+
// the_label.dead = true;
|
|
5222
|
+
// }
|
|
5223
|
+
|
|
5210
5224
|
return the_statement;
|
|
5211
5225
|
}
|
|
5212
5226
|
|
|
@@ -6987,8 +7001,16 @@ function jslint_phase3_parse(state) {
|
|
|
6987
7001
|
the_variable.names.push(name);
|
|
6988
7002
|
enroll(name, "variable", mode_const);
|
|
6989
7003
|
}
|
|
6990
|
-
|
|
7004
|
+
|
|
7005
|
+
// Issue #458 - Regression - Warn about variable usage before initialization.
|
|
7006
|
+
|
|
7007
|
+
// name.dead = false;
|
|
7008
|
+
|
|
6991
7009
|
name.init = true;
|
|
7010
|
+
|
|
7011
|
+
// test_cause:
|
|
7012
|
+
// ["const {aa}=bb;\nconst bb=0;", "lookup", "out_of_scope_a", "bb", 12]
|
|
7013
|
+
|
|
6992
7014
|
if (token_nxt.id === "=") {
|
|
6993
7015
|
|
|
6994
7016
|
// test_cause:
|
|
@@ -7039,8 +7061,16 @@ function jslint_phase3_parse(state) {
|
|
|
7039
7061
|
advance();
|
|
7040
7062
|
the_variable.names.push(name);
|
|
7041
7063
|
enroll(name, "variable", mode_const);
|
|
7042
|
-
|
|
7064
|
+
|
|
7065
|
+
// Issue #458 - Regression - Warn about variable usage before initialization.
|
|
7066
|
+
|
|
7067
|
+
// name.dead = false;
|
|
7068
|
+
|
|
7043
7069
|
name.init = true;
|
|
7070
|
+
|
|
7071
|
+
// test_cause:
|
|
7072
|
+
// ["const [aa]=bb;\nconst bb=0;", "lookup", "out_of_scope_a", "bb", 12]
|
|
7073
|
+
|
|
7044
7074
|
if (ellipsis) {
|
|
7045
7075
|
name.ellipsis = true;
|
|
7046
7076
|
break;
|
|
@@ -7073,8 +7103,16 @@ function jslint_phase3_parse(state) {
|
|
|
7073
7103
|
enroll(name, "variable", mode_const);
|
|
7074
7104
|
if (token_nxt.id === "=" || mode_const) {
|
|
7075
7105
|
advance("=");
|
|
7076
|
-
|
|
7106
|
+
|
|
7107
|
+
// Issue #458 - Regression - Warn about variable usage before initialization.
|
|
7108
|
+
|
|
7109
|
+
// name.dead = false;
|
|
7110
|
+
|
|
7077
7111
|
name.init = true;
|
|
7112
|
+
|
|
7113
|
+
// test_cause:
|
|
7114
|
+
// ["const aa=bb;\nconst bb=0;", "lookup", "out_of_scope_a", "bb", 10]
|
|
7115
|
+
|
|
7078
7116
|
name.expression = parse_expression(0);
|
|
7079
7117
|
}
|
|
7080
7118
|
the_variable.names.push(name);
|
package/package.json
CHANGED
package/sqlmath.mjs
CHANGED
|
@@ -128,7 +128,7 @@ let {
|
|
|
128
128
|
let sqlMessageDict = {}; // dict of web-worker-callbacks
|
|
129
129
|
let sqlMessageId = 0;
|
|
130
130
|
let sqlWorker;
|
|
131
|
-
let version = "v2025.
|
|
131
|
+
let version = "v2025.12.28";
|
|
132
132
|
|
|
133
133
|
async function assertErrorThrownAsync(asyncFunc, regexp) {
|
|
134
134
|
|
|
@@ -1003,7 +1003,8 @@ async function dbOpenAsync({
|
|
|
1003
1003
|
dbData,
|
|
1004
1004
|
filename = ":memory:",
|
|
1005
1005
|
flags,
|
|
1006
|
-
threadCount = 1
|
|
1006
|
+
threadCount = 1,
|
|
1007
|
+
timeoutBusy = 5000
|
|
1007
1008
|
}) {
|
|
1008
1009
|
|
|
1009
1010
|
// This function will open and return sqlite-database-connection <db>.
|
|
@@ -1057,7 +1058,10 @@ async function dbOpenAsync({
|
|
|
1057
1058
|
libLgbm = `${import.meta.dirname}/sqlmath/${libLgbm}`;
|
|
1058
1059
|
await dbExecAsync({
|
|
1059
1060
|
db,
|
|
1060
|
-
sql: `
|
|
1061
|
+
sql: (`
|
|
1062
|
+
PRAGMA busy_timeout = ${timeoutBusy};
|
|
1063
|
+
SELECT LGBM_DLOPEN('${libLgbm}');
|
|
1064
|
+
`)
|
|
1061
1065
|
});
|
|
1062
1066
|
}
|
|
1063
1067
|
return db;
|
package/sqlmath_browser.mjs
CHANGED
|
@@ -2046,6 +2046,7 @@ DELETE FROM ${baton.dbtableName} WHERE rowid = ${baton.rowid};
|
|
|
2046
2046
|
data = (
|
|
2047
2047
|
String(`
|
|
2048
2048
|
-- DROP TABLE __sqlite_table_01;
|
|
2049
|
+
-- IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1;
|
|
2049
2050
|
-- SELECT * FROM __sqlite_table_01;
|
|
2050
2051
|
-- ALTER TABLE __sqlite_table_01 RENAME TO __sqlite_table_02;
|
|
2051
2052
|
-- EXEC sp_rename '__sqlite_table_01', '__sqlite_table_02';
|