w-orm-postgresql 1.0.11 → 1.0.12

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.
@@ -29,7 +29,7 @@
29
29
  <nav >
30
30
 
31
31
 
32
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmPostgresql.html">WOrmPostgresql</a><ul class='methods'><li data-type='method'><a href="WOrmPostgresql.html#.createTable">createTable</a></li><li data-type='method'><a href="WOrmPostgresql.html#.del">del</a></li><li data-type='method'><a href="WOrmPostgresql.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmPostgresql.html#.insert">insert</a></li><li data-type='method'><a href="WOrmPostgresql.html#.save">save</a></li><li data-type='method'><a href="WOrmPostgresql.html#.select">select</a></li><li data-type='method'><a href="WOrmPostgresql.html#.selectByPk">selectByPk</a></li></ul></li></ul>
32
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmPostgresql.html">WOrmPostgresql</a><ul class='methods'><li data-type='method'><a href="WOrmPostgresql.html#.createTable">createTable</a></li><li data-type='method'><a href="WOrmPostgresql.html#.del">del</a></li><li data-type='method'><a href="WOrmPostgresql.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmPostgresql.html#.insert">insert</a></li><li data-type='method'><a href="WOrmPostgresql.html#.insertBulk">insertBulk</a></li><li data-type='method'><a href="WOrmPostgresql.html#.save">save</a></li><li data-type='method'><a href="WOrmPostgresql.html#.select">select</a></li><li data-type='method'><a href="WOrmPostgresql.html#.selectByPk">selectByPk</a></li></ul></li></ul>
33
33
 
34
34
  </nav>
35
35
 
@@ -514,7 +514,7 @@
514
514
 
515
515
  <dt class="tag-source">Source:</dt>
516
516
  <dd class="tag-source"><ul class="dummy"><li>
517
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line259">line 259</a>
517
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line330">line 330</a>
518
518
  </li></ul></dd>
519
519
 
520
520
 
@@ -771,7 +771,7 @@
771
771
 
772
772
  <dt class="tag-source">Source:</dt>
773
773
  <dd class="tag-source"><ul class="dummy"><li>
774
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line1094">line 1094</a>
774
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line1262">line 1262</a>
775
775
  </li></ul></dd>
776
776
 
777
777
 
@@ -934,7 +934,7 @@
934
934
 
935
935
  <dt class="tag-source">Source:</dt>
936
936
  <dd class="tag-source"><ul class="dummy"><li>
937
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line1255">line 1255</a>
937
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line1423">line 1423</a>
938
938
  </li></ul></dd>
939
939
 
940
940
 
@@ -1115,7 +1115,174 @@
1115
1115
 
1116
1116
  <dt class="tag-source">Source:</dt>
1117
1117
  <dd class="tag-source"><ul class="dummy"><li>
