w-orm-lmdb 1.0.14 → 1.0.16
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/dist/req-mingo.umd.js +1 -1
- package/dist/w-orm-lmdb.umd.js +1 -1
- package/docs/WOrmLmdb.html +1 -1
- package/docs/WOrmLmdb.mjs.html +1 -1
- package/docs/index.html +1 -1
- package/package.json +1 -1
- package//350/263/207/346/226/231/345/272/253/345/207/275/346/225/270/345/233/236/345/202/263/345/256/232/347/276/251/350/250/210/347/256/227.md +8 -18
package/dist/req-mingo.umd.js
CHANGED
package/dist/w-orm-lmdb.umd.js
CHANGED
package/docs/WOrmLmdb.html
CHANGED
|
@@ -1592,7 +1592,7 @@
|
|
|
1592
1592
|
<br class="clear">
|
|
1593
1593
|
|
|
1594
1594
|
<footer>
|
|
1595
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026 23:
|
|
1595
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026 23:35:59 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
1596
1596
|
</footer>
|
|
1597
1597
|
|
|
1598
1598
|
<script>prettyPrint();</script>
|
package/docs/WOrmLmdb.mjs.html
CHANGED
|
@@ -872,7 +872,7 @@ export default WOrmLmdb
|
|
|
872
872
|
<br class="clear">
|
|
873
873
|
|
|
874
874
|
<footer>
|
|
875
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026 23:
|
|
875
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026 23:35:59 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
876
876
|
</footer>
|
|
877
877
|
|
|
878
878
|
<script>prettyPrint();</script>
|
package/docs/index.html
CHANGED
|
@@ -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 Sun Aug 16 2026 23:
|
|
74
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026 23:35:59 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
75
75
|
</footer>
|
|
76
76
|
|
|
77
77
|
<script>prettyPrint();</script>
|
package/package.json
CHANGED
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
|
|
9
9
|
專屬函數若與六函數之概念對應(插入/單筆直讀/刪除/條件刪除),則**參數形狀亦須比照**,不只回傳結構:收「帶主鍵之數據物件或陣列」者回等長陣列,收單一主鍵者回單一物件。僅對齊回傳值而參數各行其是,會讓同一概念出現兩種呼叫方式,與本規格「呼叫端不須為個別套件寫特例」之目的相違。若某概念在該後端無法滿足本規格之要求(如無法原子取代內容而不能提供 `save`),則不提供該函數,並於 README 說明原因與替代作法;不得提供一個語義較弱而同名的版本。
|
|
10
10
|
|
|
11
|
-
只有當無法支援併發時才於各套件之README.md宣告。
|
|
12
|
-
|
|
13
11
|
---
|
|
14
12
|
|
|
15
13
|
## 通則
|
|
@@ -96,7 +94,7 @@
|
|
|
96
94
|
|
|
97
95
|
### T8 併發保證之宣告義務
|
|
98
96
|
|
|
99
|
-
|
|
97
|
+
當確認無法支援併發時,各套件須於 README 明確宣告其原子性保證的**適用範圍**,至少區分:
|
|
100
98
|
|
|
101
99
|
- **單一行程內併發**:同一行程內多個並行呼叫。
|
|
102
100
|
- **跨行程併發**:多個行程操作同一資料庫。
|
|
@@ -271,29 +269,21 @@ T8 已完成:README 已宣告單一行程內保證成立、跨行程因 `lmdb-
|
|
|
271
269
|
|
|
272
270
|
### w-orm-mongodb
|
|
273
271
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
<!--
|
|
277
|
-
主鍵欄位為 `id`,為無業務語義之識別碼,適用 T6 之補值規定。
|
|
278
|
-
|
|
279
|
-
待處理:
|
|
280
|
-
|
|
281
|
-
| 項目 | 現況 | 規格 |
|
|
282
|
-
|---|---|---|
|
|
283
|
-
| 單筆直讀函數名稱 | `selectById` | 依 T1 改名為 `selectByPk` |
|
|
284
|
-
| GridFS 單筆直讀函數名稱 | `selectByIdGfs` | 比照改名為 `selectByPkGfs` |
|
|
272
|
+
主鍵欄位為 `id`,為無業務語義之識別碼,適用 T6 之補值規定。主鍵欄位目前**固定為 `id`,尚未支援由呼叫端指定**,已於類別註解、`selectByPk` 註解與 README 載明。
|
|
285
273
|
|
|
286
|
-
|
|
274
|
+
已符合 T1–T9 與六函數全部規格,無待處理項目。
|
|
287
275
|
|
|
288
276
|
`save` 之「內容相同」判定即本規格之基準來源:由 MongoDB 於伺服器端將 `$set` 之待寫入物件合併進現值後與現值比對,未寫入即回 `modifiedCount` 為 `0`,比對與寫入於同一原子操作內完成,故不須預讀。
|
|
289
277
|
|
|
290
278
|
T7 之原子性以主鍵之唯一索引達成,索引一律建立且無關閉選項;README 已載明既有資料表尚存重複主鍵時之清除步驟。
|
|
291
279
|
|
|
292
|
-
T8
|
|
280
|
+
T8 無須宣告:單一行程內併發與跨行程併發皆成立,故依 §11 未於 README 宣告。原子性全由 MongoDB 伺服器端提供,本套件每次操作各自建立連線且不保有行程內狀態,故兩種範圍於後端為同一情形。已測試依據含 2 個獨立行程對相同 20 個主鍵併發 `insert`、`nInserted` 總和為 20 且資料表僅 20 筆,以及 2 個行程對同一主鍵各寫入 20 個不同欄位、40 欄位全數保留。
|
|
281
|
+
|
|
282
|
+
本套件另有 GridFS 專屬函數 `selectByPkGfs`、`insertGfs`、`delGfs`、`delAllGfs`,依 §7 不在本規格範圍內,惟參數形狀與回傳結構皆已比照對應之六函數:數據物件為 `{ id, u8a }`,`insertGfs(data)` 收物件或陣列並回 `{ n, nInserted, ok }`、具「已存在則跳過」語義(以 `<cl>.files` 之 `filename` 唯一索引達成),`selectByPkGfs(pk)` 查無回 `null`,`delGfs(data)` 收物件或陣列並回等長陣列,`delAllGfs(find)` 回 `{ n, nDeleted, ok }`。
|
|
293
283
|
|
|
294
|
-
|
|
284
|
+
GridFS 之寫入係先寫 chunks 再寫 files 文件,故違反唯一索引時 chunks 已先行寫入,`insertGfs` 於攔得重複鍵錯誤後以該次之 `files_id` 清除所遺留之孤兒 chunks,並以測試斷言重複插入與併發插入後 files 與 chunks 之增量皆為預期值。
|
|
295
285
|
|
|
296
|
-
`save` 無 GridFS 對應函數:GridFS 無法於單一原子操作內取代既有內容,提供 `saveGfs` 將違反 T7,故不提供,更新以 `delGfs` 後再 `insertGfs` 完成。
|
|
286
|
+
`save` 無 GridFS 對應函數:GridFS 無法於單一原子操作內取代既有內容,提供 `saveGfs` 將違反 T7,故不提供,更新以 `delGfs` 後再 `insertGfs` 完成。
|
|
297
287
|
|
|
298
288
|
### w-orm-postgresql
|
|
299
289
|
|