w-orm-postgresql 1.0.9 → 1.0.11

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#.selectByTime">selectByTime</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#.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
 
@@ -74,13 +74,16 @@
74
74
  <dl class="details">
75
75
 
76
76
  <dt class="tag-description">Description:</dt>
77
- <dd class="tag-description"><ul class="dummy"><li><p>操作資料庫(PostgreSQL)</p></li></ul></dd>
77
+ <dd class="tag-description"><ul class="dummy"><li><p>操作資料庫(PostgreSQL)</p>
78
+ <p>本套件之主鍵欄位由opt.pk指定,預設為time,select以外之五函數皆以此欄位認定主鍵。
79
+ 因主鍵得為承載業務語義之欄位(如時序資料之觀測時間),insert與save於輸入未帶有效主鍵值時不自動補值,
80
+ 一律以reject回報;del亦不補值,該筆回ok:0與err。</p></li></ul></dd>
78
81
 
79
82
 
80
83
 
81
84
  <dt class="tag-source">Source:</dt>
82
85
  <dd class="tag-source"><ul class="dummy"><li>
83
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line37">line 37</a>
86
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line42">line 42</a>
84
87
  </li></ul></dd>
85
88
 
86
89
 
@@ -337,6 +340,46 @@
337
340
 
338
341
 
339
342
 
343
+ <tr>
344
+
345
+ <td class="name"><code>pk</code></td>
346
+
347
+
348
+ <td class="type">
349
+
350
+
351
+ <span class="param-type">String</span>
352
+
353
+
354
+
355
+
356
+ </td>
357
+
358
+
359
+ <td class="attributes">
360
+
361
+ &lt;optional><br>
362
+
363
+
364
+
365
+
366
+
367
+ </td>
368
+
369
+
370
+
371
+ <td class="default">
372
+
373
+ <code>'time'</code>
374
+
375
+ </td>
376
+
377
+
378
+ <td class="description last"><p>輸入主鍵欄位名字串,預設'time'</p></td>
379
+ </tr>
380
+
381
+
382
+
340
383
  <tr>
341
384
 
342
385
  <td class="name"><code>useCache</code></td>
@@ -453,7 +496,7 @@
453
496
 
454
497
 
455
498
 
456
- <h4 class="name" id=".createTable"><span class="type-signature type-signature-async, static">(async, static) </span>createTable<span class="signature">(cl, pk, arr)</span><span class="type-signature"> &rarr; {Promise}</span></h4>
499
+ <h4 class="name" id=".createTable"><span class="type-signature type-signature-async, static">(async, static) </span>createTable<span class="signature">(cl, pk<span class="signature-attributes">opt</span>, arr)</span><span class="type-signature"> &rarr; {Promise}</span></h4>
457
500
 
458
501
 
459
502
 
@@ -463,13 +506,15 @@
463
506
  <dl class="details">
464
507
 
465
508
  <dt class="tag-description">Description:</dt>
466
- <dd class="tag-description"><ul class="dummy"><li><p>創建資料表</p></li></ul></dd>
509
+ <dd class="tag-description"><ul class="dummy"><li><p>創建資料表
510
+ 註: pk未給時採建構時之opt.pk。因insert與save倚賴主鍵之唯一約束達成原子性,
511
+ 若給予與opt.pk不同之欄位,將建出其餘函數無法正確操作之資料表,故一般應留空或給予相同值</p></li></ul></dd>
467
512
 
468
513
 
469
514
 
470
515
  <dt class="tag-source">Source:</dt>
471
516
  <dd class="tag-source"><ul class="dummy"><li>
472
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line200">line 200</a>
517
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line259">line 259</a>
473
518
  </li></ul></dd>
474
519
 
475
520
 
@@ -529,8 +574,12 @@
529
574
  <th>Type</th>
530
575
 
531
576
 
577
+ <th>Attributes</th>
578
+
532
579
 
533
580
 
581
+ <th>Default</th>
582
+
534
583
 
535
584
  <th class="last">Description</th>
536
585
  </tr>
@@ -555,7 +604,19 @@
555
604
  </td>
556
605
 
557
606
 
607
+ <td class="attributes">
608
+
609
+
610
+
558
611
 
612
+
613
+ </td>
614
+
615
+
616
+
617
+ <td class="default">
618
+
619
+ </td>
559
620
 
560
621
 
561
622
  <td class="description last"><p>輸入資料表名字串</p></td>
@@ -579,10 +640,26 @@
579
640
  </td>
580
641
 
581
642
 
643
+ <td class="attributes">
644
+
645
+ &lt;optional><br>
646
+
647
+
648
+
649
+
650
+
651
+ </td>
652
+
582
653
 