1118
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line595">line 595</a>
1118
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line666">line 666</a>
1119
+ </li></ul></dd>
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+
1127
+
1128
+
1129
+
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+
1151
+ </dl>
1152
+
1153
+
1154
+
1155
+
1156
+
1157
+
1158
+
1159
+
1160
+
1161
+
1162
+
1163
+
1164
+
1165
+ <h5 class="h5-parameters">Parameters:</h5>
1166
+
1167
+
1168
+ <table class="params">
1169
+ <thead>
1170
+ <tr>
1171
+
1172
+ <th>Name</th>
1173
+
1174
+
1175
+ <th>Type</th>
1176
+
1177
+
1178
+
1179
+
1180
+
1181
+ <th class="last">Description</th>
1182
+ </tr>
1183
+ </thead>
1184
+
1185
+ <tbody>
1186
+
1187
+
1188
+ <tr>
1189
+
1190
+ <td class="name"><code>data</code></td>
1191
+
1192
+
1193
+ <td class="type">
1194
+
1195
+
1196
+ <span class="param-type">Object</span>
1197
+ |
1198
+
1199
+ <span class="param-type">Array</span>
1200
+
1201
+
1202
+
1203
+
1204
+ </td>
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+ <td class="description last"><p>輸入數據物件或陣列</p></td>
1211
+ </tr>
1212
+
1213
+
1214
+ </tbody>
1215
+ </table>
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+
1230
+
1231
+
1232
+ <h5 class="h5-returns">Returns:</h5>
1233
+
1234
+
1235
+ <div class="param-desc">
1236
+ <p>回傳Promise,resolve回傳插入結果物件{n,nInserted,ok},reject回傳錯誤訊息</p>
1237
+ </div>
1238
+
1239
+
1240
+
1241
+ <dl class="param-type">
1242
+ <dt>
1243
+ Type
1244
+ </dt>
1245
+ <dd>
1246
+
1247
+ <span class="param-type">Promise</span>
1248
+
1249
+
1250
+
1251
+ </dd>
1252
+ </dl>
1253
+
1254
+
1255
+
1256
+
1257
+
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+ <h4 class="name" id=".insertBulk"><span class="type-signature type-signature-async, static">(async, static) </span>insertBulk<span class="signature">(data)</span><span class="type-signature"> &rarr; {Promise}</span></h4>
1264
+
1265
+
1266
+
1267
+
1268
+
1269
+
1270
+ <dl class="details">
1271
+
1272
+ <dt class="tag-description">Description:</dt>
1273
+ <dd class="tag-description"><ul class="dummy"><li><p>批次插入數據,全批視為一個單位,全部插入成功或一筆都不寫入</p>
1274
+ <p>本函數非insert之加速版,兩者衝突政策不同:insert於主鍵已存在時跳過該筆且整批ok為1,
1275
+ 本函數則於任一筆之主鍵已存在時整批reject且不寫入任何一筆,同批含重複主鍵者亦視為衝突。
1276
+ n為輸入筆數,nInserted為實際插入筆數且成功時恆等於n。
1277
+ 不提供逐筆結果,故不出現ok:0與err,需要逐筆處置者改用insert。
1278
+ 因主鍵得承載業務語義,未帶有效主鍵值時不自動補值,一律以reject回報,
1279
+ 且主鍵檢查於任何寫入之前一次完成,故整批reject時同批之有效筆數亦不會被寫入。</p></li></ul></dd>
1280
+
1281
+
1282
+
1283
+ <dt class="tag-source">Source:</dt>
1284
+ <dd class="tag-source"><ul class="dummy"><li>
1285
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line784">line 784</a>
1119
1286
  </li></ul></dd>
1120
1287
 
1121
1288
 
@@ -1270,7 +1437,7 @@
1270
1437
  <dl class="details">
1271
1438
 
1272
1439
  <dt class="tag-description">Description:</dt>
1273
- <dd class="tag-description"><ul class="dummy"><li><p>儲存數據,以主鍵time為準更新既有數據,未給之欄位保留</p>
1440
+ <dd class="tag-description"><ul class="dummy"><li><p>儲存數據,以主鍵為準更新既有數據,未給之欄位保留</p>
1274
1441
  <p>回傳陣列恆與輸入等長,輸入單一物件亦回傳長度1之陣列。
1275
1442
  各筆之n為主鍵命中筆數,值為0或1,命中(不論內容有無變更)或經插入而產生皆為1;
1276
1443
  nInserted與nModified恆同時出現,無對應行為時填0。
@@ -1283,7 +1450,7 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1283
1450
 
1284
1451
  <dt class="tag-source">Source:</dt>
1285
1452
  <dd class="tag-source"><ul class="dummy"><li>
1286
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line735">line 735</a>
1453
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line903">line 903</a>
1287
1454
  </li></ul></dd>
1288
1455
 
1289
1456
 
@@ -1570,7 +1737,7 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1570
1737
 
1571
1738
  <dt class="tag-source">Source:</dt>
1572
1739
  <dd class="tag-source"><ul class="dummy"><li>
1573
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line359">line 359</a>
1740
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line430">line 430</a>
1574
1741
  </li></ul></dd>
1575
1742
 
1576
1743
 
@@ -1791,7 +1958,7 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1791
1958
 
1792
1959
  <dt class="tag-source">Source:</dt>
1793
1960
  <dd class="tag-source"><ul class="dummy"><li>
1794
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line462">line 462</a>
1961
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line533">line 533</a>
1795
1962
  </li></ul></dd>
1796
1963
 
1797
1964
 
@@ -1954,7 +2121,7 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1954
2121
  <br class="clear">
1955
2122
 
1956
2123
  <footer>
1957
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Aug 17 2026 09:06:32 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
2124
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Aug 17 2026 11:51:27 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1958
2125
  </footer>
1959
2126
 
1960
2127
  <script>prettyPrint();</script>
@@ -29,7 +29,7 @@
29
29
  <nav >
30
30
 
31
31
 
