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 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.2.26)](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) |
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 | [![ci](https://github.com/sqlmath/sqlmath/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/sqlmath/sqlmath/actions?query=branch%3Amaster) | [![ci](https://github.com/sqlmath/sqlmath/actions/workflows/ci.yml/badge.svg?branch=beta)](https://github.com/sqlmath/sqlmath/actions?query=branch%3Abeta) | [![ci](https://github.com/sqlmath/sqlmath/actions/workflows/ci.yml/badge.svg?branch=alpha)](https://github.com/sqlmath/sqlmath/actions?query=branch%3Aalpha) |
8
8
  | Coverage | [![coverage](https://sqlmath.github.io/sqlmath/branch-master/.artifact/coverage/coverage_badge.svg)](https://sqlmath.github.io/sqlmath/branch-master/.artifact/coverage/index.html) | [![coverage](https://sqlmath.github.io/sqlmath/branch-beta/.artifact/coverage/coverage_badge.svg)](https://sqlmath.github.io/sqlmath/branch-beta/.artifact/coverage/index.html) | [![coverage](https://sqlmath.github.io/sqlmath/branch-alpha/.artifact/coverage/coverage_badge.svg)](https://sqlmath.github.io/sqlmath/branch-alpha/.artifact/coverage/index.html) |
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.2.1-beta";
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": 33,
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.2.26"
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.2.26";
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, 50);
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 SQLITE_DATATYPE_EXTERNALBUFFER -0x01
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 = SQLITE_DATATYPE_EXTERNALBUFFER;
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
  }