sqlmath 2023.2.26 → 2023.3.21
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 +7 -0
- package/README.md +1 -1
- package/_binary_sqlmath_napi8_darwin_x64.node +0 -0
- package/_binary_sqlmath_napi8_linux_x64.node +0 -0
- package/_binary_sqlmath_napi8_win32_x64.node +0 -0
- package/_binary_sqlmath_shell_darwin_x64 +0 -0
- package/_binary_sqlmath_shell_linux_x64 +0 -0
- package/_binary_sqlmath_shell_win32_x64.exe +0 -0
- package/jslint.mjs +1 -1
- package/package.json +2 -2
- package/sqlmath.mjs +18 -21
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
# Todo
|
|
4
4
|
- none
|
|
5
5
|
|
|
6
|
+
# v2023.3.21
|
|
7
|
+
- sqlmath - move c-function str99JsonAppendText() from file sqlmath_base.c to sqlite3.c
|
|
8
|
+
- sqlmath - merge file sqlite3_ext.c into sqlite3.c
|
|
9
|
+
- sqlmath - streamline str99 c-code
|
|
10
|
+
- sqlmath - add sql-functions jenks_concat(kk, col1, col2, ...), jenks_json(kk, jsonArray)
|
|
11
|
+
- chart - bugfix - fix special-character in col-name being sql-injected
|
|
12
|
+
|
|
6
13
|
# v2023.2.26
|
|
7
14
|
- chart - bugfix - use spy for reference previous-ydate instead of 1a_mybot
|
|
8
15
|
- sqlmath - add functions dbExecAndReturnLastJsonAsync(), dbExecAndReturnLastTextAsync()
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
# Status
|
|
5
|
-
| Branch | [master<br>(v2023.
|
|
5
|
+
| Branch | [master<br>(v2023.3.21)](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) |
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/jslint.mjs
CHANGED
|
@@ -165,7 +165,7 @@ let jslint_charset_ascii = (
|
|
|
165
165
|
+ "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
|
|
166
166
|
+ "`abcdefghijklmnopqrstuvwxyz{|}~\u007f"
|
|
167
167
|
);
|
|
168
|
-
let jslint_edition = "v2022.
|
|
168
|
+
let jslint_edition = "v2022.3.1-beta";
|
|
169
169
|
let jslint_export; // The jslint object to be exported.
|
|
170
170
|
let jslint_fudge = 1; // Fudge starting line and starting
|
|
171
171
|
// ... column to 1.
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"engines": {
|
|
12
12
|
"node": ">=14"
|
|
13
13
|
},
|
|
14
|
-
"fileCount":
|
|
14
|
+
"fileCount": 32,
|
|
15
15
|
"homepage": "https://github.com/sqlmath/sqlmath",
|
|
16
16
|
"keywords": [
|
|
17
17
|
"data-science",
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
},
|
|
39
39
|
"shCiArtifactUpload": 1,
|
|
40
40
|
"shCiNpmPublish": 1,
|
|
41
|
-
"version": "2023.
|
|
41
|
+
"version": "2023.3.21"
|
|
42
42
|
}
|
package/sqlmath.mjs
CHANGED
|
@@ -29,15 +29,13 @@ let FILENAME_DBTMP = "/tmp/__dbtmp1";
|
|
|
29
29
|
let IS_BROWSER;
|
|
30
30
|
let JSBATON_ARGC = 16;
|
|
31
31
|
let SQLITE_DATATYPE_BLOB = 0x04;
|
|
32
|
-
// let SQLITE_DATATYPE_BLOB_0 = 0x14;
|
|
33
|
-
let SQLITE_DATATYPE_EXTERNALBUFFER = -0x01;
|
|
34
32
|
let SQLITE_DATATYPE_FLOAT = 0x02;
|
|
35
|
-
// let SQLITE_DATATYPE_FLOAT_0 = 0x12;
|
|
36
33
|
let SQLITE_DATATYPE_INTEGER = 0x01;
|
|
37
34
|
let SQLITE_DATATYPE_INTEGER_0 = 0x11;
|
|
38
35
|
let SQLITE_DATATYPE_INTEGER_1 = 0x21;
|
|
39
36
|
let SQLITE_DATATYPE_NULL = 0x05;
|
|
40
37
|
let SQLITE_DATATYPE_OFFSET = 768;
|
|
38
|
+
let SQLITE_DATATYPE_SHAREDARRAYBUFFER = 0x71;
|
|
41
39
|
let SQLITE_DATATYPE_TEXT = 0x03;
|
|
42
40
|
let SQLITE_DATATYPE_TEXT_0 = 0x13;
|
|
43
41
|
let SQLITE_MAX_LENGTH2 = 1_000_000_000;
|
|
@@ -87,7 +85,7 @@ let debugInline = (function () {
|
|
|
87
85
|
let sqlMessageDict = {}; // dict of web-worker-callbacks
|
|
88
86
|
let sqlMessageId = 0;
|
|
89
87
|
let sqlWorker;
|
|
90
|
-
let version = "v2023.
|
|
88
|
+
let version = "v2023.3.21";
|
|
91
89
|
|
|
92
90
|
function assertJsonEqual(aa, bb, message) {
|
|
93
91
|
|
|
@@ -357,7 +355,7 @@ async function dbExecAsync({
|
|
|
357
355
|
);
|
|
358
356
|
modeRetry -= 1;
|
|
359
357
|
await new Promise(function (resolve) {
|
|
360
|
-
setTimeout(resolve,
|
|
358
|
+
setTimeout(resolve, 5_000 * !process.env.npm_config_mode_test);
|
|
361
359
|
});
|
|
362
360
|
}
|
|
363
361
|
}
|
|
@@ -581,14 +579,13 @@ function jsbatonValuePush({
|
|
|
581
579
|
let vtype;
|
|
582
580
|
/*
|
|
583
581
|
#define SQLITE_DATATYPE_BLOB 0x04
|
|
584
|
-
// #define SQLITE_DATATYPE_BLOB_0 0x14
|
|
585
582
|
#define SQLITE_DATATYPE_FLOAT 0x02
|
|
586
|
-
// #define SQLITE_DATATYPE_FLOAT_0 0x12
|
|
587
583
|
#define SQLITE_DATATYPE_INTEGER 0x01
|
|
588
584
|
#define SQLITE_DATATYPE_INTEGER_0 0x11
|
|
589
585
|
#define SQLITE_DATATYPE_INTEGER_1 0x21
|
|
590
586
|
#define SQLITE_DATATYPE_NULL 0x05
|
|
591
|
-
#define
|
|
587
|
+
#define SQLITE_DATATYPE_OFFSET 768
|
|
588
|
+
#define SQLITE_DATATYPE_SHAREDARRAYBUFFER 0x71
|
|
592
589
|
#define SQLITE_DATATYPE_TEXT 0x03
|
|
593
590
|
#define SQLITE_DATATYPE_TEXT_0 0x13
|
|
594
591
|
// 1. false.bigint
|
|
@@ -675,7 +672,7 @@ function jsbatonValuePush({
|
|
|
675
672
|
"externalbufferList.length must be less than 8"
|
|
676
673
|
);
|
|
677
674
|
externalbufferList.push(new DataView(value));
|
|
678
|
-
vtype =
|
|
675
|
+
vtype = SQLITE_DATATYPE_SHAREDARRAYBUFFER;
|
|
679
676
|
vsize = 4;
|
|
680
677
|
break;
|
|
681
678
|
}
|
|
@@ -752,18 +749,6 @@ function jsbatonValuePush({
|
|
|
752
749
|
vsize
|
|
753
750
|
).set(new Uint8Array(value.buffer, value.byteOffset, vsize), 0);
|
|
754
751
|
break;
|
|
755
|
-
case SQLITE_DATATYPE_EXTERNALBUFFER:
|
|
756
|
-
vsize = value.byteLength;
|
|
757
|
-
// push vsize
|
|
758
|
-
assertOrThrow(
|
|
759
|
-
0 <= vsize && vsize <= 1_000_000_000,
|
|
760
|
-
(
|
|
761
|
-
"sqlite-blob byte-length must be within inclusive-range"
|
|
762
|
-
+ " 0 to 1,000,000,000"
|
|
763
|
-
)
|
|
764
|
-
);
|
|
765
|
-
baton.setInt32(nused + 1, vsize, true);
|
|
766
|
-
break;
|
|
767
752
|
case SQLITE_DATATYPE_FLOAT:
|
|
768
753
|
baton.setFloat64(nused + 1, value, true);
|
|
769
754
|
break;
|
|
@@ -780,6 +765,18 @@ function jsbatonValuePush({
|
|
|
780
765
|
);
|
|
781
766
|
baton.setBigInt64(nused + 1, value, true);
|
|
782
767
|
break;
|
|
768
|
+
case SQLITE_DATATYPE_SHAREDARRAYBUFFER:
|
|
769
|
+
vsize = value.byteLength;
|
|
770
|
+
// push vsize
|
|
771
|
+
assertOrThrow(
|
|
772
|
+
0 <= vsize && vsize <= 1_000_000_000,
|
|
773
|
+
(
|
|
774
|
+
"sqlite-blob byte-length must be within inclusive-range"
|
|
775
|
+
+ " 0 to 1,000,000,000"
|
|
776
|
+
)
|
|
777
|
+
);
|
|
778
|
+
baton.setInt32(nused + 1, vsize, true);
|
|
779
|
+
break;
|
|
783
780
|
}
|
|
784
781
|
return baton;
|
|
785
782
|
}
|