32
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmPostgresql.html">WOrmPostgresql</a><ul class='methods'><li data-type='method'><a href="WOrmPostgresql.html#.createTable">createTable</a></li><li data-type='method'><a href="WOrmPostgresql.html#.del">del</a></li><li data-type='method'><a href="WOrmPostgresql.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmPostgresql.html#.insert">insert</a></li><li data-type='method'><a href="WOrmPostgresql.html#.save">save</a></li><li data-type='method'><a href="WOrmPostgresql.html#.select">select</a></li><li data-type='method'><a href="WOrmPostgresql.html#.selectByPk">selectByPk</a></li></ul></li></ul>
32
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmPostgresql.html">WOrmPostgresql</a><ul class='methods'><li data-type='method'><a href="WOrmPostgresql.html#.createTable">createTable</a></li><li data-type='method'><a href="WOrmPostgresql.html#.del">del</a></li><li data-type='method'><a href="WOrmPostgresql.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmPostgresql.html#.insert">insert</a></li><li data-type='method'><a href="WOrmPostgresql.html#.insertBulk">insertBulk</a></li><li data-type='method'><a href="WOrmPostgresql.html#.save">save</a></li><li data-type='method'><a href="WOrmPostgresql.html#.select">select</a></li><li data-type='method'><a href="WOrmPostgresql.html#.selectByPk">selectByPk</a></li></ul></li></ul>
33
33
 
34
34
  </nav>
35
35
 
@@ -292,6 +292,77 @@ function WOrmPostgresql(opt = {}) {
292
292
  _cache[key] = cloneDeep(data) //與外部使用數據脫勾
293
293
  }
294
294
 
