@harperfast/harper 5.2.0-alpha.6 → 5.2.0-beta.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/bin/cliOperations.ts +76 -12
- package/bin/run.ts +10 -0
- package/bin/status.ts +1 -1
- package/components/Application.ts +146 -83
- package/components/Scope.ts +4 -0
- package/components/componentLoader.ts +7 -0
- package/components/operations.js +21 -1
- package/config/configUtils.ts +139 -5
- package/config-app.schema.json +70 -0
- package/dataLayer/harperBridge/ResourceBridge.ts +7 -0
- package/dist/bin/cliOperations.js +76 -12
- package/dist/bin/cliOperations.js.map +1 -1
- package/dist/bin/run.js +9 -0
- package/dist/bin/run.js.map +1 -1
- package/dist/bin/status.js +1 -1
- package/dist/bin/status.js.map +1 -1
- package/dist/components/Application.d.ts +12 -5
- package/dist/components/Application.js +121 -60
- package/dist/components/Application.js.map +1 -1
- package/dist/components/Scope.d.ts +1 -0
- package/dist/components/Scope.js +4 -0
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/componentLoader.js +7 -0
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/operations.js +20 -1
- package/dist/components/operations.js.map +1 -1
- package/dist/config/configUtils.d.ts +31 -0
- package/dist/config/configUtils.js +127 -5
- package/dist/config/configUtils.js.map +1 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.js +8 -0
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/resources/DatabaseTransaction.d.ts +12 -0
- package/dist/resources/DatabaseTransaction.js +97 -0
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/RequestTarget.js +13 -3
- package/dist/resources/RequestTarget.js.map +1 -1
- package/dist/resources/Resource.js +21 -2
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/Table.d.ts +3 -1
- package/dist/resources/Table.js +48 -5
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/metadata.d.ts +3 -0
- package/dist/resources/analytics/metadata.js +3 -0
- package/dist/resources/analytics/metadata.js.map +1 -1
- package/dist/resources/analytics/write.js +22 -0
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/databases.js +21 -0
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/defineResource.js +20 -7
- package/dist/resources/defineResource.js.map +1 -1
- package/dist/resources/jsResource.d.ts +24 -0
- package/dist/resources/jsResource.js +58 -2
- package/dist/resources/jsResource.js.map +1 -1
- package/dist/resources/openApi.js +45 -20
- package/dist/resources/openApi.js.map +1 -1
- package/dist/resources/scheduler/CronExpression.d.ts +71 -0
- package/dist/resources/scheduler/CronExpression.js +367 -0
- package/dist/resources/scheduler/CronExpression.js.map +1 -0
- package/dist/resources/scheduler/engine.d.ts +91 -0
- package/dist/resources/scheduler/engine.js +767 -0
- package/dist/resources/scheduler/engine.js.map +1 -0
- package/dist/resources/scheduler/scheduler.d.ts +33 -0
- package/dist/resources/scheduler/scheduler.js +200 -0
- package/dist/resources/scheduler/scheduler.js.map +1 -0
- package/dist/security/auth.js +1 -0
- package/dist/security/auth.js.map +1 -1
- package/dist/security/jsLoader.js +8 -0
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/keys.d.ts +32 -0
- package/dist/security/keys.js +147 -0
- package/dist/security/keys.js.map +1 -1
- package/dist/server/REST.js +67 -1
- package/dist/server/REST.js.map +1 -1
- package/dist/server/Server.d.ts +6 -0
- package/dist/server/Server.js.map +1 -1
- package/dist/server/http.d.ts +2 -0
- package/dist/server/http.js +139 -14
- package/dist/server/http.js.map +1 -1
- package/dist/server/operationsServer.js +3 -3
- package/dist/server/operationsServer.js.map +1 -1
- package/dist/server/serverHelpers/progressEmitter.js +5 -1
- package/dist/server/serverHelpers/progressEmitter.js.map +1 -1
- package/dist/server/threads/threadServer.js +9 -5
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/sqlEngine/binder/bind.d.ts +72 -0
- package/dist/sqlEngine/binder/bind.js +289 -0
- package/dist/sqlEngine/binder/bind.js.map +1 -0
- package/dist/sqlEngine/config.d.ts +35 -0
- package/dist/sqlEngine/config.js +62 -0
- package/dist/sqlEngine/config.js.map +1 -0
- package/dist/sqlEngine/diff/differential.d.ts +23 -0
- package/dist/sqlEngine/diff/differential.js +90 -0
- package/dist/sqlEngine/diff/differential.js.map +1 -0
- package/dist/sqlEngine/errors.d.ts +22 -0
- package/dist/sqlEngine/errors.js +36 -0
- package/dist/sqlEngine/errors.js.map +1 -0
- package/dist/sqlEngine/executor/runMutation.d.ts +35 -0
- package/dist/sqlEngine/executor/runMutation.js +352 -0
- package/dist/sqlEngine/executor/runMutation.js.map +1 -0
- package/dist/sqlEngine/executor/runSelect.d.ts +7 -0
- package/dist/sqlEngine/executor/runSelect.js +14 -0
- package/dist/sqlEngine/executor/runSelect.js.map +1 -0
- package/dist/sqlEngine/expressions/compile.d.ts +24 -0
- package/dist/sqlEngine/expressions/compile.js +326 -0
- package/dist/sqlEngine/expressions/compile.js.map +1 -0
- package/dist/sqlEngine/functions/aggregates.d.ts +12 -0
- package/dist/sqlEngine/functions/aggregates.js +299 -0
- package/dist/sqlEngine/functions/aggregates.js.map +1 -0
- package/dist/sqlEngine/functions/registry.d.ts +36 -0
- package/dist/sqlEngine/functions/registry.js +33 -0
- package/dist/sqlEngine/functions/registry.js.map +1 -0
- package/dist/sqlEngine/functions/standard.d.ts +9 -0
- package/dist/sqlEngine/functions/standard.js +86 -0
- package/dist/sqlEngine/functions/standard.js.map +1 -0
- package/dist/sqlEngine/index.d.ts +29 -0
- package/dist/sqlEngine/index.js +62 -0
- package/dist/sqlEngine/index.js.map +1 -0
- package/dist/sqlEngine/logical/build.d.ts +20 -0
- package/dist/sqlEngine/logical/build.js +326 -0
- package/dist/sqlEngine/logical/build.js.map +1 -0
- package/dist/sqlEngine/logical/op.d.ts +105 -0
- package/dist/sqlEngine/logical/op.js +10 -0
- package/dist/sqlEngine/logical/op.js.map +1 -0
- package/dist/sqlEngine/optimizer/joinAnalysis.d.ts +37 -0
- package/dist/sqlEngine/optimizer/joinAnalysis.js +144 -0
- package/dist/sqlEngine/optimizer/joinAnalysis.js.map +1 -0
- package/dist/sqlEngine/optimizer/optimize.d.ts +13 -0
- package/dist/sqlEngine/optimizer/optimize.js +53 -0
- package/dist/sqlEngine/optimizer/optimize.js.map +1 -0
- package/dist/sqlEngine/optimizer/ruleEngine.d.ts +7 -0
- package/dist/sqlEngine/optimizer/ruleEngine.js +26 -0
- package/dist/sqlEngine/optimizer/ruleEngine.js.map +1 -0
- package/dist/sqlEngine/optimizer/rules/limitPushdown.d.ts +19 -0
- package/dist/sqlEngine/optimizer/rules/limitPushdown.js +55 -0
- package/dist/sqlEngine/optimizer/rules/limitPushdown.js.map +1 -0
- package/dist/sqlEngine/optimizer/rules/planJoins.d.ts +19 -0
- package/dist/sqlEngine/optimizer/rules/planJoins.js +62 -0
- package/dist/sqlEngine/optimizer/rules/planJoins.js.map +1 -0
- package/dist/sqlEngine/optimizer/rules/predicateNormalize.d.ts +18 -0
- package/dist/sqlEngine/optimizer/rules/predicateNormalize.js +80 -0
- package/dist/sqlEngine/optimizer/rules/predicateNormalize.js.map +1 -0
- package/dist/sqlEngine/optimizer/rules/predicatePushdown.d.ts +11 -0
- package/dist/sqlEngine/optimizer/rules/predicatePushdown.js +48 -0
- package/dist/sqlEngine/optimizer/rules/predicatePushdown.js.map +1 -0
- package/dist/sqlEngine/optimizer/rules/projectionPushdown.d.ts +23 -0
- package/dist/sqlEngine/optimizer/rules/projectionPushdown.js +160 -0
- package/dist/sqlEngine/optimizer/rules/projectionPushdown.js.map +1 -0
- package/dist/sqlEngine/optimizer/rules/sortFromIndex.d.ts +14 -0
- package/dist/sqlEngine/optimizer/rules/sortFromIndex.js +49 -0
- package/dist/sqlEngine/optimizer/rules/sortFromIndex.js.map +1 -0
- package/dist/sqlEngine/optimizer/rules/validateScannable.d.ts +15 -0
- package/dist/sqlEngine/optimizer/rules/validateScannable.js +60 -0
- package/dist/sqlEngine/optimizer/rules/validateScannable.js.map +1 -0
- package/dist/sqlEngine/optimizer/whereToConditions.d.ts +85 -0
- package/dist/sqlEngine/optimizer/whereToConditions.js +484 -0
- package/dist/sqlEngine/optimizer/whereToConditions.js.map +1 -0
- package/dist/sqlEngine/parser/ast.d.ts +139 -0
- package/dist/sqlEngine/parser/ast.js +10 -0
- package/dist/sqlEngine/parser/ast.js.map +1 -0
- package/dist/sqlEngine/parser/normalizer.d.ts +28 -0
- package/dist/sqlEngine/parser/normalizer.js +413 -0
- package/dist/sqlEngine/parser/normalizer.js.map +1 -0
- package/dist/sqlEngine/parser/parse.d.ts +14 -0
- package/dist/sqlEngine/parser/parse.js +20 -0
- package/dist/sqlEngine/parser/parse.js.map +1 -0
- package/dist/sqlEngine/physical/PhysicalDistinct.d.ts +9 -0
- package/dist/sqlEngine/physical/PhysicalDistinct.js +29 -0
- package/dist/sqlEngine/physical/PhysicalDistinct.js.map +1 -0
- package/dist/sqlEngine/physical/PhysicalFilter.d.ts +10 -0
- package/dist/sqlEngine/physical/PhysicalFilter.js +25 -0
- package/dist/sqlEngine/physical/PhysicalFilter.js.map +1 -0
- package/dist/sqlEngine/physical/PhysicalHashAggregate.d.ts +27 -0
- package/dist/sqlEngine/physical/PhysicalHashAggregate.js +100 -0
- package/dist/sqlEngine/physical/PhysicalHashAggregate.js.map +1 -0
- package/dist/sqlEngine/physical/PhysicalHashJoin.d.ts +29 -0
- package/dist/sqlEngine/physical/PhysicalHashJoin.js +93 -0
- package/dist/sqlEngine/physical/PhysicalHashJoin.js.map +1 -0
- package/dist/sqlEngine/physical/PhysicalIndexNestedLoopJoin.d.ts +36 -0
- package/dist/sqlEngine/physical/PhysicalIndexNestedLoopJoin.js +78 -0
- package/dist/sqlEngine/physical/PhysicalIndexNestedLoopJoin.js.map +1 -0
- package/dist/sqlEngine/physical/PhysicalIndexScan.d.ts +22 -0
- package/dist/sqlEngine/physical/PhysicalIndexScan.js +77 -0
- package/dist/sqlEngine/physical/PhysicalIndexScan.js.map +1 -0
- package/dist/sqlEngine/physical/PhysicalLimit.d.ts +5 -0
- package/dist/sqlEngine/physical/PhysicalLimit.js +28 -0
- package/dist/sqlEngine/physical/PhysicalLimit.js.map +1 -0
- package/dist/sqlEngine/physical/PhysicalNestedLoopJoin.d.ts +20 -0
- package/dist/sqlEngine/physical/PhysicalNestedLoopJoin.js +51 -0
- package/dist/sqlEngine/physical/PhysicalNestedLoopJoin.js.map +1 -0
- package/dist/sqlEngine/physical/PhysicalProject.d.ts +18 -0
- package/dist/sqlEngine/physical/PhysicalProject.js +117 -0
- package/dist/sqlEngine/physical/PhysicalProject.js.map +1 -0
- package/dist/sqlEngine/physical/PhysicalQualify.d.ts +13 -0
- package/dist/sqlEngine/physical/PhysicalQualify.js +29 -0
- package/dist/sqlEngine/physical/PhysicalQualify.js.map +1 -0
- package/dist/sqlEngine/physical/PhysicalSort.d.ts +12 -0
- package/dist/sqlEngine/physical/PhysicalSort.js +59 -0
- package/dist/sqlEngine/physical/PhysicalSort.js.map +1 -0
- package/dist/sqlEngine/physical/op.d.ts +11 -0
- package/dist/sqlEngine/physical/op.js +9 -0
- package/dist/sqlEngine/physical/op.js.map +1 -0
- package/dist/sqlEngine/physical/plan.d.ts +23 -0
- package/dist/sqlEngine/physical/plan.js +162 -0
- package/dist/sqlEngine/physical/plan.js.map +1 -0
- package/dist/sqlEngine/router.d.ts +26 -0
- package/dist/sqlEngine/router.js +48 -0
- package/dist/sqlEngine/router.js.map +1 -0
- package/dist/sqlEngine/types.d.ts +37 -0
- package/dist/sqlEngine/types.js +13 -0
- package/dist/sqlEngine/types.js.map +1 -0
- package/dist/sqlTranslator/index.js +7 -1
- package/dist/sqlTranslator/index.js.map +1 -1
- package/dist/utility/common_utils.js +25 -0
- package/dist/utility/common_utils.js.map +1 -1
- package/dist/utility/install/installer.d.ts +9 -1
- package/dist/utility/install/installer.js +21 -0
- package/dist/utility/install/installer.js.map +1 -1
- package/dist/validation/configValidator.js +3 -0
- package/dist/validation/configValidator.js.map +1 -1
- package/dist/validation/deleteValidator.js +10 -2
- package/dist/validation/deleteValidator.js.map +1 -1
- package/npm-shrinkwrap.json +272 -230
- package/package.json +3 -3
- package/resources/DESIGN.md +17 -16
- package/resources/DatabaseTransaction.ts +95 -0
- package/resources/RequestTarget.ts +12 -3
- package/resources/Resource.ts +23 -2
- package/resources/Table.ts +57 -6
- package/resources/analytics/metadata.ts +3 -0
- package/resources/analytics/write.ts +23 -0
- package/resources/databases.ts +24 -0
- package/resources/defineResource.ts +17 -4
- package/resources/jsResource.ts +61 -2
- package/resources/openApi.ts +44 -19
- package/resources/scheduler/CronExpression.ts +394 -0
- package/resources/scheduler/engine.ts +812 -0
- package/resources/scheduler/scheduler.ts +236 -0
- package/security/auth.ts +1 -0
- package/security/jsLoader.ts +8 -0
- package/security/keys.ts +152 -0
- package/server/REST.ts +70 -1
- package/server/Server.ts +6 -0
- package/server/http.ts +122 -15
- package/server/operationsServer.ts +5 -3
- package/server/serverHelpers/progressEmitter.ts +5 -1
- package/server/threads/threadServer.js +9 -5
- package/sqlTranslator/index.ts +16 -6
- package/studio/web/assets/{Chat-CTjtL8Z4.js → Chat-DHP4XpID.js} +2 -2
- package/studio/web/assets/{Chat-CTjtL8Z4.js.map → Chat-DHP4XpID.js.map} +1 -1
- package/studio/web/assets/{FloatingChat-CafHR4Ur.js → FloatingChat-CJ7PssCv.js} +4 -4
- package/studio/web/assets/{FloatingChat-CafHR4Ur.js.map → FloatingChat-CJ7PssCv.js.map} +1 -1
- package/studio/web/assets/{applications-Buh_q0Vj.js → applications-DxXiGpsR.js} +2 -2
- package/studio/web/assets/{applications-Buh_q0Vj.js.map → applications-DxXiGpsR.js.map} +1 -1
- package/studio/web/assets/{index-0hXeECkS.js → index-BdbBanDP.js} +6 -6
- package/studio/web/assets/{index-0hXeECkS.js.map → index-BdbBanDP.js.map} +1 -1
- package/studio/web/assets/{index.lazy-B00B7VBT.js → index.lazy-B2eH28zD.js} +4 -4
- package/studio/web/assets/{index.lazy-B00B7VBT.js.map → index.lazy-B2eH28zD.js.map} +1 -1
- package/studio/web/assets/{profile-Cg2wwYPn.js → profile-DK5hgucv.js} +2 -2
- package/studio/web/assets/{profile-Cg2wwYPn.js.map → profile-DK5hgucv.js.map} +1 -1
- package/studio/web/assets/{setComponentFile-DCaDIvyB.js → setComponentFile-BVDWRYxx.js} +2 -2
- package/studio/web/assets/{setComponentFile-DCaDIvyB.js.map → setComponentFile-BVDWRYxx.js.map} +1 -1
- package/studio/web/assets/{setup-CAVcAQjK.js → setup-DJ9BInoK.js} +2 -2
- package/studio/web/assets/{setup-CAVcAQjK.js.map → setup-DJ9BInoK.js.map} +1 -1
- package/studio/web/assets/{status-BRXorNdD.js → status-B_qzmgfD.js} +2 -2
- package/studio/web/assets/{status-BRXorNdD.js.map → status-B_qzmgfD.js.map} +1 -1
- package/studio/web/assets/{swagger-ui-react-Dy1D62vO.js → swagger-ui-react-DOL5jCqg.js} +2 -2
- package/studio/web/assets/{swagger-ui-react-Dy1D62vO.js.map → swagger-ui-react-DOL5jCqg.js.map} +1 -1
- package/studio/web/assets/{tsMode-A8gbL74v.js → tsMode-DpxUxfTW.js} +2 -2
- package/studio/web/assets/{tsMode-A8gbL74v.js.map → tsMode-DpxUxfTW.js.map} +1 -1
- package/studio/web/assets/{useEntityRestURL-cDodrVcQ.js → useEntityRestURL-CU_lY6XW.js} +2 -2
- package/studio/web/assets/{useEntityRestURL-cDodrVcQ.js.map → useEntityRestURL-CU_lY6XW.js.map} +1 -1
- package/studio/web/index.html +1 -1
- package/utility/common_utils.ts +26 -0
- package/utility/install/installer.ts +26 -1
- package/validation/configValidator.ts +3 -0
- package/validation/deleteValidator.ts +11 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operationsServer.js","sourceRoot":"","sources":["../../server/operationsServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8C6B,qCAAS;AACT,6CAAiB;
|
|
1
|
+
{"version":3,"file":"operationsServer.js","sourceRoot":"","sources":["../../server/operationsServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8C6B,qCAAS;AACT,6CAAiB;AA4Q9C,oDAsBC;AAjVD,cAAc;AACd,sDAA8B;AAC9B,0DAA6B;AAC7B,kFAAoE;AACpE,GAAG,CAAC,QAAQ,EAAE,CAAC;AACf,8DAAgD;AAChD,2FAA+D;AAC/D,2EAA2D;AAC3D,sDAAuG;AACvG,yDAAqE;AACrE,iEAAgD;AAChD,6DAA4C;AAC5C,gGAAqE;AACrE,gDAA6B;AAC7B,gEAA0D;AAC1D,yEAA2D;AAC3D,wEAA0D;AAC1D,gEAAkD;AAClD,iDAAqD;AACrD,mDAAuF;AACvF,yEAM2C;AAC3C,uCAAoD;AACpD,qEAA0E;AAC1E,6DAAwD;AACxD,yDAAgE;AAGhE,wDAA0D;AAE1D,+DAA4D;AAC5D,6CAAgD;AAChD,iEAA6D;AAE7D,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,iBAAiB,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,wCAAwC,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,+BAA+B;AACtJ,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;AAChC,IAAI,MAAM,CAAC;AAKX;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAAkD;IACjF,IAAI,CAAC;QACJ,0BAAY,CAAC,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,0BAAY,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,0BAAY,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;QAExE,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,MAAM,CAAC,QAAQ,GAAG,iBAAO,CAAC,QAAQ,CAAC;QAEnC,MAAM,KAAK,EAAE,CAAC;QACd,6GAA6G;QAC7G,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;QAEvC,oCAAoC;QACpC,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAEjD,2FAA2F;QAC3F,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,CAAC;QAC3B,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC;QACrC,kCAAkC;QAClC,IAAI,CAAC;YACJ,yGAAyG;YACzG,gDAAgD;YAChD,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChD,4EAA4E;YAC5E,oFAAoF;YACpF,iFAAiF;YACjF,kFAAkF;YAClF,6EAA6E;YAC7E,qFAAqF;YACrF,qFAAqF;YACrF,sFAAsF;YACtF,sFAAsF;YACtF,+EAA+E;YAC/E,2CAA2C;YAC3C,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;gBAC3C,IAAI,OAAO,CAAC,IAAI;oBAAE,kBAAkB,CAAC,IAAI,CAAC,wBAAc,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAC1G,IAAI,OAAO,CAAC,UAAU;oBACrB,kBAAkB,CAAC,IAAI,CAAC,wBAAc,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACrG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU;oBACvC,kBAAkB,CAAC,IAAI,CAAC,wBAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,kFAAkF;YAClF,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;gBACrG,IAAI,IAAI;oBAAE,IAAA,iCAAuB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBACzC,sGAAsG;gBACtG,mDAAmD;gBACnD,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,0BAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,0BAAY,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAC1D,MAAM,GAAG,CAAC;QACX,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/D,0BAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,uEAAuE;QACvE,2DAA2D;QAC3D,IAAA,gCAAQ,EAAC,CAAC,CAAC,CAAC;IACb,CAAC;AACF,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,KAAK;IACnB,0BAAY,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAClD,YAAY,CAAC,qBAAqB,EAAE,CAAC;IACrC,OAAO,UAAU,CAAC,sBAAsB,EAAE,CAAC;AAC5C,CAAC;AAwCD;;GAEG;AACH,SAAS,WAAW,CAAC,OAAgB,EAAE,SAAoB;IAC1D,0BAAY,CAAC,KAAK,CAAC,oCAAoC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC;IAC7F,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,GAAG,GAAG,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC;IAEhC,qEAAqE;IACrE,GAAG,CAAC,MAAM,CAAC,cAAc,GAAG,sBAAsB,EAAE,CAAC;IAErD,gHAAgH;IAChH,2DAA2D;IAC3D,GAAG,CAAC,eAAe,CAAC,sCAAkB,CAAC,CAAC;IAExC,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAClC,IAAI,WAAW,EAAE,CAAC;QACjB,GAAG,CAAC,QAAQ,CAAC,cAAW,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,QAAQ,CAAC,UAAU,QAAQ,EAAE,OAAO,EAAE,IAAI;QAC7C,QAAQ,CAAC,kBAAkB,CAAC,UAAU,OAAO,EAAE,KAAK;YACnD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa;gBAAE,OAAO;YAC3E,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,IAAI,EAAE,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,QAAQ,CAAC,8BAAiB,CAAC,CAAC;IAEhC,+CAA+C;IAC/C,GAAG,CAAC,QAAQ,CAAC,kBAAe,EAAE;QAC7B,aAAa,EAAE;YACd,MAAM,EAAE;gBACP,CAAC,mBAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,mBAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,6CAA6C;gBAClH,CAAC,mBAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,oCAAoC;aAC9E;SACD;KACD,CAAC,CAAC;IACH,IAAA,yCAAuB,EAAC,GAAG,CAAC,CAAC;IAE7B,yEAAyE;IACzE,qEAAqE;IACrE,yEAAyE;IACzE,sEAAsE;IACtE,4EAA4E;IAC5E,MAAM,UAAU,GAAG,IAAA,6BAAY,GAAE,IAAI,EAAE,CAAC;IACxC,IAAI,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC;QAChC,IAAA,6BAAkB,EAAC;YAClB,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,UAAU;YAClB,kEAAkE;YAClE,8DAA8D;YAC9D,4DAA4D;YAC5D,YAAY,EAAE,EAAE,aAAa,EAAE,CAAC,8CAA0B,CAAC,EAAE;SAC7D,CAAC,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAE/C,4CAA4C;IAC5C,GAAG,CAAC,QAAQ,CAAC,gBAAa,EAAE,EAAE,IAAI,EAAE,cAAS,CAAC,IAAI,CAAC,8BAAY,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACpF,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,qBAAqB;IACrB,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,aAAa,EAAE,CAAC,8CAA0B,CAAC,EAAE,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE7G,kCAAkC;IAClC,GAAG,CAAC,IAAI,CACP,GAAG,EACH;QACC,aAAa,EAAE,CAAC,4CAAwB,EAAE,+BAAW,CAAC;QACtD,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;KAC7B,EACD,OAAO,CACP,CAAC;IAEF,0BAAY,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAEhG,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,IAAI,oBAAoB,GAAG,CAAC,CAAC;AAC7B,IAAI,+BAA+B,GAAG,KAAK,CAAC;AAC5C,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAsC,CAAC;AAE7E,SAAS,6BAA6B;IACrC,IAAI,+BAA+B;QAAE,OAAO;IAC5C,IAAA,kCAAe,EAAC,KAAK,CAAC,eAAe,CAAC,yBAAyB,EAAE,CAAC,EAAE,OAAO,EAAO,EAAE,EAAE;QACrF,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,OAAO,EAAE,CAAC;YACb,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC,CAAC,CAAC;IACH,+BAA+B,GAAG,IAAI,CAAC;AACxC,CAAC;AAED,SAAS,qBAAqB,CAAC,aAAqB;IACnD,6BAA6B,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC/C,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACrC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,yBAAW,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAC,CAAC;QAClF,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACjD,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAA,qBAAY,EAAC;YACZ,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,wBAAwB;YACpD,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE;SACrC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACzB,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAoB;IAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACpE,OAAO,KAAK,EAAE,GAAwF,EAAE,EAAE;QACzG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;YAChD,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;YAC1E,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAA,4BAAe,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,0BAAY,CAAC,IAAI,CAChB,UAAU,GAAG,CAAC,MAAM,CAAC,aAAa,2EAA2E,CAC7G,CAAC;YACF,OAAO,IAAI,yBAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CACnC,QAA4B,EAC5B,cAAkC,EAClC,GAA2C;IAE3C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7D,0JAA0J;IAC1J,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3F,mEAAmE;QACnE,IAAI,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC;YAC9B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;YACxB,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC5B,CAAC;IACF,CAAC;SAAM,CAAC;QACP,qFAAqF;QACrF,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;QACrB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,OAAO,CAAC,GAAoD,EAAE,KAAmB;IACzF,qGAAqG;IACrG,+EAA+E;IAC/E,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,8GAA8G;IAC9G,OAAO,IAAA,qCAAiB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAOD;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAgB;IACzC,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IAC5E,MAAM,kBAAkB,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAC;IACzF,OAAO;QACN,SAAS,EAAE,iBAAiB;QAC5B,iBAAiB,EAAE,cAAc;QACjC,gBAAgB,EAAE,kBAAkB;QACpC,qBAAqB,EAAE,IAAI;QAC3B,kBAAkB,EAAE,KAAK;QACzB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,2BAA2B,CAAC;QACzD,KAAK,EAAE,OAAO,CAAC;;YAEX;KACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW;IACnB,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACpE,MAAM,mBAAmB,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;IACxF,IAAI,WAA+B,CAAC;IAEpC,IAAI,SAAS,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,EAAE,CAAC;QACvF,WAAW,GAAG;YACb,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,QAAQ,CAAC;YAC3D,WAAW,EAAE,KAAK;SAClB,CAAC;QACF,IACC,mBAAmB;YACnB,mBAAmB,CAAC,MAAM,GAAG,CAAC;YAC9B,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI;YAC/B,mBAAmB,CAAC,CAAC,CAAC,KAAK,GAAG,EAC7B,CAAC;YACF,WAAW,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBACzC,OAAO,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC;QACH,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB;IAC9B,OAAO,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,oCAAoC,CAAC,IAAI,uBAAuB,CAAC;AAC/F,CAAC"}
|
|
@@ -141,7 +141,11 @@ function createSSEResponseStream(emitter, operation) {
|
|
|
141
141
|
* operand so every line is written regardless of the accumulated backpressure flag.
|
|
142
142
|
*/
|
|
143
143
|
function writeSSE(stream, event) {
|
|
144
|
-
|
|
144
|
+
// `JSON.stringify(undefined)` returns the `undefined` primitive, not a string, so fall back to
|
|
145
|
+
// '' via `??` — an event carrying no data still writes a valid (empty-payload) record instead
|
|
146
|
+
// of throwing a TypeError deep in the write path. An explicit `null` is preserved as the JSON
|
|
147
|
+
// value `null` for consumers replaying persisted events.
|
|
148
|
+
const data = typeof event.data === 'string' ? event.data : (JSON.stringify(event.data) ?? '');
|
|
145
149
|
let canWrite = stream.write(`event: ${event.event}\n`);
|
|
146
150
|
for (const line of data.split(/\r?\n/)) {
|
|
147
151
|
canWrite = stream.write(`data: ${line}\n`) && canWrite;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progressEmitter.js","sourceRoot":"","sources":["../../../server/serverHelpers/progressEmitter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"progressEmitter.js","sourceRoot":"","sources":["../../../server/serverHelpers/progressEmitter.ts"],"names":[],"mappings":";;;AA8EA,0DAkEC;AAhJD,6CAAoD;AASpD;;;;;GAKG;AACH,MAAa,eAAe;IACnB,SAAS,GAAuB,EAAE,CAAC;IAE3C;;;;OAIG;IACH,MAAM,CAAe;IAErB;;;;;;OAMG;IACH,MAAM,GAAG,KAAK,CAAC;IACP,YAAY,GAAsB,EAAE,CAAC;IAE7C,yFAAyF;IACzF,YAAY;QACX,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,4FAA4F;IAC5F,MAAM;QACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,IAAa;QAChC,mFAAmF;QACnF,uCAAuC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACxC,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC;gBACJ,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACR,yEAAyE;YAC1E,CAAC;QACF,CAAC;IACF,CAAC;IAED,SAAS,CAAC,QAA0B;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACX,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;IACH,CAAC;CACD;AAtDD,0CAsDC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,OAAwB,EAAE,SAAiC;IAClG,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;IACjC,0FAA0F;IAC1F,wFAAwF;IACxF,mFAAmF;IACnF,qFAAqF;IACrF,8CAA8C;IAC9C,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAElC,wFAAwF;IACxF,mFAAmF;IACnF,uFAAuF;IACvF,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAExC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/C,IAAI,MAAM,EAAE,CAAC;YACZ,qFAAqF;YACrF,oFAAoF;YACpF,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY;gBAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YACzC,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO;gBAAE,YAAY,GAAG,IAAI,CAAC;QAClD,CAAC;IACF,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,GAAG,EAAE;QACpB,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,KAAK,CAAC;YACf,WAAW,EAAE,CAAC;YACd,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,sFAAsF;YACtF,OAAO,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;IACF,CAAC,CAAC;IAEF,kFAAkF;IAClF,wFAAwF;IACxF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE1B,SAAS,EAAE;SACT,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QAChB,IAAI,MAAM;YAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,iFAAiF;QACjF,kFAAkF;QAClF,IAAI,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,QAAQ,CAAC,MAAM,EAAE;gBAChB,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE;oBACL,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC;oBACpC,IAAI,EAAE,GAAG,EAAE,UAAU,IAAI,GAAG,EAAE,IAAI;iBAClC;aACD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACb,OAAO,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEJ,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,MAAmB,EAAE,KAAoB;IAC1D,+FAA+F;IAC/F,8FAA8F;IAC9F,8FAA8F;IAC9F,yDAAyD;IACzD,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9F,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,QAAQ,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;AACvC,CAAC"}
|
|
@@ -16,7 +16,7 @@ const { restartNumber, getWorkerIndex, extendShutdownDeadline, restoreShutdownDe
|
|
|
16
16
|
const { runShutdownDrains, shutdownDrainsHaveWork, getShutdownDrainCeilingMs, } = require("../../components/shutdownDrain.js");
|
|
17
17
|
const { realExit } = require("./workerProcessGuard.js");
|
|
18
18
|
const { isBun } = require("../serverHelpers/Request.js");
|
|
19
|
-
const { createTLSSelector } = require("../../security/keys.js");
|
|
19
|
+
const { createTLSSelector, getEffectiveTlsCiphers } = require("../../security/keys.js");
|
|
20
20
|
const { startupLog } = require("../../bin/run.js");
|
|
21
21
|
const { SERVERS, setPortServerMap, portServer } = require("../serverRegistry.js");
|
|
22
22
|
const httpComponent = require("../http.js");
|
|
@@ -575,18 +575,22 @@ function onSocket(listener, options) {
|
|
|
575
575
|
if (options.securePort) {
|
|
576
576
|
setPortServerMap(options.securePort, { protocol_name: 'TLS', name: getComponentName() });
|
|
577
577
|
const SNICallback = createTLSSelector('server', options.mtls);
|
|
578
|
-
|
|
578
|
+
// OpenSSL takes the cipher list (and its @SECLEVEL) from the context the server was created with;
|
|
579
|
+
// a context swapped in by the SNI callback doesn't carry its own cipher list onto the connection.
|
|
580
|
+
// The listener-level string is therefore the only one honored — resolve it from every configured
|
|
581
|
+
// source (see resolveEffectiveTlsCiphers in keys.ts).
|
|
582
|
+
const effectiveCiphers = getEffectiveTlsCiphers('server', options.mtls);
|
|
579
583
|
socketServer = createSecureSocketServer({
|
|
580
584
|
rejectUnauthorized: Boolean(options.mtls?.required),
|
|
581
585
|
requestCert: Boolean(options.mtls),
|
|
582
586
|
noDelay: true, // don't delay for Nagle's algorithm, it is a relic of the past that slows things down: https://brooker.co.za/blog/2024/05/09/nagle.html
|
|
583
587
|
keepAlive: true,
|
|
584
588
|
keepAliveInitialDelay: 600, // 10 minute keep-alive, want to be proactive about closing unused connections
|
|
585
|
-
|
|
586
|
-
// count of how many node TLS bugs that makes
|
|
587
|
-
ciphers: tlsConfig.ciphers ?? tlsConfig[0]?.ciphers,
|
|
589
|
+
ciphers: effectiveCiphers,
|
|
588
590
|
SNICallback,
|
|
589
591
|
}, listener);
|
|
592
|
+
socketServer.appliedCiphers = effectiveCiphers ?? null;
|
|
593
|
+
socketServer.verifiesClientCerts = Boolean(options.mtls);
|
|
590
594
|
SNICallback.initialize(socketServer);
|
|
591
595
|
// Only opt out of reusePort on macOS, which doesn't reliably support SO_REUSEPORT on all
|
|
592
596
|
// socket types (ENOTSUP). Everywhere else, sharing the port lets every worker accept
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threadServer.js","sourceRoot":"","sources":["../../../server/threads/threadServer.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"threadServer.js","sourceRoot":"","sources":["../../../server/threads/threadServer.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Binder.
|
|
3
|
+
*
|
|
4
|
+
* Resolves the table references in a SelectNode to concrete Table classes via
|
|
5
|
+
* core/resources/databases.ts.
|
|
6
|
+
*
|
|
7
|
+
* Single-table SELECT (phase 1-2): fills `boundTable` with primaryKey +
|
|
8
|
+
* attribute names so downstream rules can validate columns. Column references
|
|
9
|
+
* keep their bare names and rows flow through the pipeline keyed by bare
|
|
10
|
+
* attribute name.
|
|
11
|
+
*
|
|
12
|
+
* Multi-table SELECT (phase 3, joins): additionally binds every joined table
|
|
13
|
+
* into an ordered `scope`, and resolves every column reference to the canonical
|
|
14
|
+
* alias of its owning table (mutating `column.table` in place). Ambiguous or
|
|
15
|
+
* unknown qualified references throw EngineUnsupportedError. Join rows flow
|
|
16
|
+
* through the pipeline keyed by `<alias>.<attribute>` (see expressions/compile
|
|
17
|
+
* `qualified` mode and physical/PhysicalQualify).
|
|
18
|
+
*/
|
|
19
|
+
import type { ExprNode, SelectNode, StatementNode, InsertNode, UpdateNode, DeleteNode } from '../parser/ast.ts';
|
|
20
|
+
interface AttributeInfo {
|
|
21
|
+
name: string;
|
|
22
|
+
indexed: boolean;
|
|
23
|
+
isPrimaryKey: boolean;
|
|
24
|
+
/** Whether the attribute's index can serve `value === null` conditions —
|
|
25
|
+
* search.ts rejects null-valued searches on an index without indexNulls,
|
|
26
|
+
* and the primary key never indexes nulls. */
|
|
27
|
+
indexNulls: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface BoundTable {
|
|
30
|
+
database: string;
|
|
31
|
+
table: string;
|
|
32
|
+
alias?: string;
|
|
33
|
+
/** alias ?? table — the name columns are qualified by in join queries. */
|
|
34
|
+
effectiveAlias: string;
|
|
35
|
+
primaryKey?: string;
|
|
36
|
+
attributes: AttributeInfo[];
|
|
37
|
+
resource: unknown;
|
|
38
|
+
}
|
|
39
|
+
export interface BoundSelect extends SelectNode {
|
|
40
|
+
boundTable: BoundTable;
|
|
41
|
+
/** FROM table plus every joined table, in declaration order. */
|
|
42
|
+
scope: BoundTable[];
|
|
43
|
+
/** true once joins are present and columns have been qualified. */
|
|
44
|
+
qualified: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface BindContext {
|
|
47
|
+
user?: unknown;
|
|
48
|
+
}
|
|
49
|
+
declare let _databasesLoader: (() => Record<string, Record<string, unknown>>) | null;
|
|
50
|
+
/**
|
|
51
|
+
* Override hook for tests. Restored to default by passing null.
|
|
52
|
+
*/
|
|
53
|
+
export declare function _setDatabasesLoader(loader: typeof _databasesLoader): void;
|
|
54
|
+
export interface BoundInsert extends InsertNode {
|
|
55
|
+
boundTable: BoundTable;
|
|
56
|
+
}
|
|
57
|
+
export interface BoundUpdate extends UpdateNode {
|
|
58
|
+
boundTable: BoundTable;
|
|
59
|
+
}
|
|
60
|
+
export interface BoundDelete extends DeleteNode {
|
|
61
|
+
boundTable: BoundTable;
|
|
62
|
+
}
|
|
63
|
+
export declare function bind(stmt: StatementNode, _ctx: BindContext): StatementNode;
|
|
64
|
+
export declare function bindSelect(stmt: SelectNode): BoundSelect;
|
|
65
|
+
/** Resolves a qualifier string (alias or table name) to the canonical alias. */
|
|
66
|
+
declare function resolveQualifier(qualifier: string, scope: BoundTable[]): BoundTable | undefined;
|
|
67
|
+
declare function resolveColumns(expr: ExprNode, scope: BoundTable[]): void;
|
|
68
|
+
export declare const _internal: {
|
|
69
|
+
resolveColumns: typeof resolveColumns;
|
|
70
|
+
resolveQualifier: typeof resolveQualifier;
|
|
71
|
+
};
|
|
72
|
+
export {};
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Binder.
|
|
4
|
+
*
|
|
5
|
+
* Resolves the table references in a SelectNode to concrete Table classes via
|
|
6
|
+
* core/resources/databases.ts.
|
|
7
|
+
*
|
|
8
|
+
* Single-table SELECT (phase 1-2): fills `boundTable` with primaryKey +
|
|
9
|
+
* attribute names so downstream rules can validate columns. Column references
|
|
10
|
+
* keep their bare names and rows flow through the pipeline keyed by bare
|
|
11
|
+
* attribute name.
|
|
12
|
+
*
|
|
13
|
+
* Multi-table SELECT (phase 3, joins): additionally binds every joined table
|
|
14
|
+
* into an ordered `scope`, and resolves every column reference to the canonical
|
|
15
|
+
* alias of its owning table (mutating `column.table` in place). Ambiguous or
|
|
16
|
+
* unknown qualified references throw EngineUnsupportedError. Join rows flow
|
|
17
|
+
* through the pipeline keyed by `<alias>.<attribute>` (see expressions/compile
|
|
18
|
+
* `qualified` mode and physical/PhysicalQualify).
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports._internal = void 0;
|
|
22
|
+
exports._setDatabasesLoader = _setDatabasesLoader;
|
|
23
|
+
exports.bind = bind;
|
|
24
|
+
exports.bindSelect = bindSelect;
|
|
25
|
+
const errors_ts_1 = require("../errors.js");
|
|
26
|
+
let _databasesLoader = null;
|
|
27
|
+
/**
|
|
28
|
+
* Override hook for tests. Restored to default by passing null.
|
|
29
|
+
*/
|
|
30
|
+
function _setDatabasesLoader(loader) {
|
|
31
|
+
_databasesLoader = loader;
|
|
32
|
+
}
|
|
33
|
+
function loadDatabases() {
|
|
34
|
+
if (_databasesLoader)
|
|
35
|
+
return _databasesLoader();
|
|
36
|
+
const mod = require('../../resources/databases.js');
|
|
37
|
+
return mod.getDatabases();
|
|
38
|
+
}
|
|
39
|
+
function bind(stmt, _ctx) {
|
|
40
|
+
switch (stmt.kind) {
|
|
41
|
+
case 'select':
|
|
42
|
+
return bindSelect(stmt);
|
|
43
|
+
case 'insert':
|
|
44
|
+
return bindInsert(stmt);
|
|
45
|
+
case 'update':
|
|
46
|
+
return bindUpdate(stmt);
|
|
47
|
+
case 'delete':
|
|
48
|
+
return bindDelete(stmt);
|
|
49
|
+
default:
|
|
50
|
+
throw new errors_ts_1.EngineUnsupportedError(`bind: unsupported statement kind`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Mutations are single-table. We resolve the target table to a BoundTable (the
|
|
55
|
+
* Resource class plus primaryKey/attributes) and leave column refs bare — the
|
|
56
|
+
* write executor evaluates assignment/value expressions against bare-keyed rows,
|
|
57
|
+
* exactly like the single-table SELECT path.
|
|
58
|
+
*/
|
|
59
|
+
function bindInsert(stmt) {
|
|
60
|
+
const boundTable = bindTableRef(stmt.table, loadDatabases());
|
|
61
|
+
return { ...stmt, table: { ...stmt.table, database: boundTable.database }, boundTable };
|
|
62
|
+
}
|
|
63
|
+
function bindUpdate(stmt) {
|
|
64
|
+
const boundTable = bindTableRef(stmt.table, loadDatabases());
|
|
65
|
+
// SET on the primary key can't be honored by Table.patch (identity is the call
|
|
66
|
+
// argument, not the payload) — reporting the row as updated would be a false
|
|
67
|
+
// success. Reject so `auto` falls back to legacy, which declines the re-key.
|
|
68
|
+
if (boundTable.primaryKey && stmt.assignments.some((a) => a.column === boundTable.primaryKey)) {
|
|
69
|
+
throw new errors_ts_1.EngineUnsupportedError(`UPDATE cannot change the primary key column "${boundTable.primaryKey}"`);
|
|
70
|
+
}
|
|
71
|
+
return { ...stmt, table: { ...stmt.table, database: boundTable.database }, boundTable };
|
|
72
|
+
}
|
|
73
|
+
function bindDelete(stmt) {
|
|
74
|
+
const boundTable = bindTableRef(stmt.table, loadDatabases());
|
|
75
|
+
return { ...stmt, table: { ...stmt.table, database: boundTable.database }, boundTable };
|
|
76
|
+
}
|
|
77
|
+
function bindSelect(stmt) {
|
|
78
|
+
const databases = loadDatabases();
|
|
79
|
+
const fromTable = bindTableRef(stmt.from, databases);
|
|
80
|
+
const scope = [fromTable];
|
|
81
|
+
for (const join of stmt.joins) {
|
|
82
|
+
scope.push(bindTableRef(join.table, databases));
|
|
83
|
+
}
|
|
84
|
+
const qualified = stmt.joins.length > 0;
|
|
85
|
+
if (qualified) {
|
|
86
|
+
// Distinct effective aliases are required: the join row model keys columns
|
|
87
|
+
// by `<alias>.<attr>`, so two tables sharing an alias would collide and
|
|
88
|
+
// overwrite each other on merge.
|
|
89
|
+
const seen = new Set();
|
|
90
|
+
for (const t of scope) {
|
|
91
|
+
if (seen.has(t.effectiveAlias)) {
|
|
92
|
+
throw new errors_ts_1.EngineUnsupportedError(`duplicate table alias "${t.effectiveAlias}" in join; give each joined table a distinct alias`);
|
|
93
|
+
}
|
|
94
|
+
seen.add(t.effectiveAlias);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (qualified) {
|
|
98
|
+
// Resolve every column reference to a canonical alias, in place.
|
|
99
|
+
resolveColumnsInSelect(stmt, scope);
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
...stmt,
|
|
103
|
+
from: { ...stmt.from, database: fromTable.database },
|
|
104
|
+
boundTable: fromTable,
|
|
105
|
+
scope,
|
|
106
|
+
qualified,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function bindTableRef(ref, databases) {
|
|
110
|
+
const databaseName = ref.database || pickDefaultDatabase(databases, ref.table);
|
|
111
|
+
const dbEntry = databases[databaseName];
|
|
112
|
+
if (!dbEntry) {
|
|
113
|
+
throw new errors_ts_1.EngineUnsupportedError(`database "${databaseName}" not found`);
|
|
114
|
+
}
|
|
115
|
+
const resource = dbEntry[ref.table];
|
|
116
|
+
if (!resource) {
|
|
117
|
+
throw new errors_ts_1.EngineUnsupportedError(`table "${databaseName}.${ref.table}" not found`);
|
|
118
|
+
}
|
|
119
|
+
const r = resource;
|
|
120
|
+
const primaryKey = r.primaryKey;
|
|
121
|
+
const indices = r.indices ?? {};
|
|
122
|
+
// indexNulls lives on both the attribute descriptor and the index dbi
|
|
123
|
+
// (databases.ts sets each) — honor either.
|
|
124
|
+
const attributes = (r.attributes ?? []).map((a) => ({
|
|
125
|
+
name: a.name,
|
|
126
|
+
indexed: !!a.indexed || !!indices[a.name] || a.name === primaryKey,
|
|
127
|
+
isPrimaryKey: a.name === primaryKey,
|
|
128
|
+
indexNulls: a.name !== primaryKey &&
|
|
129
|
+
(!!a.indexNulls || !!indices[a.name]?.indexNulls),
|
|
130
|
+
}));
|
|
131
|
+
return {
|
|
132
|
+
database: databaseName,
|
|
133
|
+
table: ref.table,
|
|
134
|
+
alias: ref.alias,
|
|
135
|
+
effectiveAlias: ref.alias ?? ref.table,
|
|
136
|
+
primaryKey,
|
|
137
|
+
attributes,
|
|
138
|
+
resource,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
function pickDefaultDatabase(databases, tableName) {
|
|
142
|
+
const matches = [];
|
|
143
|
+
for (const dbName of Object.keys(databases)) {
|
|
144
|
+
if (databases[dbName]?.[tableName])
|
|
145
|
+
matches.push(dbName);
|
|
146
|
+
}
|
|
147
|
+
if (matches.length === 0) {
|
|
148
|
+
throw new errors_ts_1.EngineUnsupportedError(`table "${tableName}" not found in any database`);
|
|
149
|
+
}
|
|
150
|
+
if (matches.length > 1) {
|
|
151
|
+
throw new errors_ts_1.EngineUnsupportedError(`table "${tableName}" exists in multiple databases (${matches.join(', ')}); qualify the schema`);
|
|
152
|
+
}
|
|
153
|
+
return matches[0];
|
|
154
|
+
}
|
|
155
|
+
// ---------------------------------------------------------------------------
|
|
156
|
+
// Column resolution for join queries
|
|
157
|
+
// ---------------------------------------------------------------------------
|
|
158
|
+
function resolveColumnsInSelect(stmt, scope) {
|
|
159
|
+
for (const p of stmt.projections)
|
|
160
|
+
resolveColumns(p.expr, scope);
|
|
161
|
+
// Each join's ON sees only the tables in scope at that point: FROM plus the
|
|
162
|
+
// joins up to and including this one (scope[0..i+1]). Resolving against the
|
|
163
|
+
// full scope would let an ON reference a not-yet-joined table or be falsely
|
|
164
|
+
// flagged ambiguous against one.
|
|
165
|
+
for (let i = 0; i < stmt.joins.length; i++) {
|
|
166
|
+
const j = stmt.joins[i];
|
|
167
|
+
if (j.on)
|
|
168
|
+
resolveColumns(j.on, scope.slice(0, i + 2));
|
|
169
|
+
}
|
|
170
|
+
if (stmt.where)
|
|
171
|
+
resolveColumns(stmt.where, scope);
|
|
172
|
+
if (stmt.groupBy)
|
|
173
|
+
for (const g of stmt.groupBy)
|
|
174
|
+
resolveColumns(g, scope);
|
|
175
|
+
if (stmt.having)
|
|
176
|
+
resolveColumns(stmt.having, scope);
|
|
177
|
+
if (stmt.orderBy)
|
|
178
|
+
for (const o of stmt.orderBy)
|
|
179
|
+
resolveColumns(o.expr, scope);
|
|
180
|
+
}
|
|
181
|
+
/** Resolves a qualifier string (alias or table name) to the canonical alias. */
|
|
182
|
+
function resolveQualifier(qualifier, scope) {
|
|
183
|
+
// Exact effective-alias match always wins (it is unique — duplicates are
|
|
184
|
+
// rejected at bind time).
|
|
185
|
+
const byAlias = scope.find((t) => t.effectiveAlias === qualifier);
|
|
186
|
+
if (byAlias)
|
|
187
|
+
return byAlias;
|
|
188
|
+
// Fall back to base-table-name qualification (e.g. `dev.user.col` where the
|
|
189
|
+
// table is unaliased). In a self-join the same base name appears more than
|
|
190
|
+
// once; matching the first silently mis-binds, so reject as ambiguous.
|
|
191
|
+
const byTable = scope.filter((t) => t.table === qualifier);
|
|
192
|
+
if (byTable.length > 1) {
|
|
193
|
+
throw new errors_ts_1.EngineUnsupportedError(`table qualifier "${qualifier}" is ambiguous across ${byTable
|
|
194
|
+
.map((t) => t.effectiveAlias)
|
|
195
|
+
.join(', ')}; qualify columns by alias`);
|
|
196
|
+
}
|
|
197
|
+
return byTable[0];
|
|
198
|
+
}
|
|
199
|
+
function resolveColumns(expr, scope) {
|
|
200
|
+
switch (expr.kind) {
|
|
201
|
+
case 'column': {
|
|
202
|
+
if (expr.table) {
|
|
203
|
+
const t = resolveQualifier(expr.table, scope);
|
|
204
|
+
if (!t) {
|
|
205
|
+
throw new errors_ts_1.EngineUnsupportedError(`unknown table qualifier "${expr.table}" for column "${expr.name}"`);
|
|
206
|
+
}
|
|
207
|
+
expr.table = t.effectiveAlias;
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
// Unqualified: bind to the unique table that declares this attribute.
|
|
211
|
+
const owners = scope.filter((t) => t.attributes.some((a) => a.name === expr.name));
|
|
212
|
+
if (owners.length === 1) {
|
|
213
|
+
expr.table = owners[0].effectiveAlias;
|
|
214
|
+
}
|
|
215
|
+
else if (owners.length > 1) {
|
|
216
|
+
throw new errors_ts_1.EngineUnsupportedError(`column "${expr.name}" is ambiguous across ${owners.map((o) => o.effectiveAlias).join(', ')}; qualify it`);
|
|
217
|
+
}
|
|
218
|
+
else if (scope.length === 1) {
|
|
219
|
+
// Single-table query: an undeclared attribute (Harper tables are
|
|
220
|
+
// schemaless) binds to the only table.
|
|
221
|
+
expr.table = scope[0].effectiveAlias;
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
// Multi-table query: we cannot know which table an undeclared
|
|
225
|
+
// attribute belongs to. Defaulting to the FROM table would silently
|
|
226
|
+
// yield nulls when it actually lives on a joined table, so reject
|
|
227
|
+
// and let 'auto' mode fall back to legacy.
|
|
228
|
+
throw new errors_ts_1.EngineUnsupportedError(`column "${expr.name}" is not declared on any joined table; qualify it with a table alias`);
|
|
229
|
+
}
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
case 'star':
|
|
233
|
+
// `t.*` qualifier is validated at star-expansion time; bare `*` spans all.
|
|
234
|
+
if (expr.table) {
|
|
235
|
+
const t = resolveQualifier(expr.table, scope);
|
|
236
|
+
if (!t)
|
|
237
|
+
throw new errors_ts_1.EngineUnsupportedError(`unknown table qualifier "${expr.table}" in "${expr.table}.*"`);
|
|
238
|
+
expr.table = t.effectiveAlias;
|
|
239
|
+
}
|
|
240
|
+
return;
|
|
241
|
+
case 'binop':
|
|
242
|
+
resolveColumns(expr.left, scope);
|
|
243
|
+
resolveColumns(expr.right, scope);
|
|
244
|
+
return;
|
|
245
|
+
case 'logical':
|
|
246
|
+
expr.args.forEach((a) => resolveColumns(a, scope));
|
|
247
|
+
return;
|
|
248
|
+
case 'in':
|
|
249
|
+
resolveColumns(expr.expr, scope);
|
|
250
|
+
if (Array.isArray(expr.list))
|
|
251
|
+
expr.list.forEach((e) => resolveColumns(e, scope));
|
|
252
|
+
return;
|
|
253
|
+
case 'between':
|
|
254
|
+
resolveColumns(expr.expr, scope);
|
|
255
|
+
resolveColumns(expr.low, scope);
|
|
256
|
+
resolveColumns(expr.high, scope);
|
|
257
|
+
return;
|
|
258
|
+
case 'like':
|
|
259
|
+
resolveColumns(expr.expr, scope);
|
|
260
|
+
resolveColumns(expr.pattern, scope);
|
|
261
|
+
return;
|
|
262
|
+
case 'isNull':
|
|
263
|
+
resolveColumns(expr.expr, scope);
|
|
264
|
+
return;
|
|
265
|
+
case 'funcCall':
|
|
266
|
+
expr.args.forEach((a) => resolveColumns(a, scope));
|
|
267
|
+
return;
|
|
268
|
+
case 'aggCall':
|
|
269
|
+
if (expr.arg.kind !== 'star')
|
|
270
|
+
resolveColumns(expr.arg, scope);
|
|
271
|
+
return;
|
|
272
|
+
case 'case':
|
|
273
|
+
for (const c of expr.cases) {
|
|
274
|
+
resolveColumns(c.when, scope);
|
|
275
|
+
resolveColumns(c.then, scope);
|
|
276
|
+
}
|
|
277
|
+
if (expr.else)
|
|
278
|
+
resolveColumns(expr.else, scope);
|
|
279
|
+
return;
|
|
280
|
+
case 'cast':
|
|
281
|
+
resolveColumns(expr.expr, scope);
|
|
282
|
+
return;
|
|
283
|
+
default:
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
// Surfaced for unit tests.
|
|
288
|
+
exports._internal = { resolveColumns, resolveQualifier };
|
|
289
|
+
//# sourceMappingURL=bind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bind.js","sourceRoot":"","sources":["../../../sqlEngine/binder/bind.ts"],"names":[],"mappings":"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"}
|