583
654
 
655
+ <td class="default">
656
+
657
+ <code>opt.pk</code>
658
+
659
+ </td>
660
+
584
661
 
585
- <td class="description last"><p>輸入主鍵字串</p></td>
662
+ <td class="description last"><p>輸入主鍵欄位名字串,預設為建構時之opt.pk</p></td>
586
663
  </tr>
587
664
 
588
665
 
@@ -606,7 +683,19 @@
606
683
  </td>
607
684
 
608
685
 
686
+ <td class="attributes">
687
+
609
688
 
689
+
690
+
691
+
692
+ </td>
693
+
694
+
695
+
696
+ <td class="default">
697
+
698
+ </td>
610
699
 
611
700
 
612
701
  <td class="description last"><p>輸入數據物件陣列或數據物件</p></td>
@@ -675,14 +764,14 @@
675
764
  <dd class="tag-description"><ul class="dummy"><li><p>刪除數據</p>
676
765
  <p>回傳陣列恆與輸入等長,各筆之n與nDeleted皆為主鍵命中筆數,值為0或1,未命中為0且屬正常結果。
677
766
  判斷某筆是否真的被刪除一律以nDeleted為準。
678
- 未帶有效time者為該筆之輸入問題,回ok:0與err且不送查詢,不中斷其餘筆數,
767
+ 未帶有效主鍵值者為該筆之輸入問題,回ok:0與err且不送查詢,不中斷其餘筆數,
679
768
  以此與[主鍵未命中]之ok:1區辨。</p></li></ul></dd>
680
769
 
681
770
 
682
771
 
683
772
  <dt class="tag-source">Source:</dt>
684
773
  <dd class="tag-source"><ul class="dummy"><li>
685
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line977">line 977</a>
774
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line1094">line 1094</a>
686
775
  </li></ul></dd>
687
776
 
688
777
 
@@ -845,7 +934,7 @@
845
934
 
846
935
  <dt class="tag-source">Source:</dt>
847
936
  <dd class="tag-source"><ul class="dummy"><li>
848
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line1127">line 1127</a>
937
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line1255">line 1255</a>
849
938
  </li></ul></dd>
850
939
 
851
940
 
@@ -1017,16 +1106,16 @@
1017
1106
  <dl class="details">
1018
1107
 
1019
1108
  <dt class="tag-description">Description:</dt>
1020
- <dd class="tag-description"><ul class="dummy"><li><p>插入數據,僅於主鍵time不存在時寫入,已存在者跳過且不覆寫</p>
1109
+ <dd class="tag-description"><ul class="dummy"><li><p>插入數據,僅於主鍵不存在時寫入,已存在者跳過且不覆寫</p>
1021
1110
  <p>n為輸入筆數,即本次嘗試插入之基準;nInserted為實際插入筆數,全數已存在而nInserted為0屬正常結果,
1022
- 不視為錯誤。同批含重複time時僅首筆計入nInserted。
1023
- 因主鍵time承載觀測時間之業務意義,未帶有效time時不自動補值,一律以reject回報。</p></li></ul></dd>
1111
+ 不視為錯誤。同批含重複主鍵時僅首筆計入nInserted。
1112
+ 因主鍵得承載業務語義,未帶有效主鍵值時不自動補值,一律以reject回報。</p></li></ul></dd>
1024
1113
 
1025
1114
 
1026
1115
 
1027
1116
  <dt class="tag-source">Source:</dt>
1028
1117
  <dd class="tag-source"><ul class="dummy"><li>
1029
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line497">line 497</a>
1118
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line595">line 595</a>
1030
1119
  </li></ul></dd>
1031
1120
 
1032
1121
 
@@ -1188,13 +1277,13 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1188
1277
  [內容相同]之判定基準為待寫入物件合併進現值後與現值相同,非待寫入物件與現值全等,
1189
1278
  故只給部份欄位且該些欄位值皆與現值相同時,合併結果等於現值,nModified為0,
1190
1279
  令nModified忠實反映資料庫端是否真的寫入。
1191
- 因主鍵time承載觀測時間之業務意義,未帶有效time時不自動補值,一律以reject回報。</p></li></ul></dd>
1280
+ 因主鍵得承載業務語義,未帶有效主鍵值時不自動補值,一律以reject回報。</p></li></ul></dd>
1192
1281
 
1193
1282
 
1194
1283
 
1195
1284
  <dt class="tag-source">Source:</dt>
1196
1285
  <dd class="tag-source"><ul class="dummy"><li>
1197
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line634">line 634</a>
1286
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line735">line 735</a>
1198
1287
  </li></ul></dd>
