@harperfast/harper 5.3.0-beta.4 → 5.3.0
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/bin/backup.ts +6 -1
- package/components/Application.ts +486 -115
- package/components/DESIGN.md +109 -21
- package/components/deploymentProvenance.ts +28 -0
- package/components/operations.js +14 -7
- package/components/packageComponent.ts +5 -1
- package/config-root.schema.json +1 -1
- package/dataLayer/DESIGN.md +35 -7
- package/dataLayer/blobBackup.ts +71 -30
- package/dataLayer/harperBridge/ResourceBridge.ts +16 -2
- package/dataLayer/rocksdbBackup.ts +88 -34
- package/dataLayer/schemaDescribe.ts +45 -1
- package/dist/bin/backup.js +1 -1
- package/dist/bin/backup.js.map +1 -1
- package/dist/components/Application.d.ts +11 -21
- package/dist/components/Application.js +436 -105
- package/dist/components/Application.js.map +1 -1
- package/dist/components/deploymentProvenance.d.ts +4 -0
- package/dist/components/deploymentProvenance.js +32 -0
- package/dist/components/deploymentProvenance.js.map +1 -0
- package/dist/components/operations.js +14 -7
- package/dist/components/operations.js.map +1 -1
- package/dist/components/packageComponent.js +6 -1
- package/dist/components/packageComponent.js.map +1 -1
- package/dist/dataLayer/blobBackup.d.ts +30 -3
- package/dist/dataLayer/blobBackup.js +73 -36
- package/dist/dataLayer/blobBackup.js.map +1 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +1 -0
- package/dist/dataLayer/harperBridge/ResourceBridge.js +15 -3
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/dataLayer/rocksdbBackup.d.ts +4 -1
- package/dist/dataLayer/rocksdbBackup.js +74 -36
- package/dist/dataLayer/rocksdbBackup.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +45 -1
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/resources/DatabaseTransaction.d.ts +1 -0
- package/dist/resources/DatabaseTransaction.js +33 -8
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +7 -3
- package/dist/resources/ResourceInterface.js +2 -0
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/Table.d.ts +151 -445
- package/dist/resources/Table.js +209 -8
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.d.ts +11 -0
- package/dist/resources/analytics/write.js +3 -0
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/blob.d.ts +30 -0
- package/dist/resources/blob.js +189 -1
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/databases.d.ts +1 -0
- package/dist/resources/databases.js +80 -15
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/derivedIndexRuntime.d.ts +13 -0
- package/dist/resources/derivedIndexRuntime.js +57 -5
- package/dist/resources/derivedIndexRuntime.js.map +1 -1
- package/dist/resources/derivedIndexes.d.ts +1 -0
- package/dist/resources/derivedIndexes.js +116 -15
- package/dist/resources/derivedIndexes.js.map +1 -1
- package/dist/resources/fullTextSchema.d.ts +5 -3
- package/dist/resources/fullTextSchema.js +48 -5
- package/dist/resources/fullTextSchema.js.map +1 -1
- package/dist/resources/fullTextSchemaLifecycle.d.ts +2 -0
- package/dist/resources/fullTextSchemaLifecycle.js +33 -0
- package/dist/resources/fullTextSchemaLifecycle.js.map +1 -1
- package/dist/resources/graphql.js +30 -12
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +21 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +114 -5
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/indexes/fullTextDerivedIndex.d.ts +11 -2
- package/dist/resources/indexes/fullTextDerivedIndex.js +187 -24
- package/dist/resources/indexes/fullTextDerivedIndex.js.map +1 -1
- package/dist/resources/indexes/fullTextNativeBinding.d.ts +99 -1
- package/dist/resources/indexes/fullTextNativeBinding.js +35 -1
- package/dist/resources/indexes/fullTextNativeBinding.js.map +1 -1
- package/dist/resources/indexes/fullTextQueryIndex.d.ts +58 -0
- package/dist/resources/indexes/fullTextQueryIndex.js +943 -0
- package/dist/resources/indexes/fullTextQueryIndex.js.map +1 -0
- package/dist/resources/indexes/fullTextQueryProtocol.d.ts +6 -0
- package/dist/resources/indexes/fullTextQueryProtocol.js +32 -0
- package/dist/resources/indexes/fullTextQueryProtocol.js.map +1 -0
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.d.ts +4 -1
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js +30 -7
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js.map +1 -1
- package/dist/resources/search.d.ts +41 -0
- package/dist/resources/search.js +468 -26
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/transactionBroadcast.js +101 -50
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/dist/resources/typeParity.d.ts +9 -0
- package/dist/resources/typeParity.js +3 -0
- package/dist/resources/typeParity.js.map +1 -0
- package/dist/server/REST.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +48 -8
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.d.ts +7 -0
- package/dist/server/serverHelpers/contentTypes.js +36 -23
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/uwsServer.js +28 -5
- package/dist/server/serverHelpers/uwsServer.js.map +1 -1
- package/dist/server/threads/itc.js +19 -0
- package/dist/server/threads/itc.js.map +1 -1
- package/dist/server/threads/manageThreads.d.ts +3 -0
- package/dist/server/threads/manageThreads.js +90 -23
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/utility/operation_authorization.js +25 -7
- package/dist/utility/operation_authorization.js.map +1 -1
- package/dist/utility/signalling.js +3 -0
- package/dist/utility/signalling.js.map +1 -1
- package/dist/validation/searchValidator.js +22 -2
- package/dist/validation/searchValidator.js.map +1 -1
- package/npm-shrinkwrap.json +22 -22
- package/package.json +2 -4
- package/resources/DESIGN.md +19 -2
- package/resources/DatabaseTransaction.ts +40 -10
- package/resources/FULL_TEXT.md +97 -0
- package/resources/ResourceInterface.ts +8 -2
- package/resources/Table.ts +767 -17
- package/resources/analytics/write.ts +3 -3
- package/resources/blob.ts +183 -1
- package/resources/databases.ts +126 -14
- package/resources/derivedIndexRuntime.ts +79 -6
- package/resources/derivedIndexes.ts +142 -18
- package/resources/fullTextSchema.ts +55 -9
- package/resources/fullTextSchemaLifecycle.ts +45 -0
- package/resources/graphql.ts +33 -12
- package/resources/indexes/DESIGN.md +167 -15
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +125 -5
- package/resources/indexes/fullTextDerivedIndex.ts +216 -32
- package/resources/indexes/fullTextNativeBinding.ts +133 -3
- package/resources/indexes/fullTextQueryIndex.ts +1120 -0
- package/resources/indexes/fullTextQueryProtocol.ts +35 -0
- package/resources/indexes/nativeFullTextDerivedIndexLifecycle.ts +28 -8
- package/resources/search.ts +513 -26
- package/resources/transactionBroadcast.ts +86 -47
- package/resources/typeParity.ts +20 -0
- package/schema.graphql +18 -5
- package/server/DESIGN.md +18 -0
- package/server/REST.ts +1 -1
- package/server/itc/serverHandlers.js +61 -8
- package/server/serverHelpers/contentTypes.ts +31 -26
- package/server/serverHelpers/uwsServer.ts +35 -7
- package/server/threads/itc.js +21 -0
- package/server/threads/manageThreads.js +95 -21
- package/studio/web/assets/{Chat-Bq60AO-g.js → Chat-CNEKMllJ.js} +13 -13
- package/studio/web/assets/FloatingChat-CEnWhHeR.js +23 -0
- package/studio/web/assets/SearchDialog-CwhJdEdY.js +1 -0
- package/studio/web/assets/{abnfDiagram-O67JEVCF-DpPZWMOf.js → abnfDiagram-O67JEVCF-raXE027J.js} +1 -1
- package/studio/web/assets/alertDialog-BbWD9Xxa.js +1 -0
- package/studio/web/assets/apiToken-DC5vsaaO.js +1 -0
- package/studio/web/assets/applications-DQZxDy0x.js +296 -0
- package/studio/web/assets/architecture-7GRP2DOG-DDmz3hpI.js +1 -0
- package/studio/web/assets/{architectureDiagram-NJMV4G6O-OmgLraID.js → architectureDiagram-NJMV4G6O-C8_Eet7w.js} +1 -1
- package/studio/web/assets/arrow-up-D2g_57vT.js +1 -0
- package/studio/web/assets/authStore-CJCaADw9.js +3 -0
- package/studio/web/assets/{blockDiagram-BEXU5L5S-Cv7CD3Ai.js → blockDiagram-BEXU5L5S-DR6S5-1D.js} +1 -1
- package/studio/web/assets/{button-MFP9n8Ck.js → button-DWwfgGWI.js} +2 -2
- package/studio/web/assets/{c4Diagram-YGBWAQC7-Ds1vKYnN.js → c4Diagram-YGBWAQC7-BAfZ1G01.js} +1 -1
- package/studio/web/assets/channel-D0AkPjJ8.js +1 -0
- package/studio/web/assets/{chevron-up-CFe8x5Bp.js → chevron-up-CFxbMGv2.js} +1 -1
- package/studio/web/assets/{chunk-3FUC2YCW-DpnBPH8B.js → chunk-3FUC2YCW-DuRp-j19.js} +1 -1
- package/studio/web/assets/{chunk-5DYCD2WN-LLLCQSzg.js → chunk-5DYCD2WN-BceBfIHT.js} +1 -1
- package/studio/web/assets/{chunk-742MDFTN-BL8J_pIO.js → chunk-742MDFTN-CIkt8ijt.js} +1 -1
- package/studio/web/assets/{chunk-7INBJB4K-C-hJHiiK.js → chunk-7INBJB4K-BpeAXyOi.js} +1 -1
- package/studio/web/assets/{chunk-7M6MHVWA-C6ZqkFbA.js → chunk-7M6MHVWA-h6WlaTzO.js} +1 -1
- package/studio/web/assets/{chunk-7PRAP22T-CUXM8BG6.js → chunk-7PRAP22T-KyqX6x3f.js} +1 -1
- package/studio/web/assets/{chunk-GTNCS2PH-DJ2BFvS1.js → chunk-GTNCS2PH-DGHLXyow.js} +1 -1
- package/studio/web/assets/{chunk-GWA4HPMP-C42bSqLL.js → chunk-GWA4HPMP-DsejB6gA.js} +1 -1
- package/studio/web/assets/{chunk-MBY4JIJT-C-5jz6Lo.js → chunk-MBY4JIJT-BwSGweQP.js} +1 -1
- package/studio/web/assets/{chunk-NETBCI7D-D-bzlN4r.js → chunk-NETBCI7D-C8UnOw_f.js} +1 -1
- package/studio/web/assets/{chunk-O7XYJQB3-ep14zA23.js → chunk-O7XYJQB3-CBS3nZYV.js} +1 -1
- package/studio/web/assets/{chunk-UA2S7LBM-BMRWRHED.js → chunk-UA2S7LBM-BHpEdH8D.js} +1 -1
- package/studio/web/assets/{chunk-WEXAMYUT-DdLYVdX1.js → chunk-WEXAMYUT-BAIhTwyh.js} +1 -1
- package/studio/web/assets/{chunk-Z7XXMR3K-BmKEDjcP.js → chunk-Z7XXMR3K-DSHbImdf.js} +1 -1
- package/studio/web/assets/{chunk-ZIGJFQKS-DLZgdNxA.js → chunk-ZIGJFQKS-Cs8fUn7y.js} +1 -1
- package/studio/web/assets/{classDiagram-v2-NBCMYWYE-DOI5vgKT.js → classDiagram-v2-NBCMYWYE-DmDPkt2u.js} +1 -1
- package/studio/web/assets/cn-6T8VranJ.js +1 -0
- package/studio/web/assets/{codicon-Brq4_Ui5.ttf → codicon-DF1abBS2.ttf} +0 -0
- package/studio/web/assets/{createLucideIcon-bziYxJli.js → createLucideIcon-fO5dL7D5.js} +1 -1
- package/studio/web/assets/{css.worker-l1psR_wG.js → css.worker-DoT-OOzx.js} +36 -36
- package/studio/web/assets/{cssMode-DJyc9mHj.js → cssMode-Dz2DxF4e.js} +1 -1
- package/studio/web/assets/{cynefin-OW5HDTMX-BSW-DB7S.js → cynefin-OW5HDTMX-DIvbXLSj.js} +1 -1
- package/studio/web/assets/{cynefinDiagram-VND7K2PF-CbAHEwxt.js → cynefinDiagram-VND7K2PF-BdtaXiCE.js} +1 -1
- package/studio/web/assets/{dagre-6A5THRUB-Csxewgs4.js → dagre-6A5THRUB-C7RUWHyz.js} +1 -1
- package/studio/web/assets/{diagram-22UHCM2B-a0rt8tY4.js → diagram-22UHCM2B-DJCvcaWP.js} +1 -1
- package/studio/web/assets/{diagram-3UASUU5V-lEj2SVNh.js → diagram-3UASUU5V-Du6VKWln.js} +1 -1
- package/studio/web/assets/{diagram-ATOU4E4O-HcrAeB-q.js → diagram-ATOU4E4O-dxRfeG4B.js} +1 -1
- package/studio/web/assets/{diagram-CDSNMT55-CYxiuyEx.js → diagram-CDSNMT55-l5Ga0u-W.js} +1 -1
- package/studio/web/assets/{diagram-MLGK6HIB-ChbCJTgJ.js → diagram-MLGK6HIB-CNQY47LA.js} +1 -1
- package/studio/web/assets/{diagram-MPIPVDR6-DaX9Y-N3.js → diagram-MPIPVDR6-7prveD1B.js} +1 -1
- package/studio/web/assets/{dist-Cz2Y6-6G.js → dist-BrRuMUzt.js} +1 -1
- package/studio/web/assets/{download-CtostjYn.js → download-Cn6tPG4L.js} +1 -1
- package/studio/web/assets/{ebnfDiagram-ZINNZB2B-CwAsENB1.js → ebnfDiagram-ZINNZB2B-5OnkTpfi.js} +1 -1
- package/studio/web/assets/{editor-DDIsQfj6.js → editor-B3mjd3tz.js} +1 -1
- package/studio/web/assets/editor.worker-Yd1NR0QT.js +33 -0
- package/studio/web/assets/{elk-276RUBZZ-Hexg9E4D.js → elk-276RUBZZ-DxDQPjQT.js} +1 -1
- package/studio/web/assets/{erDiagram-OPXOYQCR-CeC-wwO1.js → erDiagram-OPXOYQCR-CQlCX84D.js} +1 -1
- package/studio/web/assets/eventmodeling-NTZA5JFV-DONQf5aG.js +1 -0
- package/studio/web/assets/flowDiagram-KWPJA3E3-BoZ8_QR1.js +1 -0
- package/studio/web/assets/{ganttDiagram-FUAMR5RP-C2_Hhl1-.js → ganttDiagram-FUAMR5RP-bloX3Voy.js} +1 -1
- package/studio/web/assets/{getAnalytics-CjthMQqF.js → getAnalytics-C0FHjtdQ.js} +1 -1
- package/studio/web/assets/{gitGraph-4MIJSDKK-xIk5Vuew.js → gitGraph-4MIJSDKK-BrXWmJt2.js} +1 -1
- package/studio/web/assets/{gitGraphDiagram-X574FWY7-CMxJ34up.js → gitGraphDiagram-X574FWY7-C2KnnZeY.js} +1 -1
- package/studio/web/assets/{html-g1BJHxLy.js → html-BsRGM7tp.js} +1 -1
- package/studio/web/assets/{html.worker-DdwM4IrA.js → html.worker-B1dwY0Ay.js} +27 -27
- package/studio/web/assets/{htmlMode-Vh5IglCQ.js → htmlMode-tUKJaA3o.js} +1 -1
- package/studio/web/assets/index-72cEH474.css +1 -0
- package/studio/web/assets/index-BuqFjN5K.js +828 -0
- package/studio/web/assets/index.lazy-CcpfQFY_.js +2 -0
- package/studio/web/assets/{info-A6RAGUB7-o49TEbj-.js → info-A6RAGUB7-BhzBHe4U.js} +1 -1
- package/studio/web/assets/{infoDiagram-VRGFBTTK-Cjhh7yzZ.js → infoDiagram-VRGFBTTK-B0J1132p.js} +1 -1
- package/studio/web/assets/{ishikawaDiagram-OU5B5YK6-C63aXRmh.js → ishikawaDiagram-OU5B5YK6-BNk0tuQx.js} +1 -1
- package/studio/web/assets/{javascript-5VIolqf7.js → javascript-BZ_uRGHl.js} +1 -1
- package/studio/web/assets/{journeyDiagram-ZHPQQLJL-D_o0P5Mu.js → journeyDiagram-ZHPQQLJL-Be79RMQM.js} +1 -1
- package/studio/web/assets/json.worker-BQqXGI3X.js +65 -0
- package/studio/web/assets/{jsonMode-DG4zQraI.js → jsonMode-DgB-aFMj.js} +1 -1
- package/studio/web/assets/{kanban-definition-PNTS6WVX-CTI9SSxY.js → kanban-definition-PNTS6WVX-4uuoQP9W.js} +1 -1
- package/studio/web/assets/{languageServices-t5FBpX-i.js → languageServices-BleuBw17.js} +1 -1
- package/studio/web/assets/localStorageKeys-etzFY_xV.js +1 -0
- package/studio/web/assets/{lspLanguageFeatures-DgVnNPh-.js → lspLanguageFeatures-ByVYLSsQ.js} +1 -1
- package/studio/web/assets/{mermaid-parser.core-C2lcH_jP.js → mermaid-parser.core-V1UYMeXV.js} +3 -3
- package/studio/web/assets/{mermaid.core-BG5bjfIG.js → mermaid.core-1PX6R49U.js} +4 -4
- package/studio/web/assets/{mindmap-definition-NLK3R4M7-BK7ho6JD.js → mindmap-definition-NLK3R4M7-C70Ctm0J.js} +1 -1
- package/studio/web/assets/notifications-D1Nf-Edn.js +1 -0
- package/studio/web/assets/notifications-TuzN0IMi.js +1 -0
- package/studio/web/assets/{packet-AYTQ26CC-BHPy6KBV.js → packet-AYTQ26CC-DWbXHx5g.js} +1 -1
- package/studio/web/assets/{pegDiagram-GJSIUBJH-DzjwG3jO.js → pegDiagram-GJSIUBJH-d6z1cc7W.js} +1 -1
- package/studio/web/assets/{pie-WAS4IAKB-D0cP-DTU.js → pie-WAS4IAKB-DjoTm3yr.js} +1 -1
- package/studio/web/assets/{pieDiagram-5QR66LMP-C_hOP9Lv.js → pieDiagram-5QR66LMP-Dz3RHpDA.js} +1 -1
- package/studio/web/assets/profile-D7C7Lupz.js +1 -0
- package/studio/web/assets/{quadrantDiagram-O4NWA36T-CZW8PbV1.js → quadrantDiagram-O4NWA36T-CIF5Qkou.js} +1 -1
- package/studio/web/assets/{radar-RG4KPBEZ-C8fk0U81.js → radar-RG4KPBEZ-CVBgjCOj.js} +1 -1
- package/studio/web/assets/{railroad-74A4TZTK-B60FWm17.js → railroad-74A4TZTK-BdhXw10Q.js} +1 -1
- package/studio/web/assets/railroad-abnf-HS5TGJTU-BcoQPN39.js +1 -0
- package/studio/web/assets/railroad-ebnf-LZEXJU2U-B1Lke2JN.js +1 -0
- package/studio/web/assets/railroad-peg-WCYAUIDC-D-oJFkiV.js +1 -0
- package/studio/web/assets/{railroadDiagram-XR7U4H2S-DyyNmgbU.js → railroadDiagram-XR7U4H2S-y3Jv2U6N.js} +1 -1
- package/studio/web/assets/regions-nGQCm-v8.js +1 -0
- package/studio/web/assets/register-C3x9Ze6P.js +909 -0
- package/studio/web/assets/register-DjpsE8to.css +1 -0
- package/studio/web/assets/{requirementDiagram-PLB6GJNP-C4H-mLKu.js → requirementDiagram-PLB6GJNP-ChINZEmu.js} +1 -1
- package/studio/web/assets/restartGate-nHAFLDh-.js +1 -0
- package/studio/web/assets/{sankeyDiagram-IPEJSGJF-DHDyga4c.js → sankeyDiagram-IPEJSGJF-D9AyLce2.js} +1 -1
- package/studio/web/assets/{sequenceDiagram-PO4LG4MO-CdNcHXRI.js → sequenceDiagram-PO4LG4MO-hfk4aIEm.js} +1 -1
- package/studio/web/assets/{setComponentFile-z4-qJCbA.js → setComponentFile-DpjrRqeG.js} +1 -1
- package/studio/web/assets/{setup-CS50uJ4x.js → setup-CGiKLZ9e.js} +2 -2
- package/studio/web/assets/{stateDiagram-v2-GCMORJYK-CpKuXq15.js → stateDiagram-v2-GCMORJYK-Bs8RIb9K.js} +1 -1
- package/studio/web/assets/status-CGJwrNPH.js +61 -0
- package/studio/web/assets/{swimlanes-2SLR337P-NRHa2D8I.js → swimlanes-2SLR337P-B52xrf6t.js} +1 -1
- package/studio/web/assets/swimlanesDiagram-TC7HE7FX-DfN7BAP5.js +8 -0
- package/studio/web/assets/tabs-BCTQzoQK.js +1 -0
- package/studio/web/assets/{timeline-definition-EJHVYXUP-D39Y-xpq.js → timeline-definition-EJHVYXUP-DJSITpQX.js} +1 -1
- package/studio/web/assets/toggleHighContrast-C-Ne6P7T.js +51 -0
- package/studio/web/assets/toggleHighContrast-n7clI0si.css +1 -0
- package/studio/web/assets/{treeView-Q6P3EWNA-CRWR9OqD.js → treeView-Q6P3EWNA-C-epdxRo.js} +1 -1
- package/studio/web/assets/{treemap-WGGIJYW6-ZfXyJgLO.js → treemap-WGGIJYW6-DOVyp_zw.js} +1 -1
- package/studio/web/assets/{ts.worker-DDMUrpqh.js → ts.worker-Clm12uY6.js} +131 -131
- package/studio/web/assets/{tsMode-D83Gg3cq.js → tsMode-CSreYTys.js} +1 -1
- package/studio/web/assets/{typescript-Dfp-GrNq.js → typescript-MnxBk89W.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-BKetlINf.js → useEntityRestURL-TNrh77-s.js} +1 -1
- package/studio/web/assets/{usecaseDiagram-POWQR4AR-jf-zIDZ_.js → usecaseDiagram-POWQR4AR-B6252cbq.js} +1 -1
- package/studio/web/assets/{vendor-core-BdkdbUek.js → vendor-core-6LhfJlRC.js} +1 -1
- package/studio/web/assets/vendor-datadog-ozKf-pts.js +6 -0
- package/studio/web/assets/{vendor-react-izWchTRL.js → vendor-react-BOliS0BL.js} +1 -1
- package/studio/web/assets/vendor-tanstack-Bntfka-M.js +2 -0
- package/studio/web/assets/vendor-ui-9EYYDgoN.js +41 -0
- package/studio/web/assets/{vennDiagram-UO4OBE2U-BKYAZUh_.js → vennDiagram-UO4OBE2U-DZTsDA4k.js} +1 -1
- package/studio/web/assets/{wardley-WFR3VGLG-BO7f36ci.js → wardley-WFR3VGLG-Cfqoe6z4.js} +1 -1
- package/studio/web/assets/{wardleyDiagram-VNRHLVJA-Djb0JDQc.js → wardleyDiagram-VNRHLVJA-qu_f7Tvl.js} +1 -1
- package/studio/web/assets/{workers-CCvmDLH3.js → workers-BfZlUNVI.js} +3 -3
- package/studio/web/assets/{xml-06pZp00U.js → xml-BHd6qGH7.js} +1 -1
- package/studio/web/assets/{xychartDiagram-PMCCYNJV-BQh9ubvb.js → xychartDiagram-PMCCYNJV-UrOKRsmR.js} +1 -1
- package/studio/web/assets/{yaml-iSnWMVlV.js → yaml-C53R8OQq.js} +1 -1
- package/studio/web/assets/{yaml.worker-DAK2o_H1.js → yaml.worker-D9JekGdp.js} +183 -183
- package/studio/web/index.html +15 -15
- package/utility/operation_authorization.ts +27 -7
- package/utility/signalling.ts +3 -0
- package/validation/searchValidator.ts +22 -13
- package/studio/web/assets/FloatingChat-D4560T0p.js +0 -23
- package/studio/web/assets/alertDialog-UrbiMgQt.js +0 -1
- package/studio/web/assets/apiToken-BEvbFPMc.js +0 -1
- package/studio/web/assets/applications-CSUVTH4E.js +0 -296
- package/studio/web/assets/architecture-7GRP2DOG-11l4Ny1l.js +0 -1
- package/studio/web/assets/authStore-5jSS5pTW.js +0 -3
- package/studio/web/assets/channel-BDtouPd6.js +0 -1
- package/studio/web/assets/dialog-DTepachC.js +0 -1
- package/studio/web/assets/editor.worker-CkkvdXvO.js +0 -33
- package/studio/web/assets/eventmodeling-NTZA5JFV-CFb03e0o.js +0 -1
- package/studio/web/assets/flowDiagram-KWPJA3E3-Cidi00_Y.js +0 -1
- package/studio/web/assets/index-CPoDzQTe.css +0 -1
- package/studio/web/assets/index-DGRAzvO4.js +0 -824
- package/studio/web/assets/index.lazy-vgSic7et.js +0 -2
- package/studio/web/assets/json.worker-CSi2hF-a.js +0 -65
- package/studio/web/assets/notifications-BeWcX04m.js +0 -1
- package/studio/web/assets/notifications-DUGWrWoO.js +0 -1
- package/studio/web/assets/profile-BvUEDBzW.js +0 -1
- package/studio/web/assets/railroad-abnf-HS5TGJTU-CLMVZvH0.js +0 -1
- package/studio/web/assets/railroad-ebnf-LZEXJU2U--tlwFoVB.js +0 -1
- package/studio/web/assets/railroad-peg-WCYAUIDC-Dpuslblm.js +0 -1
- package/studio/web/assets/regions-CB-_2m7M.js +0 -1
- package/studio/web/assets/register-1w1Zr3b2.js +0 -848
- package/studio/web/assets/register-jjEx9u7D.css +0 -1
- package/studio/web/assets/setLocalStorage-D_kflv4U.js +0 -1
- package/studio/web/assets/status-CI0wOdOE.js +0 -61
- package/studio/web/assets/swimlanesDiagram-TC7HE7FX-BBk4t4hO.js +0 -8
- package/studio/web/assets/tabs-CnQ_zenf.js +0 -1
- package/studio/web/assets/toggleHighContrast--ixms01u.css +0 -1
- package/studio/web/assets/toggleHighContrast-BsAE4jPe.js +0 -49
- package/studio/web/assets/useLocalStorage-BYoZF60G.js +0 -1
- package/studio/web/assets/vendor-datadog-fCQhBHGk.js +0 -6
- package/studio/web/assets/vendor-tanstack-CQ1aRjVa.js +0 -2
- package/studio/web/assets/vendor-ui-aE1tHcW7.js +0 -41
- package/studio/web/assets/x-vYntCxm4.js +0 -1
|
@@ -1276,12 +1276,14 @@ function initStores(path, rootStore, databaseName, { defaultTable, auditPath, is
|
|
|
1276
1276
|
else if (warnings.length === 0)
|
|
1277
1277
|
warnedFullTextStates.delete(warningKey);
|
|
1278
1278
|
}
|
|
1279
|
+
const fullTextFields = (0, fullTextSchemaLifecycle_ts_1.readPersistedFullTextFields)(primaryAttribute.fullTextFields, primaryAttribute.fullTextIndexes, attributes, (message) => logger.warn(`${databaseName}.${tableName}: ${message}`));
|
|
1279
1280
|
const fullTextIndexGenerations = persistedFullTextIndexGenerations(primaryAttribute.fullTextIndexGenerations, fullTextIndexes);
|
|
1280
1281
|
const fullTextIndexRetirements = (0, fullTextSchema_ts_1.persistedFullTextIndexNames)(primaryAttribute.fullTextIndexRetirements);
|
|
1281
1282
|
if (table && !recreateTable) {
|
|
1282
1283
|
if (primaryAttribute.audit === true && table.audit !== true)
|
|
1283
1284
|
table.enableAuditing();
|
|
1284
1285
|
table.fullTextIndexes = fullTextIndexes;
|
|
1286
|
+
table.fullTextFields = fullTextFields;
|
|
1285
1287
|
table.fullTextIndexGenerations = fullTextIndexGenerations;
|
|
1286
1288
|
table.fullTextIndexRetirements = fullTextIndexRetirements;
|
|
1287
1289
|
indices = table.indices;
|
|
@@ -1430,6 +1432,7 @@ function initStores(path, rootStore, databaseName, { defaultTable, auditPath, is
|
|
|
1430
1432
|
indices,
|
|
1431
1433
|
attributes,
|
|
1432
1434
|
fullTextIndexes,
|
|
1435
|
+
fullTextFields,
|
|
1433
1436
|
fullTextIndexGenerations,
|
|
1434
1437
|
fullTextIndexRetirements,
|
|
1435
1438
|
schemaDefined: primaryAttribute.schemaDefined,
|
|
@@ -3036,7 +3039,7 @@ function reloadBranchAt(path) {
|
|
|
3036
3039
|
return branch.tables;
|
|
3037
3040
|
}
|
|
3038
3041
|
function declareTable(target, tableDefinition) {
|
|
3039
|
-
let { table: tableName, database: databaseName, expiration, eviction, scanInterval, attributes, audit, sealed, splitSegments, replicate, randomAccessFields, trackDeletes, schemaDefined, schemaRelationshipsDefined, origin, description, properties, hidden, cacheControl, isolatedApplicationOwner, fullTextIndexes, } = tableDefinition;
|
|
3042
|
+
let { table: tableName, database: databaseName, expiration, eviction, scanInterval, attributes, audit, sealed, splitSegments, replicate, randomAccessFields, trackDeletes, schemaDefined, schemaRelationshipsDefined, origin, description, properties, hidden, cacheControl, isolatedApplicationOwner, fullTextIndexes, fullTextFields, } = tableDefinition;
|
|
3040
3043
|
const auditExplicitlyEnabled = audit === true;
|
|
3041
3044
|
const auditExplicitlyDisabled = audit === false;
|
|
3042
3045
|
const fullTextIndexesExplicit = tableDefinition.fullTextIndexes !== undefined;
|
|
@@ -3245,6 +3248,7 @@ function declareTable(target, tableDefinition) {
|
|
|
3245
3248
|
let published = false;
|
|
3246
3249
|
let fullTextValuesForPersistence;
|
|
3247
3250
|
let fullTextPersistencePending = false;
|
|
3251
|
+
let fullTextFieldsForPersistence;
|
|
3248
3252
|
let activeFullTextIndexes;
|
|
3249
3253
|
let fullTextIndexGenerationMap = Object.create(null);
|
|
3250
3254
|
let fullTextIndexRetirementNames;
|
|
@@ -3289,20 +3293,33 @@ function declareTable(target, tableDefinition) {
|
|
|
3289
3293
|
validateHnswOptions(lockedAttributesDbi, auditExplicitlyEnabled || (!auditExplicitlyDisabled && persistedAuditUnderLock === true));
|
|
3290
3294
|
}
|
|
3291
3295
|
let persistedPrimary = persistedPrimaryDescriptor(Table.dbisDB);
|
|
3292
|
-
|
|
3296
|
+
const persistedFullTextState = (name, liveValue) => persistedPrimary.descriptor === undefined ? liveValue : persistedPrimary.descriptor[name];
|
|
3297
|
+
let persistedFullTextValues = persistedFullTextState('fullTextIndexes', Table.fullTextIndexes);
|
|
3298
|
+
if (origin === 'cluster') {
|
|
3299
|
+
const declaredFields = new Set((0, fullTextSchemaLifecycle_ts_1.readPersistedFullTextFields)(persistedFullTextState('fullTextFields', Table.fullTextFields), persistedFullTextValues, catalogAttributes(Table.dbisDB), fullTextWarning));
|
|
3300
|
+
attributes = attributes.filter((attribute) => {
|
|
3301
|
+
if (!declaredFields.has(attribute.name))
|
|
3302
|
+
return true;
|
|
3303
|
+
fullTextWarning(`Ignoring peer attribute '${attribute.name}'; the local full-text field is authoritative`);
|
|
3304
|
+
return false;
|
|
3305
|
+
});
|
|
3306
|
+
}
|
|
3293
3307
|
const incomingFullTextValues = fullTextIndexesExplicit ? fullTextIndexes : [];
|
|
3294
3308
|
let fullTextValidationAttributes;
|
|
3295
3309
|
if ((persistedFullTextValues !== undefined && (rootStore instanceof rocksdb_js_1.RocksDatabase || fullTextIndexesExplicit)) ||
|
|
3296
|
-
|
|
3310
|
+
persistedFullTextState('fullTextIndexRetirements', Table.fullTextIndexRetirements) !== undefined ||
|
|
3311
|
+
(persistedFullTextState('fullTextFields', Table.fullTextFields) !== undefined &&
|
|
3312
|
+
(rootStore instanceof rocksdb_js_1.RocksDatabase || fullTextIndexesExplicit || fullTextFields !== undefined)) ||
|
|
3313
|
+
(fullTextFields !== undefined && (!Array.isArray(fullTextFields) || fullTextFields.length > 0)) ||
|
|
3297
3314
|
Table.fullTextIndexes?.length > 0 ||
|
|
3298
3315
|
(fullTextIndexesExplicit && (!Array.isArray(incomingFullTextValues) || incomingFullTextValues.length > 0))) {
|
|
3299
3316
|
if (!(rootStore instanceof rocksdb_js_1.RocksDatabase)) {
|
|
3300
3317
|
exclusiveLock();
|
|
3301
3318
|
persistedPrimary = persistedPrimaryDescriptor(Table.dbisDB);
|
|
3302
|
-
persistedFullTextValues =
|
|
3319
|
+
persistedFullTextValues = persistedFullTextState('fullTextIndexes', Table.fullTextIndexes);
|
|
3303
3320
|
}
|
|
3304
3321
|
const originalAttributes = Table.attributes.slice();
|
|
3305
|
-
fullTextIndexRetirementNames = (0, fullTextSchema_ts_1.persistedFullTextIndexNames)(
|
|
3322
|
+
fullTextIndexRetirementNames = (0, fullTextSchema_ts_1.persistedFullTextIndexNames)(persistedFullTextState('fullTextIndexRetirements', Table.fullTextIndexRetirements));
|
|
3306
3323
|
const relationshipAttributes = originalAttributes.filter((attribute) => attribute.relationship);
|
|
3307
3324
|
const originalMetadata = {
|
|
3308
3325
|
description: Table.description,
|
|
@@ -3310,6 +3327,12 @@ function declareTable(target, tableDefinition) {
|
|
|
3310
3327
|
cacheControl: Table.cacheControl,
|
|
3311
3328
|
schemaDefined: Table.schemaDefined,
|
|
3312
3329
|
};
|
|
3330
|
+
const originalFullTextState = {
|
|
3331
|
+
indexes: Table.fullTextIndexes.slice(),
|
|
3332
|
+
fields: [...Table.fullTextFields],
|
|
3333
|
+
generations: Object.assign(Object.create(null), Table.fullTextIndexGenerations),
|
|
3334
|
+
retirements: [...Table.fullTextIndexRetirements],
|
|
3335
|
+
};
|
|
3313
3336
|
armFullTextLiveStateRestore = () => {
|
|
3314
3337
|
if (restoreFullTextLiveState)
|
|
3315
3338
|
return;
|
|
@@ -3323,12 +3346,23 @@ function declareTable(target, tableDefinition) {
|
|
|
3323
3346
|
Object.assign(Table, originalMetadata);
|
|
3324
3347
|
Table.properties = (0, jsonSchemaTypes_ts_1.projectAttributesToProperties)(restored);
|
|
3325
3348
|
const restoredPrimary = persistedPrimaryDescriptor(Table.dbisDB).descriptor;
|
|
3326
|
-
|
|
3327
|
-
|
|
3349
|
+
if (restoredPrimary === undefined) {
|
|
3350
|
+
Table.fullTextIndexes = originalFullTextState.indexes;
|
|
3351
|
+
Table.fullTextFields = originalFullTextState.fields;
|
|
3352
|
+
Table.fullTextIndexGenerations = originalFullTextState.generations;
|
|
3353
|
+
Table.fullTextIndexRetirements = originalFullTextState.retirements;
|
|
3354
|
+
Table.schemaVersion++;
|
|
3355
|
+
Table.updatedAttributes();
|
|
3356
|
+
(0, derivedIndexes_ts_1.refreshDerivedIndexes)(Table);
|
|
3357
|
+
return;
|
|
3358
|
+
}
|
|
3359
|
+
const restoredFullTextIndexes = rootStore instanceof rocksdb_js_1.RocksDatabase && restoredPrimary.audit === true
|
|
3360
|
+
? (0, fullTextSchemaLifecycle_ts_1.readPersistedFullTextDefinitions)(restoredPrimary.fullTextIndexes, restored, fullTextWarning)
|
|
3328
3361
|
: [];
|
|
3329
3362
|
Table.fullTextIndexes = restoredFullTextIndexes;
|
|
3330
|
-
Table.
|
|
3331
|
-
Table.
|
|
3363
|
+
Table.fullTextFields = (0, fullTextSchemaLifecycle_ts_1.readPersistedFullTextFields)(restoredPrimary.fullTextFields, restoredPrimary.fullTextIndexes, restored, fullTextWarning);
|
|
3364
|
+
Table.fullTextIndexGenerations = persistedFullTextIndexGenerations(restoredPrimary.fullTextIndexGenerations, restoredFullTextIndexes);
|
|
3365
|
+
Table.fullTextIndexRetirements = (0, fullTextSchema_ts_1.persistedFullTextIndexNames)(restoredPrimary.fullTextIndexRetirements);
|
|
3332
3366
|
Table.schemaVersion++;
|
|
3333
3367
|
Table.updatedAttributes();
|
|
3334
3368
|
(0, derivedIndexes_ts_1.refreshDerivedIndexes)(Table);
|
|
@@ -3355,7 +3389,14 @@ function declareTable(target, tableDefinition) {
|
|
|
3355
3389
|
// Before the full-text branches can write an interim descriptor; the check on the merged list
|
|
3356
3390
|
// below stays authoritative.
|
|
3357
3391
|
(0, embedHook_ts_1.assertDerivedFieldOwnership)(validationAttributes);
|
|
3358
|
-
const
|
|
3392
|
+
const validateFullTextFields = (definitions) => {
|
|
3393
|
+
const names = (0, fullTextSchema_ts_1.persistedFullTextIndexNames)(definitions).map((name) => ({ name }));
|
|
3394
|
+
if (origin === 'cluster')
|
|
3395
|
+
return (0, fullTextSchemaLifecycle_ts_1.mergePeerFullTextFields)(persistedFullTextState('fullTextFields', Table.fullTextFields), fullTextFields, persistedFullTextValues, definitions, validationAttributes, fullTextWarning);
|
|
3396
|
+
const requestedNames = new Set(names.map(({ name }) => name));
|
|
3397
|
+
return (0, fullTextSchema_ts_1.compileFullTextFields)(fullTextFields === undefined ? [...requestedNames] : fullTextFields, names, validationAttributes, true);
|
|
3398
|
+
};
|
|
3399
|
+
const persistedAudit = persistedPrimary.descriptor === undefined ? Table.audit : persistedPrimary.descriptor.audit;
|
|
3359
3400
|
const durableAudit = persistedAudit === true;
|
|
3360
3401
|
const finalAudit = origin === 'cluster'
|
|
3361
3402
|
? durableAudit
|
|
@@ -3378,11 +3419,12 @@ function declareTable(target, tableDefinition) {
|
|
|
3378
3419
|
}
|
|
3379
3420
|
else if (fullTextIndexesExplicit) {
|
|
3380
3421
|
const compiled = (0, fullTextSchema_ts_1.compileFullTextDefinitions)(incomingFullTextValues, validationAttributes);
|
|
3422
|
+
fullTextFieldsForPersistence = validateFullTextFields(compiled);
|
|
3381
3423
|
if (compiled.length > 0 && !(rootStore instanceof rocksdb_js_1.RocksDatabase))
|
|
3382
3424
|
throw new hdbError_ts_1.ClientError(`Table '${databaseName}.${tableName}' cannot use @fullText with the LMDB storage engine`, 400);
|
|
3383
3425
|
if (compiled.length > 0 && !finalAudit)
|
|
3384
3426
|
throw new hdbError_ts_1.ClientError(`Table '${databaseName}.${tableName}' must enable audit logging before using @fullText because its transaction log is the derived-index recovery source`, 400);
|
|
3385
|
-
const pinAudit = compiled.length > 0 &&
|
|
3427
|
+
const pinAudit = compiled.length > 0 && persistedAudit !== true;
|
|
3386
3428
|
const requestedNames = new Set(compiled.map(({ name }) => name));
|
|
3387
3429
|
const durableDefinitions = (0, fullTextSchemaLifecycle_ts_1.readPersistedFullTextDefinitions)(persistedFullTextValues, durableAttributes, fullTextWarning);
|
|
3388
3430
|
const removedNames = durableDefinitions.map(({ name }) => name).filter((name) => !requestedNames.has(name));
|
|
@@ -3409,13 +3451,18 @@ function declareTable(target, tableDefinition) {
|
|
|
3409
3451
|
const interimDefinitions = durableDefinitions.filter(({ name }) => requestedNames.has(name));
|
|
3410
3452
|
if (interimDefinitions.length > 0) {
|
|
3411
3453
|
interimPrimary.fullTextIndexes = interimDefinitions;
|
|
3412
|
-
interimPrimary.fullTextIndexGenerations = persistedFullTextIndexGenerations(
|
|
3454
|
+
interimPrimary.fullTextIndexGenerations = persistedFullTextIndexGenerations(persistedFullTextState('fullTextIndexGenerations', Table.fullTextIndexGenerations), interimDefinitions);
|
|
3413
3455
|
}
|
|
3414
3456
|
else {
|
|
3415
3457
|
delete interimPrimary.fullTextIndexes;
|
|
3416
3458
|
delete interimPrimary.fullTextIndexGenerations;
|
|
3417
3459
|
}
|
|
3418
|
-
const
|
|
3460
|
+
const interimFullTextFields = (0, fullTextSchemaLifecycle_ts_1.readPersistedFullTextFields)(persistedFullTextState('fullTextFields', Table.fullTextFields), persistedFullTextValues, durableAttributes, fullTextWarning).filter((name) => requestedNames.has(name));
|
|
3461
|
+
if (interimFullTextFields.length > 0)
|
|
3462
|
+
interimPrimary.fullTextFields = interimFullTextFields;
|
|
3463
|
+
else
|
|
3464
|
+
delete interimPrimary.fullTextFields;
|
|
3465
|
+
const retirements = new Set((0, fullTextSchema_ts_1.persistedFullTextIndexNames)(persistedFullTextState('fullTextIndexRetirements', Table.fullTextIndexRetirements)));
|
|
3419
3466
|
for (const name of transitionRetirements)
|
|
3420
3467
|
retirements.add(name);
|
|
3421
3468
|
for (const name of requestedNames)
|
|
@@ -3444,11 +3491,12 @@ function declareTable(target, tableDefinition) {
|
|
|
3444
3491
|
fullTextValuesForPersistence = persistedFullTextValues;
|
|
3445
3492
|
activeFullTextIndexes = rootStore instanceof rocksdb_js_1.RocksDatabase && finalAudit ? retained : [];
|
|
3446
3493
|
}
|
|
3494
|
+
fullTextFieldsForPersistence ??= validateFullTextFields(fullTextValuesForPersistence);
|
|
3447
3495
|
}
|
|
3448
3496
|
if (activeFullTextIndexes !== undefined) {
|
|
3449
3497
|
const durableGenerationDefinitions = (0, fullTextSchemaLifecycle_ts_1.readPersistedFullTextDefinitions)(persistedFullTextValues, fullTextValidationAttributes ?? Table.attributes, fullTextWarning);
|
|
3450
3498
|
const finalGenerationDefinitions = (0, fullTextSchemaLifecycle_ts_1.readPersistedFullTextDefinitions)(fullTextValuesForPersistence ?? persistedFullTextValues, fullTextValidationAttributes ?? Table.attributes, fullTextWarning);
|
|
3451
|
-
fullTextIndexGenerationMap = (0, fullTextSchema_ts_1.reconcileFullTextIndexGenerations)(durableGenerationDefinitions,
|
|
3499
|
+
fullTextIndexGenerationMap = (0, fullTextSchema_ts_1.reconcileFullTextIndexGenerations)(durableGenerationDefinitions, persistedFullTextState('fullTextIndexGenerations', Table.fullTextIndexGenerations), finalGenerationDefinitions, createFullTextIndexGeneration);
|
|
3452
3500
|
(0, derivedIndexes_ts_1.assertFullTextActivationSupported)(rootStore, databaseName, tableName, activeFullTextIndexes);
|
|
3453
3501
|
if (activeFullTextIndexes.length > 0 &&
|
|
3454
3502
|
rootStore instanceof rocksdb_js_1.RocksDatabase &&
|
|
@@ -3528,12 +3576,20 @@ function declareTable(target, tableDefinition) {
|
|
|
3528
3576
|
activeFullTextIndexes = compiled;
|
|
3529
3577
|
}
|
|
3530
3578
|
}
|
|
3579
|
+
fullTextFieldsForPersistence =
|
|
3580
|
+
origin === 'cluster'
|
|
3581
|
+
? (0, fullTextSchemaLifecycle_ts_1.mergePeerFullTextFields)(undefined, fullTextFields, [], fullTextValuesForPersistence, attributes, fullTextWarning)
|
|
3582
|
+
: (0, fullTextSchema_ts_1.compileFullTextFields)(fullTextFields === undefined ? (0, fullTextSchema_ts_1.persistedFullTextIndexNames)(fullTextValuesForPersistence) : fullTextFields, (0, fullTextSchema_ts_1.persistedFullTextIndexNames)(fullTextValuesForPersistence).map((name) => ({ name })), attributes, true);
|
|
3531
3583
|
const auditStore = rootStore.auditStore;
|
|
3532
3584
|
primaryKeyAttribute = attributes.find((attribute) => attribute.isPrimaryKey) || {};
|
|
3533
3585
|
primaryKey = primaryKeyAttribute.name;
|
|
3534
3586
|
primaryKeyAttribute.isPrimaryKey = true;
|
|
3535
3587
|
primaryKeyAttribute.is_hash_attribute = true; // backward-compat: harperdb@4.x reads this field to open the DBI with correct flags
|
|
3536
3588
|
primaryKeyAttribute.schemaDefined = schemaDefined;
|
|
3589
|
+
if (fullTextFieldsForPersistence.length > 0)
|
|
3590
|
+
primaryKeyAttribute.fullTextFields = fullTextFieldsForPersistence;
|
|
3591
|
+
else
|
|
3592
|
+
delete primaryKeyAttribute.fullTextFields;
|
|
3537
3593
|
// Old readers treat every attribute row as live schema, so relationships stay on the ignored primary descriptor.
|
|
3538
3594
|
if (relationshipDefinitions)
|
|
3539
3595
|
primaryKeyAttribute.relationships = relationshipDefinitions;
|
|
@@ -3676,6 +3732,7 @@ function declareTable(target, tableDefinition) {
|
|
|
3676
3732
|
indices: {},
|
|
3677
3733
|
attributes,
|
|
3678
3734
|
fullTextIndexes: activeFullTextIndexes ?? [],
|
|
3735
|
+
fullTextFields: fullTextFieldsForPersistence,
|
|
3679
3736
|
fullTextIndexGenerations: fullTextIndexGenerationMap,
|
|
3680
3737
|
fullTextIndexRetirements: fullTextIndexRetirementNames ?? [],
|
|
3681
3738
|
schemaDefined,
|
|
@@ -4100,17 +4157,22 @@ function declareTable(target, tableDefinition) {
|
|
|
4100
4157
|
}
|
|
4101
4158
|
if (!deferredPrimaryRow &&
|
|
4102
4159
|
(fullTextPersistencePending ||
|
|
4160
|
+
fullTextFieldsForPersistence !== undefined ||
|
|
4103
4161
|
(rootStore instanceof rocksdb_js_1.RocksDatabase &&
|
|
4104
4162
|
activeFullTextIndexes !== undefined &&
|
|
4105
4163
|
Array.isArray(fullTextValuesForPersistence)))) {
|
|
4106
4164
|
const { key, descriptor } = persistedPrimaryDescriptor(attributesDbi);
|
|
4107
4165
|
if (descriptor && !tableIsDropping(descriptor, key)) {
|
|
4108
4166
|
const updatedPrimary = { ...descriptor };
|
|
4167
|
+
if (fullTextFieldsForPersistence?.length)
|
|
4168
|
+
updatedPrimary.fullTextFields = fullTextFieldsForPersistence;
|
|
4169
|
+
else if (fullTextFieldsForPersistence)
|
|
4170
|
+
delete updatedPrimary.fullTextFields;
|
|
4109
4171
|
if (Array.isArray(fullTextValuesForPersistence) && fullTextValuesForPersistence.length > 0) {
|
|
4110
4172
|
updatedPrimary.fullTextIndexes = fullTextValuesForPersistence;
|
|
4111
4173
|
updatedPrimary.fullTextIndexGenerations = fullTextIndexGenerationMap;
|
|
4112
4174
|
}
|
|
4113
|
-
else {
|
|
4175
|
+
else if (Array.isArray(fullTextValuesForPersistence)) {
|
|
4114
4176
|
delete updatedPrimary.fullTextIndexes;
|
|
4115
4177
|
delete updatedPrimary.fullTextIndexGenerations;
|
|
4116
4178
|
}
|
|
@@ -4127,6 +4189,7 @@ function declareTable(target, tableDefinition) {
|
|
|
4127
4189
|
else
|
|
4128
4190
|
delete updatedPrimary.fullTextIndexRetirements;
|
|
4129
4191
|
if (!(0, fullTextSchemaLifecycle_ts_1.definitionsEqual)(descriptor.fullTextIndexes, updatedPrimary.fullTextIndexes) ||
|
|
4192
|
+
!(0, fullTextSchemaLifecycle_ts_1.definitionsEqual)(descriptor.fullTextFields, updatedPrimary.fullTextFields) ||
|
|
4130
4193
|
JSON.stringify(descriptor.fullTextIndexGenerations ?? {}) !==
|
|
4131
4194
|
JSON.stringify(updatedPrimary.fullTextIndexGenerations ?? {}) ||
|
|
4132
4195
|
JSON.stringify(descriptor.fullTextIndexRetirements ?? []) !==
|
|
@@ -4199,6 +4262,8 @@ function declareTable(target, tableDefinition) {
|
|
|
4199
4262
|
finally {
|
|
4200
4263
|
releaseLock();
|
|
4201
4264
|
}
|
|
4265
|
+
if (fullTextFieldsForPersistence !== undefined)
|
|
4266
|
+
Table.fullTextFields = fullTextFieldsForPersistence;
|
|
4202
4267
|
if (activeFullTextIndexes !== undefined) {
|
|
4203
4268
|
Table.fullTextIndexes = activeFullTextIndexes;
|
|
4204
4269
|
Table.fullTextIndexGenerations = fullTextIndexGenerationMap;
|