295
+ //insertBatches, 分批送出插入語句並以交易包覆, 回傳實際插入筆數, 供insert與insertBulk共用
296
+ //PostgreSQL之協定以int16記綁定參數個數故上限為65535, 單一語句可送之筆數受欄位數所限,
297
+ //超出者須分批送出; 分批後單語句之原子性已不足以維持[失敗即不留下部份寫入], 故一律以交易包覆,
298
+ //令單批與分批之保證來源一致而不因批數而異
299
+ //兩函數之衝突政策由useConflict區分, 語句各自獨立:
300
+ // true : 添加ON CONFLICT DO NOTHING, 已存在主鍵者跳過而不中斷整批, 為insert之語義
301
+ // false: 不添加, 任一筆撞主鍵之唯一約束即整句失敗且不寫入任何一筆, 為insertBulk之全有全無語義
302
+ let insertBatches = async (client, data, useConflict) => {
303
+
304
+ //nCols, 取各筆欄位數之最大值
305
+ let nCols = 1
306
+ data.forEach(function(v) {
307
+ nCols = Math.max(nCols, size(keys(v)))
308
+ })
309
+
310
+ //nPerBatch
311
+ let nPerBatch = Math.max(1, Math.floor(65535 / nCols))
312
+
313
+ //ltdata, 分批
314
+ let ltdata = []
315
+ for (let i = 0; i &lt; size(data); i += nPerBatch) {
316
+ ltdata.push(data.slice(i, i + nPerBatch))
317
+ }
318
+
319
+ //transaction
320
+ await client.query('BEGIN')
321
+
322
+ try {
323
+
324
+ //nIns
325
+ let nIns = 0
326
+
327
+ //each batch
328
+ for (let dt of ltdata) {
329
+
330
+ //mr
331
+ let mr = mongoSql.sql({
332
+ type: 'insert',
333
+ table: cl,
334
+ values: dt,
335
+ })
336
+
337
+ //sql
338
+ let sql = mr.query
339
+ if (useConflict) {
340
+ sql = `${sql} ON CONFLICT (${pkName}) DO NOTHING`
341
+ }
342
+
343
+ //insert
344
+ let r = await client.query(sql, mr.values)
345
+
346
+ //nIns
347
+ nIns += r.rowCount
348
+
349
+ }
350
+
351
+ //commit
352
+ await client.query('COMMIT')
353
+
354
+ return nIns
355
+ }
356
+ catch (err) {
357
+
358
+ //rollback, 令已送出之批次一併回滾
359
+ await client.query('ROLLBACK').catch(() => {})
360
+
361
+ throw err
362
+ }
363
+
364
+ }
365
+
295
366
  /**
296
367
  * 創建資料表
297
368
  * 註: pk未給時採建構時之opt.pk。因insert與save倚賴主鍵之唯一約束達成原子性,
@@ -695,40 +766,137 @@ function WOrmPostgresql(opt = {}) {
695
766
  return v
696
767
  })
697
768
 
698
- //mr
699
- let mr = mongoSql.sql({
700
- type: 'insert',
701
- table: cl,
702
- values: data,
703
- })
704
- // console.log('mr', mr)
705
- // console.log('mr.query', mr.query)
706
- // console.log('mr.values', mr.values)
769
+ //nAll
770
+ let nAll = size(data)
707
771
 
708
- //添加conflict, 令已存在主鍵者跳過而不中斷整批插入, 主鍵認定與genConflictSQL一致
772
+ //insert, 以ON CONFLICT DO NOTHING令已存在主鍵者跳過而不中斷整批插入,
709
773
  //由PostgreSQL於單一語句內原子完成[檢查主鍵未存在]與[寫入], 併發時同一主鍵僅有一次成功,
710
774
  //同批含重複主鍵時亦僅首筆成功, 故不須逐筆插入即可取得實際插入筆數
711
- let sql = `${mr.query} ON CONFLICT (${pkName}) DO NOTHING`
775
+ //筆數過多而超出綁定參數上限者由insertBatches分批送出, 主鍵認定與genConflictSQL一致
776
+ let nIns = await insertBatches(client, data, true)
777
+
778
+ //res
779
+ res = {
780
+ n: nAll,
781
+ nInserted: nIns,
782
+ ok: 1,
783
+ }
784
+
785
+ }
786
+ catch (err) {
787
+ isErr = true
788
+ res = err
789
+ }
790
+ finally {
791
+ await client.end()
792
+ client = null
793
+ }
794
+
795
+ //update
796
+ if (useCache) {
797
+ clearCache()
798
+ }
799
+
800
+ //emit
801
+ if (!isErr) {
802
+ emitChange('insert', data, res)
803
+ }
804
+
805
+ //check
806
+ if (isErr) {
807
+
808
+ //emit, 整批性錯誤於reject之前發出
809
+ emitError('insert', data, res)
810
+
811
+ return Promise.reject(res)
812
+ }
813
+
814
+ return res
815
+ }
816
+
817
+ /**
818
+ * 批次插入數據,全批視為一個單位,全部插入成功或一筆都不寫入
819
+ *
820
+ * 本函數非insert之加速版,兩者衝突政策不同:insert於主鍵已存在時跳過該筆且整批ok為1,
821
+ * 本函數則於任一筆之主鍵已存在時整批reject且不寫入任何一筆,同批含重複主鍵者亦視為衝突。
822
+ * n為輸入筆數,nInserted為實際插入筆數且成功時恆等於n。
823
+ * 不提供逐筆結果,故不出現ok:0與err,需要逐筆處置者改用insert。
824
+ * 因主鍵得承載業務語義,未帶有效主鍵值時不自動補值,一律以reject回報,
825
+ * 且主鍵檢查於任何寫入之前一次完成,故整批reject時同批之有效筆數亦不會被寫入。
826
+ *
827
+ * @memberOf WOrmPostgresql
828
+ * @param {Object|Array} data 輸入數據物件或陣列
829
+ * @returns {Promise} 回傳Promise,resolve回傳插入結果物件{n,nInserted,ok},reject回傳錯誤訊息
830
+ */
831
+ async function insertBulk(data) {
832
+ let isErr = false
833
+ let res = null
834
+
835
+ //check
836
+ if (!iseobj(data) &amp;&amp; !isearr(data)) {
837
+ return {
838
+ n: 0,
839
+ nInserted: 0,
840
+ ok: 1,
841
+ }
842
+ }
843
+
844
+ //cloneDeep
845
+ data = cloneDeep(data)
846
+
847
+ //client
848
+ let client = new PgClient({ connectionString })
849
+
850
+ //connect
851
+ try {
852
+
853
+ //connect
854
+ await client.connect()
855
+
856
+ }
857
+ catch (err) {
858
+ isErr = true
859
+ res = err
860
+ client = null
861
+ }
862
+
863
+ //check
864
+ if (isErr) {
865
+
866
+ //emit, 整批性錯誤於reject之前發出
867
+ emitError('insertBulk', data, res)
868
+
869
+ return Promise.reject(res)
870
+ }
871
+
872
+ try {
873
+
874
+ //check
875
+ if (!isarr(data)) {
876
+ data = [data]
877
+ }
878
+
879
+ //check pk, 因主鍵得承載業務語義故不自動補值, 未帶有效主鍵值者屬整批性錯誤
880
+ data = map(data, function(v, k) {
881
+ if (!checkPk(get(v, pkName))) {
882
+ throw new Error(`invalid data[${k}].${pkName}[${get(v, pkName)}]`)
883
+ }
884
+ return v
885
+ })
712
886
 
713
887
  //nAll
714
888
  let nAll = size(data)
715
889
 
716
- //insert, ON CONFLICT DO NOTHING時rowCount即為實際插入筆數
717
- await client.query(sql, mr.values)
718
- .then((r) => {
719
-
720
- //res
721
- res = {
722
- n: nAll,
723
- nInserted: r.rowCount,
724
- ok: 1,
725
- }
890
+ //insertBulk, 不添加conflict, 令任一筆撞主鍵之唯一約束即整句失敗且不寫入任何一筆,
891
+ //同批含重複主鍵者亦於此被偵測為衝突; 筆數過多者由insertBatches分批送出並以交易維持全有全無
892
+ let nIns = await insertBatches(client, data, false)
726
893
 
727
- })
728
- .catch((err) => {
729
- isErr = true
730
- res = err.message
731
- })
894
+ //res
895
+ res = {
896
+ n: nAll,
897
+ nInserted: nIns,
898
+ ok: 1,
899
+ }
732
900
 
733
901
  }
734
902
  catch (err) {
@@ -747,14 +915,14 @@ function WOrmPostgresql(opt = {}) {
747
915
 
748
916
  //emit
749
917
  if (!isErr) {
750
- emitChange('insert', data, res)
918
+ emitChange('insertBulk', data, res)
751
919
  }
752
920
 
753
921
  //check
754
922
  if (isErr) {
755
923
 
756
924
  //emit, 整批性錯誤於reject之前發出
757
- emitError('insert', data, res)
925
+ emitError('insertBulk', data, res)
758
926
 
759
927
  return Promise.reject(res)
760
928
  }
@@ -763,7 +931,7 @@ function WOrmPostgresql(opt = {}) {
763
931
  }
764
932
 
765
933
  /**
766
- * 儲存數據,以主鍵time為準更新既有數據,未給之欄位保留
934
+ * 儲存數據,以主鍵為準更新既有數據,未給之欄位保留
767
935
  *
768
936
  * 回傳陣列恆與輸入等長,輸入單一物件亦回傳長度1之陣列。
769
937
  * 各筆之n為主鍵命中筆數,值為0或1,命中(不論內容有無變更)或經插入而產生皆為1;
@@ -1408,6 +1576,7 @@ function WOrmPostgresql(opt = {}) {
1408
1576
  ee.select = select
1409
1577
  ee.selectByPk = selectByPk
1410
1578
  ee.insert = insert
1579
+ ee.insertBulk = insertBulk
1411
1580
  ee.save = save
1412
1581
  ee.del = del
1413
1582
  ee.delAll = delAll
@@ -1431,7 +1600,7 @@ export default WOrmPostgresql
1431
1600
  <br class="clear">
1432
1601
 
1433
1602
  <footer>
1434
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Aug 17 2026 09:06:32 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1603
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Aug 17 2026 11:51:27 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1435
1604
  </footer>
1436
1605
 
1437
1606
  <script>prettyPrint();</script>
package/docs/index.html CHANGED
@@ -29,7 +29,7 @@
29
29
  <nav >
30
30
 
31
31
 
32
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmPostgresql.html">WOrmPostgresql</a><ul class='methods'><li data-type='method'><a href="WOrmPostgresql.html#.createTable">createTable</a></li><li data-type='method'><a href="WOrmPostgresql.html#.del">del</a></li><li data-type='method'><a href="WOrmPostgresql.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmPostgresql.html#.insert">insert</a></li><li data-type='method'><a href="WOrmPostgresql.html#.save">save</a></li><li data-type='method'><a href="WOrmPostgresql.html#.select">select</a></li><li data-type='method'><a href="WOrmPostgresql.html#.selectByPk">selectByPk</a></li></ul></li></ul>
32
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmPostgresql.html">WOrmPostgresql</a><ul class='methods'><li data-type='method'><a href="WOrmPostgresql.html#.createTable">createTable</a></li><li data-type='method'><a href="WOrmPostgresql.html#.del">del</a></li><li data-type='method'><a href="WOrmPostgresql.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmPostgresql.html#.insert">insert</a></li><li data-type='method'><a href="WOrmPostgresql.html#.insertBulk">insertBulk</a></li><li data-type='method'><a href="WOrmPostgresql.html#.save">save</a></li><li data-type='method'><a href="WOrmPostgresql.html#.select">select</a></li><li data-type='method'><a href="WOrmPostgresql.html#.selectByPk">selectByPk</a></li></ul></li></ul>
33
33
 
34
34
  </nav>
35
35
 
@@ -71,7 +71,7 @@
71
71
  <br class="clear">
72
72
 
73
73
  <footer>
74
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Aug 17 2026 09:06:32 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
74
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Aug 17 2026 11:51:27 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
75
75
  </footer>
76
76
 
77
77
  <script>prettyPrint();</script>