1199
1288
 
1200
1289
 
@@ -1481,7 +1570,7 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1481
1570
 
1482
1571
  <dt class="tag-source">Source:</dt>
1483
1572
  <dd class="tag-source"><ul class="dummy"><li>
1484
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line286">line 286</a>
1573
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line359">line 359</a>
1485
1574
  </li></ul></dd>
1486
1575
 
1487
1576
 
@@ -1683,7 +1772,7 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1683
1772
 
1684
1773
 
1685
1774
 
1686
- <h4 class="name" id=".selectByTime"><span class="type-signature type-signature-async, static">(async, static) </span>selectByTime<span class="signature">(time)</span><span class="type-signature"> &rarr; {Promise}</span></h4>
1775
+ <h4 class="name" id=".selectByPk"><span class="type-signature type-signature-async, static">(async, static) </span>selectByPk<span class="signature">(pk)</span><span class="type-signature"> &rarr; {Promise}</span></h4>
1687
1776
 
1688
1777
 
1689
1778
 
@@ -1693,16 +1782,16 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1693
1782
  <dl class="details">
1694
1783
 
1695
1784
  <dt class="tag-description">Description:</dt>
1696
- <dd class="tag-description"><ul class="dummy"><li><p>由主鍵time查詢單筆數據,因直接由資料表主鍵索引取值,不需如select提取數據至前端再處理,故數據量大時效能較佳</p>
1697
- <p>函數名依主鍵欄位命名為selectByTime而不另掛selectById別名,因本套件之主鍵為具業務語義之time,
1698
- 與以無語義識別碼為主鍵者性質不同,該差異須由呼叫端知悉而非由別名掩蓋。
1699
- 主鍵未命中或主鍵值無效皆回傳null而不reject,命中之判定基準與insert、save、del內對既有數據之認定一致。</p></li></ul></dd>
1785
+ <dd class="tag-description"><ul class="dummy"><li><p>由主鍵查詢單筆數據,因直接由資料表主鍵索引取值,不需如select提取數據至前端再處理,故數據量大時效能較佳
1786
+ 註: 本套件之主鍵欄位由建構時之opt.pk指定,預設為time</p>
1787
+ <p>主鍵未命中或主鍵值無效皆回傳null而不reject,命中之判定基準與insert、save、del內對既有數據之認定一致。
1788
+ 主鍵值之型別與欄位不符時PostgreSQL回報22P02或22007,亦屬主鍵值無效而回傳null。</p></li></ul></dd>
1700
1789
 
1701
1790
 
1702
1791
 
1703
1792
  <dt class="tag-source">Source:</dt>
1704
1793
  <dd class="tag-source"><ul class="dummy"><li>
1705
- <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line381">line 381</a>
1794
+ <a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line462">line 462</a>
1706
1795
  </li></ul></dd>
1707
1796
 
1708
1797
 
@@ -1774,7 +1863,7 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1774
1863
 
1775
1864
  <tr>
1776
1865
 
1777
- <td class="name"><code>time</code></td>
1866
+ <td class="name"><code>pk</code></td>
1778
1867
 
1779
1868
 
1780
1869
  <td class="type">
@@ -1783,6 +1872,9 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1783
1872
  <span class="param-type">String</span>
1784
1873
  |
1785
1874
 
1875
+ <span class="param-type">Number</span>
1876
+ |
1877
+
1786
1878
  <span class="param-type">Date</span>
1787
1879
 
1788
1880
 
@@ -1794,7 +1886,7 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1794
1886
 
1795
1887
 
1796
1888
 
1797
- <td class="description last"><p>輸入主鍵time值,本套件以time欄位為主鍵</p></td>
1889
+ <td class="description last"><p>輸入主鍵值,即數據之主鍵欄位值</p></td>
1798
1890
  </tr>
1799
1891
 
1800
1892
 
@@ -1820,7 +1912,7 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1820
1912
 
1821
1913
 
1822
1914
  <div class="param-desc">
1823
- <p>回傳Promise,resolve回傳數據物件,若無此time則回傳null,reject回傳錯誤訊息</p>
1915
+ <p>回傳Promise,resolve回傳數據物件,若無此主鍵則回傳null,reject回傳錯誤訊息</p>
1824
1916
  </div>
1825
1917
 
1826
1918
 
@@ -1862,7 +1954,7 @@ nInserted與nModified恆同時出現,無對應行為時填0。
1862
1954
  <br class="clear">
1863
1955
 
1864
1956
  <footer>
1865
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026 22:57:35 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
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.
1866
1958
  </footer>
1867
1959
 
1868
1960
  <script>prettyPrint();</script>