@maiyunnet/kebab 9.12.1 → 9.12.2

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/doc/kebab-rag.md CHANGED
@@ -1360,7 +1360,7 @@ index/variables/VER.md
1360
1360
 
1361
1361
  # Variable: VER
1362
1362
 
1363
- > `const` **VER**: `"9.12.1"` = `'9.12.1'`
1363
+ > `const` **VER**: `"9.12.2"` = `'9.12.2'`
1364
1364
 
1365
1365
  Defined in: [index.ts:10](https://github.com/maiyunnet/kebab/blob/master/index.ts#L10)
1366
1366
 
@@ -13741,7 +13741,7 @@ Defined in: [lib/sql.ts:69](https://github.com/maiyunnet/kebab/blob/master/lib/s
13741
13741
 
13742
13742
  > **append**(`sql`): `this`
13743
13743
 
13744
- Defined in: [lib/sql.ts:1005](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1005)
13744
+ Defined in: [lib/sql.ts:1006](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1006)
13745
13745
 
13746
13746
  在 sql 最后追加字符串
13747
13747
 
@@ -13761,7 +13761,7 @@ Defined in: [lib/sql.ts:1005](https://github.com/maiyunnet/kebab/blob/master/lib
13761
13761
 
13762
13762
  > **by**(`c`, `d?`): `this`
13763
13763
 
13764
- Defined in: [lib/sql.ts:761](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L761)
13764
+ Defined in: [lib/sql.ts:762](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L762)
13765
13765
 
13766
13766
  ORDER BY
13767
13767
 
@@ -13789,7 +13789,7 @@ ORDER BY
13789
13789
 
13790
13790
  > **copy**(`f?`, `opt?`): `Sql`
13791
13791
 
13792
- Defined in: [lib/sql.ts:829](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L829)
13792
+ Defined in: [lib/sql.ts:830](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L830)
13793
13793
 
13794
13794
  创建一个本对象的一个新的 sql 对象拷贝
13795
13795
 
@@ -13817,7 +13817,7 @@ Defined in: [lib/sql.ts:829](https://github.com/maiyunnet/kebab/blob/master/lib/
13817
13817
 
13818
13818
  > **crossJoin**(`f`, `s?`, `suf?`, `pre?`): `this`
13819
13819
 
13820
- Defined in: [lib/sql.ts:490](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L490)
13820
+ Defined in: [lib/sql.ts:491](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L491)
13821
13821
 
13822
13822
  cross join 方法
13823
13823
 
@@ -13857,7 +13857,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅在 join 非默认前
13857
13857
 
13858
13858
  > **delete**(`f`): `this`
13859
13859
 
13860
- Defined in: [lib/sql.ts:378](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L378)
13860
+ Defined in: [lib/sql.ts:379](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L379)
13861
13861
 
13862
13862
  'xx'
13863
13863
 
@@ -13879,7 +13879,7 @@ Defined in: [lib/sql.ts:378](https://github.com/maiyunnet/kebab/blob/master/lib/
13879
13879
 
13880
13880
  > **field**(`str`, `pre?`, `suf?`): `string`
13881
13881
 
13882
- Defined in: [lib/sql.ts:1016](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1016)
13882
+ Defined in: [lib/sql.ts:1017](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1017)
13883
13883
 
13884
13884
  对字段进行包裹
13885
13885
 
@@ -13911,7 +13911,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅请在 field 表名时
13911
13911
 
13912
13912
  > **format**(`sql?`, `data?`): `string`
13913
13913
 
13914
- Defined in: [lib/sql.ts:995](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L995)
13914
+ Defined in: [lib/sql.ts:996](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L996)
13915
13915
 
13916
13916
  获取带 data 的 sql 语句
13917
13917
 
@@ -13935,7 +13935,7 @@ Defined in: [lib/sql.ts:995](https://github.com/maiyunnet/kebab/blob/master/lib/
13935
13935
 
13936
13936
  > **fullJoin**(`f`, `s?`, `suf?`, `pre?`): `this`
13937
13937
 
13938
- Defined in: [lib/sql.ts:479](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L479)
13938
+ Defined in: [lib/sql.ts:480](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L480)
13939
13939
 
13940
13940
  full join 方法
13941
13941
 
@@ -13975,7 +13975,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅在 join 非默认前
13975
13975
 
13976
13976
  > **getData**(): [`DbValue`](../../../index/type-aliases/DbValue.md)[]
13977
13977
 
13978
- Defined in: [lib/sql.ts:979](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L979)
13978
+ Defined in: [lib/sql.ts:980](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L980)
13979
13979
 
13980
13980
  获取全部 data
13981
13981
 
@@ -13989,7 +13989,7 @@ Defined in: [lib/sql.ts:979](https://github.com/maiyunnet/kebab/blob/master/lib/
13989
13989
 
13990
13990
  > **getPre**(): `string`
13991
13991
 
13992
- Defined in: [lib/sql.ts:986](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L986)
13992
+ Defined in: [lib/sql.ts:987](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L987)
13993
13993
 
13994
13994
  获取定义的 pre
13995
13995
 
@@ -14003,7 +14003,7 @@ Defined in: [lib/sql.ts:986](https://github.com/maiyunnet/kebab/blob/master/lib/
14003
14003
 
14004
14004
  > **getSql**(): `string`
14005
14005
 
14006
- Defined in: [lib/sql.ts:963](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L963)
14006
+ Defined in: [lib/sql.ts:964](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L964)
14007
14007
 
14008
14008
  获取 sql 语句
14009
14009
 
@@ -14017,7 +14017,7 @@ Defined in: [lib/sql.ts:963](https://github.com/maiyunnet/kebab/blob/master/lib/
14017
14017
 
14018
14018
  > **group**(`c`): `this`
14019
14019
 
14020
- Defined in: [lib/sql.ts:785](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L785)
14020
+ Defined in: [lib/sql.ts:786](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L786)
14021
14021
 
14022
14022
  GROUP BY
14023
14023
 
@@ -14039,7 +14039,7 @@ GROUP BY
14039
14039
 
14040
14040
  > **having**(`s?`): `this`
14041
14041
 
14042
- Defined in: [lib/sql.ts:497](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L497)
14042
+ Defined in: [lib/sql.ts:498](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L498)
14043
14043
 
14044
14044
  having 后置筛选器,用法类似 where
14045
14045
 
@@ -14059,7 +14059,7 @@ having 后置筛选器,用法类似 where
14059
14059
 
14060
14060
  > **innerJoin**(`f`, `s?`, `suf?`, `pre?`): `this`
14061
14061
 
14062
- Defined in: [lib/sql.ts:468](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L468)
14062
+ Defined in: [lib/sql.ts:469](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L469)
14063
14063
 
14064
14064
  inner join 方法
14065
14065
 
@@ -14127,7 +14127,7 @@ Defined in: [lib/sql.ts:99](https://github.com/maiyunnet/kebab/blob/master/lib/s
14127
14127
 
14128
14128
  > **join**(`f`, `s?`, `type?`, `suf?`, `pre?`): `this`
14129
14129
 
14130
- Defined in: [lib/sql.ts:420](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L420)
14130
+ Defined in: [lib/sql.ts:421](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L421)
14131
14131
 
14132
14132
  join 方法
14133
14133
 
@@ -14173,7 +14173,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅在 join 非默认前
14173
14173
 
14174
14174
  > **leftJoin**(`f`, `s?`, `suf?`, `pre?`): `this`
14175
14175
 
14176
- Defined in: [lib/sql.ts:446](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L446)
14176
+ Defined in: [lib/sql.ts:447](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L447)
14177
14177
 
14178
14178
  left join 方法
14179
14179
 
@@ -14213,7 +14213,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅在 join 非默认前
14213
14213
 
14214
14214
  > **limit**(`a`, `b?`): `this`
14215
14215
 
14216
- Defined in: [lib/sql.ts:805](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L805)
14216
+ Defined in: [lib/sql.ts:806](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L806)
14217
14217
 
14218
14218
  LIMIT(limit、offset, limit)
14219
14219
 
@@ -14241,7 +14241,7 @@ LIMIT(limit、offset, limit)
14241
14241
 
14242
14242
  > **lock**(): `this`
14243
14243
 
14244
- Defined in: [lib/sql.ts:820](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L820)
14244
+ Defined in: [lib/sql.ts:821](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L821)
14245
14245
 
14246
14246
  追加消极锁,通常不建议使用
14247
14247
 
@@ -14255,7 +14255,7 @@ Defined in: [lib/sql.ts:820](https://github.com/maiyunnet/kebab/blob/master/lib/
14255
14255
 
14256
14256
  > **rightJoin**(`f`, `s?`, `suf?`, `pre?`): `this`
14257
14257
 
14258
- Defined in: [lib/sql.ts:457](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L457)
14258
+ Defined in: [lib/sql.ts:458](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L458)
14259
14259
 
14260
14260
  right join 方法
14261
14261
 
@@ -14295,7 +14295,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅在 join 非默认前
14295
14295
 
14296
14296
  > **select**(`c`, `f`): `this`
14297
14297
 
14298
- Defined in: [lib/sql.ts:269](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L269)
14298
+ Defined in: [lib/sql.ts:270](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L270)
14299
14299
 
14300
14300
  '*', 'xx'
14301
14301
 
@@ -14323,7 +14323,7 @@ Defined in: [lib/sql.ts:269](https://github.com/maiyunnet/kebab/blob/master/lib/
14323
14323
 
14324
14324
  > **union**(`lsql`, `type?`): `this`
14325
14325
 
14326
- Defined in: [lib/sql.ts:390](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L390)
14326
+ Defined in: [lib/sql.ts:391](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L391)
14327
14327
 
14328
14328
  联查另一个 sql 对象
14329
14329
 
@@ -14351,7 +14351,7 @@ sql 对象
14351
14351
 
14352
14352
  > **unionAll**(`lsql`): `this`
14353
14353
 
14354
- Defined in: [lib/sql.ts:408](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L408)
14354
+ Defined in: [lib/sql.ts:409](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L409)
14355
14355
 
14356
14356
  所有联查另一个 sql 对象
14357
14357
 
@@ -14373,7 +14373,7 @@ sql 对象
14373
14373
 
14374
14374
  > **update**(`f`, `s`): `this`
14375
14375
 
14376
- Defined in: [lib/sql.ts:310](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L310)
14376
+ Defined in: [lib/sql.ts:311](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L311)
14377
14377
 
14378
14378
  UPDATE SQL 方法
14379
14379
 
@@ -14500,7 +14500,7 @@ Defined in: [lib/sql.ts:118](https://github.com/maiyunnet/kebab/blob/master/lib/
14500
14500
 
14501
14501
  > **where**(`s`): `this`
14502
14502
 
14503
- Defined in: [lib/sql.ts:531](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L531)
14503
+ Defined in: [lib/sql.ts:532](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L532)
14504
14504
 
14505
14505
  筛选器
14506
14506
  1. 'city': 'bj', 'type': '2'
@@ -14643,7 +14643,7 @@ lib/sql/functions/aoMix.md
14643
14643
 
14644
14644
  > **aoMix**(`arr`): `Record`\<`string`, `string` \| `number` \| [`Json`](../../../index/type-aliases/Json.md)\>
14645
14645
 
14646
- Defined in: [lib/sql.ts:1401](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1401)
14646
+ Defined in: [lib/sql.ts:1402](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1402)
14647
14647
 
14648
14648
  将数组兑换为组合的对象(Array/Object mix)
14649
14649
 
@@ -14672,7 +14672,7 @@ lib/sql/functions/column.md
14672
14672
 
14673
14673
  > **column**(`field`): `object`
14674
14674
 
14675
- Defined in: [lib/sql.ts:1422](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1422)
14675
+ Defined in: [lib/sql.ts:1423](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1423)
14676
14676
 
14677
14677
  创建字段对象
14678
14678
 
@@ -14711,7 +14711,7 @@ lib/sql/functions/format.md
14711
14711
 
14712
14712
  > **format**(`sql`, `data`, `service?`): `string`
14713
14713
 
14714
- Defined in: [lib/sql.ts:1363](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1363)
14714
+ Defined in: [lib/sql.ts:1364](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1364)
14715
14715
 
14716
14716
  返回代入后的完整 SQL 字符串,这并不安全不能直接执行,只是用来调试打印 sql 语句
14717
14717
 
@@ -14752,7 +14752,7 @@ lib/sql/functions/get.md
14752
14752
 
14753
14753
  > **get**(`opt`): [`Sql`](../classes/Sql.md)
14754
14754
 
14755
- Defined in: [lib/sql.ts:1335](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1335)
14755
+ Defined in: [lib/sql.ts:1336](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1336)
14756
14756
 
14757
14757
  创建 sql 对象
14758
14758
 
@@ -14805,7 +14805,7 @@ lib/sql/functions/json.md
14805
14805
 
14806
14806
  > **json**(`obj`): `any`
14807
14807
 
14808
- Defined in: [lib/sql.ts:1460](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1460)
14808
+ Defined in: [lib/sql.ts:1461](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1461)
14809
14809
 
14810
14810
  将对象转换为 JSON 字符串并避开类型检查,用于适配 PostgreSQL 的 jsonb 字段
14811
14811
 
@@ -14834,7 +14834,7 @@ lib/sql/functions/value.md
14834
14834
 
14835
14835
  > **value**(`val`): `object`
14836
14836
 
14837
- Defined in: [lib/sql.ts:1441](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1441)
14837
+ Defined in: [lib/sql.ts:1442](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1442)
14838
14838
 
14839
14839
  创建字面量值对象,用于 where 条件中 v[0] 需要是值而非字段名的场景
14840
14840
  例:[value('hello'), 'IN', column('tags')]
package/index.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * --- 本文件用来定义每个目录实体地址的常量 ---
6
6
  */
7
7
  /** --- 当前系统版本号 --- */
8
- export declare const VER = "9.12.1";
8
+ export declare const VER = "9.12.2";
9
9
  /** --- 框架根目录,以 / 结尾 --- */
10
10
  export declare const ROOT_PATH: string;
11
11
  /** --- 框架的 LIB,以 / 结尾 --- */
package/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * --- 本文件用来定义每个目录实体地址的常量 ---
7
7
  */
8
8
  /** --- 当前系统版本号 --- */
9
- export const VER = '9.12.1';
9
+ export const VER = '9.12.2';
10
10
  // --- 服务端用的路径 ---
11
11
  const imu = decodeURIComponent(import.meta.url).replace('file://', '').replace(/^\/(\w:)/, '$1');
12
12
  /** --- /xxx/xxx --- */
package/lib/net.js CHANGED
@@ -445,8 +445,8 @@ export function getFormData() {
445
445
  }
446
446
  /** --- proxy 要剔除的基础头部 --- */
447
447
  const proxyContinueHeaders = [
448
- 'host', 'connection', 'http-version', 'http-code', 'http-url',
449
- 'transfer-encoding'
448
+ 'host', 'connection', 'keep-alive', 'http-version', 'http-code', 'http-url',
449
+ 'transfer-encoding', 'upgrade', 'proxy-connection'
450
450
  ];
451
451
  /**
452
452
  * --- 剔除不代理的 header,返回新的 header ---
package/lib/sql.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Project: Kebab, User: JianSuoQiYue
3
3
  * Date: 2019-5-27 20:18:50
4
- * Last: 2020-3-29 19:37:25, 2022-07-24 22:38:11, 2023-5-24 18:49:18, 2023-6-13 22:20:21, 2023-12-11 13:58:54, 2023-12-14 13:14:40, 2023-12-21 00:04:40, 2024-4-11 19:29:29, 2024-9-2 17:15:28, 2025-8-3 21:28:18, 2025-11-9 16:20:23, 2026-4-30 13:49:44
4
+ * Last: 2020-3-29 19:37:25, 2022-07-24 22:38:11, 2023-5-24 18:49:18, 2023-6-13 22:20:21, 2023-12-11 13:58:54, 2023-12-14 13:14:40, 2023-12-21 00:04:40, 2024-4-11 19:29:29, 2024-9-2 17:15:28, 2025-8-3 21:28:18, 2025-11-9 16:20:23, 2026-4-30 13:49:44, 2026-6-1 11:30:00
5
5
  */
6
6
  import * as kebab from '#kebab/index.js';
7
7
  import * as ctr from '#kebab/sys/ctr.js';
package/lib/sql.js CHANGED
@@ -183,25 +183,26 @@ export class Sql {
183
183
  const quotedTable = this.field(table, this._pre);
184
184
  const quotedKey = this.field(key);
185
185
  if (this._service === ESERVICE.MYSQL) {
186
- // --- MySQL 8.0.19+ VALUES ROW() 派生表语法 ---
186
+ // --- MySQL UNION ALL SELECT 派生表语法 ---
187
187
  // --- 必须把 tmp 放在 UPDATE 的 table_references 最前面,并使用 STRAIGHT_JOIN:
188
188
  // 1. tmp 是小数据集,作为驱动表逐行查找目标表
189
189
  // 2. STRAIGHT_JOIN 强制目标表按 key 条件被查找,避免优化器反向全表扫描
190
- // 3. 相比 CASE WHENkey 只出现一次,SQL 和参数量都更小 ---
191
- const valueParts = [];
192
- for (const row of rows) {
193
- const parts = row.map(v => {
190
+ // 3. 相比 VALUES ROW()UNION ALL SELECT 不会将派生表列强制转换为目标表类型,
191
+ // 避免 "Data too long for column" 错误 ---
192
+ const selectParts = [];
193
+ for (let ri = 0; ri < rows.length; ri++) {
194
+ const row = rows[ri];
195
+ const parts = row.map((v, ci) => {
194
196
  const result = this._processValue(v);
195
197
  if (result.data.length > 0) {
196
198
  this._data.push(...result.data);
197
199
  }
198
- return result.sql;
200
+ return ri === 0 ? `${result.sql} AS ${this.field(allCols[ci])}` : result.sql;
199
201
  });
200
- valueParts.push(`ROW(${parts.join(', ')})`);
202
+ selectParts.push(`SELECT ${parts.join(', ')}`);
201
203
  }
202
- const tmpCols = allCols.map(c => this.field(c)).join(', ');
203
204
  const setClauses = cols.map(c => `t.${this.field(c)} = tmp.${this.field(c)}`).join(', ');
204
- this._sql = [`UPDATE (VALUES ${valueParts.join(', ')}) AS tmp(${tmpCols}) STRAIGHT_JOIN ${quotedTable} t ON t.${quotedKey} = tmp.${quotedKey} SET ${setClauses}`];
205
+ this._sql = [`UPDATE (${selectParts.join(' UNION ALL ')}) AS tmp STRAIGHT_JOIN ${quotedTable} t ON t.${quotedKey} = tmp.${quotedKey} SET ${setClauses}`];
205
206
  }
206
207
  else {
207
208
  // --- PostgreSQL 使用 UPDATE FROM (VALUES ...) ---
package/lib/undici.js CHANGED
@@ -333,7 +333,7 @@ export async function request(u, data, opt = {}) {
333
333
  headers['content-length'] = data.getLength();
334
334
  }
335
335
  }
336
- headers['accept-encoding'] = 'gzip, deflate';
336
+ headers['accept-encoding'] ??= 'gzip, deflate';
337
337
  // --- cookie 托管 ---
338
338
  if (opt.cookie) {
339
339
  headers['cookie'] = lCookie.buildCookieQuery(opt.cookie, uri);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maiyunnet/kebab",
3
- "version": "9.12.1",
3
+ "version": "9.12.2",
4
4
  "description": "Simple, easy-to-use, and fully-featured Node.js framework that is ready-to-use out of the box.",
5
5
  "type": "module",
6
6
  "keywords": [
package/sys/mod.js CHANGED
@@ -1184,7 +1184,7 @@ export default class Mod {
1184
1184
  sql = sql
1185
1185
  .replace(/ LIMIT [0-9 ,]+(OFFSET [0-9]+)?/ig, '')
1186
1186
  .replace(/ ORDER BY [\w`",. ]+(DESC|ASC)?/ig, '');
1187
- if (sql.includes(' GROUP BY ')) {
1187
+ if (sql.includes(' GROUP BY ') || /\bUNION\b/i.test(sql)) {
1188
1188
  return `SELECT COUNT(0) AS ${q}count${q} FROM(` + sql + `) AS ${q}f${q}`;
1189
1189
  }
1190
1190
  return sql