@harperfast/harper 5.2.0-alpha.5 → 5.2.0-beta.1
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/agent/agent.ts +152 -10
- package/agent/bestPractices.ts +58 -0
- package/agent/mcpTools.ts +122 -0
- package/agent/operations.ts +10 -1
- package/agent/registryTools.ts +117 -0
- package/agent/session.ts +16 -7
- package/agent/tools/fsTools.ts +74 -27
- package/agent/tools/inspectorTool.ts +459 -0
- package/agent/toolset.ts +27 -7
- package/agent/types.ts +2 -0
- package/components/Application.ts +566 -85
- package/components/OptionsWatcher.ts +62 -2
- package/components/Scope.ts +31 -8
- package/components/componentLoader.ts +5 -1
- package/components/componentSecrets.ts +514 -55
- package/components/deploymentRecorder.ts +7 -6
- package/components/gitCredentialHelper.js +115 -0
- package/components/gitCredentialServer.ts +251 -0
- package/components/mcp/tools/application.ts +197 -23
- package/components/mcp/tools/operations.ts +1 -1
- package/components/mcp/tools/schemas/derive.ts +6 -2
- package/components/operations.js +21 -19
- package/components/operationsValidation.js +86 -21
- package/components/secretOperations.ts +110 -30
- package/config/harperConfigEnvVars.ts +90 -5
- package/config-root.schema.json +4 -0
- package/dataLayer/harperBridge/ResourceBridge.ts +7 -0
- package/dist/agent/agent.d.ts +24 -3
- package/dist/agent/agent.js +172 -10
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/bestPractices.d.ts +24 -0
- package/dist/agent/bestPractices.js +60 -0
- package/dist/agent/bestPractices.js.map +1 -0
- package/dist/agent/mcpTools.d.ts +24 -0
- package/dist/agent/mcpTools.js +115 -0
- package/dist/agent/mcpTools.js.map +1 -0
- package/dist/agent/operations.js +10 -1
- package/dist/agent/operations.js.map +1 -1
- package/dist/agent/registryTools.d.ts +45 -0
- package/dist/agent/registryTools.js +113 -0
- package/dist/agent/registryTools.js.map +1 -0
- package/dist/agent/session.js +16 -7
- package/dist/agent/session.js.map +1 -1
- package/dist/agent/tools/fsTools.js +70 -28
- package/dist/agent/tools/fsTools.js.map +1 -1
- package/dist/agent/tools/inspectorTool.d.ts +40 -0
- package/dist/agent/tools/inspectorTool.js +428 -0
- package/dist/agent/tools/inspectorTool.js.map +1 -0
- package/dist/agent/toolset.d.ts +16 -6
- package/dist/agent/toolset.js +17 -7
- package/dist/agent/toolset.js.map +1 -1
- package/dist/agent/types.d.ts +2 -0
- package/dist/components/Application.d.ts +73 -18
- package/dist/components/Application.js +475 -64
- package/dist/components/Application.js.map +1 -1
- package/dist/components/OptionsWatcher.d.ts +1 -1
- package/dist/components/OptionsWatcher.js +65 -2
- package/dist/components/OptionsWatcher.js.map +1 -1
- package/dist/components/Scope.d.ts +8 -6
- package/dist/components/Scope.js +22 -6
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/componentLoader.js +5 -1
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/componentSecrets.d.ts +33 -7
- package/dist/components/componentSecrets.js +473 -59
- package/dist/components/componentSecrets.js.map +1 -1
- package/dist/components/deploymentRecorder.d.ts +2 -2
- package/dist/components/deploymentRecorder.js +1 -1
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/gitCredentialHelper.d.ts +1 -0
- package/dist/components/gitCredentialHelper.js +113 -0
- package/dist/components/gitCredentialHelper.js.map +1 -0
- package/dist/components/gitCredentialServer.d.ts +33 -0
- package/dist/components/gitCredentialServer.js +236 -0
- package/dist/components/gitCredentialServer.js.map +1 -0
- package/dist/components/mcp/tools/application.d.ts +19 -0
- package/dist/components/mcp/tools/application.js +180 -22
- package/dist/components/mcp/tools/application.js.map +1 -1
- package/dist/components/mcp/tools/operations.d.ts +13 -0
- package/dist/components/mcp/tools/operations.js +1 -0
- package/dist/components/mcp/tools/operations.js.map +1 -1
- package/dist/components/mcp/tools/schemas/derive.js +6 -2
- package/dist/components/mcp/tools/schemas/derive.js.map +1 -1
- package/dist/components/operations.js +23 -21
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.js +84 -21
- package/dist/components/operationsValidation.js.map +1 -1
- package/dist/components/secretOperations.d.ts +33 -11
- package/dist/components/secretOperations.js +90 -26
- package/dist/components/secretOperations.js.map +1 -1
- package/dist/config/harperConfigEnvVars.d.ts +21 -0
- package/dist/config/harperConfigEnvVars.js +95 -5
- package/dist/config/harperConfigEnvVars.js.map +1 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.js +8 -0
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/resources/Resource.d.ts +19 -0
- package/dist/resources/Resource.js +98 -4
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/Table.d.ts +12 -1
- package/dist/resources/Table.js +269 -53
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/read.js +28 -25
- package/dist/resources/analytics/read.js.map +1 -1
- package/dist/resources/databases.js +21 -0
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/defineResource.d.ts +180 -0
- package/dist/resources/defineResource.js +505 -0
- package/dist/resources/defineResource.js.map +1 -0
- package/dist/resources/defineTable.d.ts +221 -0
- package/dist/resources/defineTable.js +227 -0
- package/dist/resources/defineTable.js.map +1 -0
- package/dist/resources/jsonSchemaTypes.d.ts +2 -0
- package/dist/resources/jsonSchemaTypes.js +12 -4
- package/dist/resources/jsonSchemaTypes.js.map +1 -1
- package/dist/resources/openApi.js +69 -13
- package/dist/resources/openApi.js.map +1 -1
- package/dist/resources/search.js +6 -8
- package/dist/resources/search.js.map +1 -1
- package/dist/server/graphqlQuerying.js +4 -2
- package/dist/server/graphqlQuerying.js.map +1 -1
- package/dist/server/http.d.ts +12 -0
- package/dist/server/http.js +35 -15
- package/dist/server/http.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.js +8 -5
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/serverHelpers/uwsServer.js +23 -0
- package/dist/server/serverHelpers/uwsServer.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/errors/hdbError.d.ts +21 -0
- package/dist/utility/errors/hdbError.js +23 -1
- package/dist/utility/errors/hdbError.js.map +1 -1
- package/dist/validation/configValidator.js +22 -6
- package/dist/validation/configValidator.js.map +1 -1
- package/dist/validation/deleteValidator.js +10 -2
- package/dist/validation/deleteValidator.js.map +1 -1
- package/index.ts +33 -0
- package/npm-shrinkwrap.json +9197 -15066
- package/package.json +3 -1
- package/resources/DESIGN.md +43 -15
- package/resources/Resource.ts +104 -4
- package/resources/Table.ts +298 -74
- package/resources/analytics/read.ts +30 -25
- package/resources/databases.ts +24 -0
- package/resources/defineResource.ts +651 -0
- package/resources/defineTable.ts +407 -0
- package/resources/jsonSchemaTypes.ts +12 -4
- package/resources/openApi.ts +68 -16
- package/resources/search.ts +5 -8
- package/server/graphqlQuerying.ts +4 -2
- package/server/http.ts +40 -16
- package/server/serverHelpers/serverUtilities.ts +19 -6
- package/server/serverHelpers/uwsServer.ts +24 -0
- package/sqlTranslator/index.ts +16 -6
- package/studio/web/assets/{Chat-Cv_2paZE.js → Chat-BZks8dVF.js} +2 -2
- package/studio/web/assets/{Chat-Cv_2paZE.js.map → Chat-BZks8dVF.js.map} +1 -1
- package/studio/web/assets/{FloatingChat-CPyPIcVR.js → FloatingChat-Dic8paVO.js} +4 -4
- package/studio/web/assets/{FloatingChat-CPyPIcVR.js.map → FloatingChat-Dic8paVO.js.map} +1 -1
- package/studio/web/assets/{applications-C0jT2vdZ.js → applications-uOXkeUIN.js} +2 -2
- package/studio/web/assets/{applications-C0jT2vdZ.js.map → applications-uOXkeUIN.js.map} +1 -1
- package/studio/web/assets/{index-D_GKOkhn.js → index-i-2wrKhv.js} +6 -6
- package/studio/web/assets/{index-D_GKOkhn.js.map → index-i-2wrKhv.js.map} +1 -1
- package/studio/web/assets/{index.lazy-CAmCIA65.js → index.lazy-Csk8eCoB.js} +4 -4
- package/studio/web/assets/{index.lazy-CAmCIA65.js.map → index.lazy-Csk8eCoB.js.map} +1 -1
- package/studio/web/assets/{profile-CaF-4aZe.js → profile-Sb3mGDl6.js} +2 -2
- package/studio/web/assets/{profile-CaF-4aZe.js.map → profile-Sb3mGDl6.js.map} +1 -1
- package/studio/web/assets/{setComponentFile-DLW1DHCt.js → setComponentFile-BgZcaPJ2.js} +2 -2
- package/studio/web/assets/{setComponentFile-DLW1DHCt.js.map → setComponentFile-BgZcaPJ2.js.map} +1 -1
- package/studio/web/assets/{setup-TGCErIhq.js → setup-DKtlLgmT.js} +2 -2
- package/studio/web/assets/{setup-TGCErIhq.js.map → setup-DKtlLgmT.js.map} +1 -1
- package/studio/web/assets/{status-DG0Maoao.js → status-B45iLeug.js} +2 -2
- package/studio/web/assets/{status-DG0Maoao.js.map → status-B45iLeug.js.map} +1 -1
- package/studio/web/assets/{swagger-ui-react-8T4SgQ1m.js → swagger-ui-react-Csu4026e.js} +2 -2
- package/studio/web/assets/{swagger-ui-react-8T4SgQ1m.js.map → swagger-ui-react-Csu4026e.js.map} +1 -1
- package/studio/web/assets/{tsMode-DJ6Sl24Q.js → tsMode-DVgxUr_l.js} +2 -2
- package/studio/web/assets/{tsMode-DJ6Sl24Q.js.map → tsMode-DVgxUr_l.js.map} +1 -1
- package/studio/web/assets/{useEntityRestURL-JO2mfWTQ.js → useEntityRestURL-yfDQMV1f.js} +2 -2
- package/studio/web/assets/{useEntityRestURL-JO2mfWTQ.js.map → useEntityRestURL-yfDQMV1f.js.map} +1 -1
- package/studio/web/index.html +1 -1
- package/utility/errors/hdbError.ts +32 -0
- package/validation/configValidator.ts +23 -6
- package/validation/deleteValidator.ts +11 -2
|
@@ -138,45 +138,48 @@ async function* coalesceResults(results, window) {
|
|
|
138
138
|
}
|
|
139
139
|
async function get(metric, opts) {
|
|
140
140
|
const { getAttributes, startTime, endTime, additionalConditions, log: logName } = opts ?? {};
|
|
141
|
-
|
|
141
|
+
// A two-sided time window bounds the primary-key (`id` = [time, nodeId]) range on both ends. When we
|
|
142
|
+
// have one, lead with it and pin execution order (below) so it drives the scan. `Table.search`
|
|
143
|
+
// otherwise reorders conditions by estimated cost, but the planner estimates a primary-key `between`
|
|
144
|
+
// as a flat 10% of the table (search.ts BETWEEN_ESTIMATE) rather than from the actual range width —
|
|
145
|
+
// so on a large `hdb_analytics` table a narrow window looks costlier than `metric equals`, iteration
|
|
146
|
+
// is driven off the metric index, and the metric's entire history is decoded instead of the window
|
|
147
|
+
// (#1796). The proper long-term fix is a range-width-aware cost estimate in search.ts.
|
|
148
|
+
const boundedWindow = startTime != null && endTime != null;
|
|
149
|
+
const conditions = [];
|
|
150
|
+
if (boundedWindow) {
|
|
151
|
+
conditions.push({ attribute: 'id', comparator: 'between', value: [startTime, endTime] });
|
|
152
|
+
}
|
|
153
|
+
conditions.push({ attribute: 'metric', comparator: 'equals', value: metric });
|
|
142
154
|
if (logName !== undefined) {
|
|
143
155
|
conditions.push({ attribute: 'log', comparator: 'equals', value: logName });
|
|
144
156
|
}
|
|
145
157
|
if (additionalConditions) {
|
|
146
158
|
conditions.push(...additionalConditions.map(conformCondition));
|
|
147
159
|
}
|
|
160
|
+
// An open-ended range (only start or only end) can span the whole table, so we append it and leave
|
|
161
|
+
// ordering to the planner rather than forcing an unbounded range to drive — which could scan the
|
|
162
|
+
// full table for a selective metric.
|
|
163
|
+
if (!boundedWindow) {
|
|
164
|
+
if (startTime != null) {
|
|
165
|
+
conditions.push({ attribute: 'id', comparator: 'greater_than_equal', value: startTime });
|
|
166
|
+
}
|
|
167
|
+
if (endTime != null) {
|
|
168
|
+
conditions.push({ attribute: 'id', comparator: 'less_than', value: endTime });
|
|
169
|
+
}
|
|
170
|
+
}
|
|
148
171
|
const select = getAttributes ?? [];
|
|
149
|
-
// ensure we're always selecting id
|
|
172
|
+
// ensure we're always selecting id (an empty select array already selects everything, including id)
|
|
150
173
|
if (!isSelected(select, 'id')) {
|
|
151
174
|
select.push('id');
|
|
152
175
|
}
|
|
153
|
-
if (startTime && endTime) {
|
|
154
|
-
conditions.push({
|
|
155
|
-
attribute: 'id',
|
|
156
|
-
comparator: 'between',
|
|
157
|
-
value: [startTime, endTime],
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
if (startTime) {
|
|
162
|
-
conditions.push({
|
|
163
|
-
attribute: 'id',
|
|
164
|
-
comparator: 'greater_than_equal',
|
|
165
|
-
value: startTime,
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
if (endTime) {
|
|
169
|
-
conditions.push({
|
|
170
|
-
attribute: 'id',
|
|
171
|
-
comparator: 'less_than',
|
|
172
|
-
value: endTime,
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
176
|
// `snapshot: false` lets these (potentially long-running) analytics scans read against the
|
|
177
177
|
// latest committed data without holding a consistent read snapshot open, so they stay easier
|
|
178
178
|
// on the rest of the system (a pinned snapshot would block compaction for the scan's duration).
|
|
179
179
|
const request = { conditions, allowConditionsOnDynamicAttributes: true, snapshot: false };
|
|
180
|
+
if (boundedWindow) {
|
|
181
|
+
request.enforceExecutionOrder = true;
|
|
182
|
+
}
|
|
180
183
|
if (select.length > 0) {
|
|
181
184
|
request['select'] = select;
|
|
182
185
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../resources/analytics/read.ts"],"names":[],"mappings":";;;;;AAoDA,sBAuDC;AAqFD,
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../resources/analytics/read.ts"],"names":[],"mappings":";;;;;AAoDA,sBAuDC;AAqFD,kBA2EC;AAWD,sCAEC;AAED,kCA2CC;AAeD,4CAEC;AAED,wCAwBC;AA/WD,8FAAkE;AAClE,MAAM,EAAE,YAAY,EAAE,GAAG,0BAAY,CAAC;AACtC,iDAAyE;AAEzE,+CAA+D;AAC/D,2DAA0D;AAC1D,2FAAgF;AAChF,kFAA8E;AAC9E,kEAA6E;AAC7E,0DAA2D;AAE3D,6DAA6D;AAC7D,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1D,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AACzC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC;AAE/B,KAAK,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAyB,GAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,MAAM,EAAE,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IAC7C,IAAI,MAAM,KAAK,IAAA,2BAAY,EAAC,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IACrE,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,WAAqB,EAAE,IAAY;IACtD,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAoBD;;;;GAIG;AACI,KAAK,UAAU,KAAK,CAAC,GAAwB;IACnD,GAAG,CAAC,KAAK,EAAE,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,IAAA,4CAAoB,EAAC,GAAG,CAAC,CAAC;IAClD,IAAI,eAAe,EAAE,CAAC;QACrB,MAAM,IAAA,4BAAc,EACnB,eAAe,EACf,eAAe,CAAC,OAAO,EACvB,uBAAS,CAAC,iBAAiB,CAAC,WAAW,EACvC,SAAS,EACT,SAAS,EACT,IAAI,CACJ,CAAC;IACH,CAAC;IACD,4FAA4F;IAC5F,iGAAiG;IACjG,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,oBAAM,CAAC,oBAAoB,EAAE,CAAC;QACzE,MAAM,IAAA,4BAAc,EACnB,IAAI,KAAK,CAAC,+BAA+B,CAAC,EAC1C,+CAA+C,oBAAM,CAAC,oBAAoB,UAAU,EACpF,uBAAS,CAAC,iBAAiB,CAAC,WAAW,EACvC,SAAS,EACT,SAAS,EACT,IAAI,CACJ,CAAC;IACH,CAAC;IACD,4EAA4E;IAC5E,uEAAuE;IACvE,qCAAqC;IACrC,qFAAqF;IACrF,kFAAkF;IAClF,+EAA+E;IAC/E,8EAA8E;IAC9E,qFAAqF;IACrF,MAAM,uBAAuB,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,KAAK,KAAK,CAAC;IACnF,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,uBAAuB,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5G,+EAA+E;IAC/E,kFAAkF;IAClF,oFAAoF;IACpF,IAAI,aAAa,GAAG,GAAG,CAAC,cAAc,CAAC;IACvC,IAAI,KAAK,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvE,aAAa,GAAG,CAAC,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE;QAC1C,aAAa;QACb,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,oBAAoB,EAAE,GAAG,CAAC,UAAU;QACpC,GAAG,EAAE,GAAG,CAAC,GAAG;KACZ,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,OAAO,uBAAuB,CAAC,YAAY,EAAE,EAAE,GAAG,GAAG,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,KAAK,CAAC,CAAC;AAChG,CAAC;AAED;;;;;GAKG;AACH,KAAK,SAAS,CAAC,CAAC,uBAAuB,CACtC,YAAsD,EACtD,GAAwB,EACxB,KAAyB;IAEzB,MAAM,QAAQ,GAAG,IAAA,6BAAe,GAAE,CAAC;IACnC,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC9C,6EAA6E;IAC7E,8EAA8E;IAC9E,wCAAwC;IACxC,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC,mBAGA,CAAC;IAEhD,MAAM,WAAW,GAAG,KAAK;SACvB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI;IACtC,8EAA8E;IAC9E,2EAA2E;IAC3E,wBAAwB;IACxB,CAAC,QAAQ,EAAY,EAAE,CACtB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAC9F,CAAC,KAAY,EAAY,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,IAAI,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACpG,OAAO,EAAE,CAAC;IACX,CAAC,CACD,CACD,CAAC;IAEH,KAAK,CAAC,CAAC,YAAY,CAAC;IACpB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,KAAK,CAAC,CAAC,MAAM,UAAU,CAAC;IACzB,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAoB;IAC7C,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;QAC/B,OAAO;YACN,GAAG,SAAS;YACZ,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC;SACtD,CAAC;IACH,CAAC;IACD,OAAO;QACN,SAAS,EAAE,SAAS,CAAC,gBAAgB,IAAI,SAAS,CAAC,SAAS;QAC5D,UAAU,EAAE,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,UAAU;QACzD,KAAK,EAAE,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,KAAK;KAChD,CAAC;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,eAAe,CAAC,OAAiB,EAAE,MAAc;IAChE,IAAI,UAAe,CAAC;IACpB,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,UAAU,GAAG,EAAE,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;QACrC,CAAC;aAAM,CAAC;YACP,MAAM,MAAM,CAAC;YACb,UAAU,GAAG,EAAE,CAAC;QACjB,CAAC;IACF,CAAC;AACF,CAAC;AAWM,KAAK,UAAU,GAAG,CAAC,MAAc,EAAE,IAAuB;IAChE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IAE7F,qGAAqG;IACrG,+FAA+F;IAC/F,qGAAqG;IACrG,oGAAoG;IACpG,qGAAqG;IACrG,mGAAmG;IACnG,uFAAuF;IACvF,MAAM,aAAa,GAAG,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC;IAC3D,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,IAAI,aAAa,EAAE,CAAC;QACnB,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,oBAAoB,EAAE,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,mGAAmG;IACnG,iGAAiG;IACjG,qCAAqC;IACrC,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,IAAI,EAAE,CAAC;IAEnC,oGAAoG;IACpG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,2FAA2F;IAC3F,6FAA6F;IAC7F,gGAAgG;IAChG,MAAM,OAAO,GAAQ,EAAE,UAAU,EAAE,kCAAkC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC/F,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACtC,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC5B,CAAC;IACD,GAAG,CAAC,KAAK,EAAE,CAAC,6CAA6C,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACpF,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE3E,IAAI,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;QACxD,yEAAyE;QACzE,yCAAyC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,KAAK,EAAE,CAAC,6CAA6C,MAAM,EAAE,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,MAAM,CAAC;QACrC,CAAC;QACD,GAAG,CAAC,KAAK,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC;QACxB,sEAAsE;QACtE,MAAM,MAAM,GAAG,IAAA,2BAAM,EAAC,2BAAa,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;QACtE,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAWD,SAAgB,aAAa,CAAC,GAAuB;IACpD,OAAO,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACjE,CAAC;AAEM,KAAK,UAAU,WAAW,CAChC,cAA4B,CAAC,SAAS,CAAC,EACvC,eAAuB,yBAAyB;IAEhD,IAAI,OAAO,GAAa,EAAE,CAAC;IAE3B,MAAM,QAAQ,GAAwB,MAAM,CAAC,MAAM,CAAC,oBAAM,CAAC,CAAC;IAE5D,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,OAAO,GAAG,QAAQ,CAAC;IACpB,CAAC;IAED,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;QACjD,MAAM,UAAU,GAAe;YAC9B;gBACC,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,cAAc;gBAC1B,KAAK,EAAE,cAAc;aACrB;SACD,CAAC;QACF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,OAAO;gBACN,SAAS,EAAE,QAAQ;gBACnB,UAAU,EAAE,WAAW;gBACvB,KAAK,EAAE,CAAC;aACK,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACrC,MAAM,mBAAmB,GAAQ;YAChC,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,UAAU,EAAE,UAAU;SACtB,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACvF,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YAC1C,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAeD,SAAgB,gBAAgB,CAAC,GAA0B;IAC1D,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,MAAc;IAClD,MAAM,eAAe,GAAQ;QAC5B,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC1E,IAAI,EAAE;YACL,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;SAChB;QACD,KAAK,EAAE,CAAC;KACR,CAAC;IACF,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACvE,4DAA4D;IAC5D,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC3B,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG;YACZ,UAAU;SACV,CAAC;QACF,GAAG,CAAC,KAAK,EAAE,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACb,CAAC;IACD,qCAAqC;IACrC,OAAO,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -64,6 +64,7 @@ const Table_ts_1 = require("./Table.js");
|
|
|
64
64
|
const OpenEnvironmentObject_ts_1 = __importDefault(require("../utility/lmdb/OpenEnvironmentObject.js"));
|
|
65
65
|
const hdbTerms_ts_1 = require("../utility/hdbTerms.js");
|
|
66
66
|
const configUtils_ts_1 = require("../config/configUtils.js");
|
|
67
|
+
const hdbError_ts_1 = require("../utility/errors/hdbError.js");
|
|
67
68
|
const globals_js_1 = require("../globals.js");
|
|
68
69
|
const commonUtility_ts_1 = require("../utility/lmdb/commonUtility.js");
|
|
69
70
|
const signalling = __importStar(require("../utility/signalling.js"));
|
|
@@ -1002,6 +1003,26 @@ function table(tableDefinition) {
|
|
|
1002
1003
|
if (Table.primaryStore.rootStore.status === 'closed') {
|
|
1003
1004
|
throw new Error(`Can not use a closed data store from ${tableName} class`);
|
|
1004
1005
|
}
|
|
1006
|
+
// Reject moving the primary key to a different attribute on a table that already has records.
|
|
1007
|
+
// The storage key (Table.primaryKey) is never re-pointed here, so honoring the change would
|
|
1008
|
+
// leave describe reporting the new attribute while every record — old and newly inserted — stays
|
|
1009
|
+
// keyed by the original one; search_by_id/update/delete by the declared key then all miss. Only
|
|
1010
|
+
// schema-authored callers (@table / defineTable / create_table) reassert the declaration, so
|
|
1011
|
+
// gate on schemaDefinedExplicit to leave cluster schema-replication / data-loader callers alone.
|
|
1012
|
+
// See HarperFast/studio#1199.
|
|
1013
|
+
const declaredPrimaryKey = attributes.find((attribute) => attribute.isPrimaryKey)?.name;
|
|
1014
|
+
if (schemaDefinedExplicit && declaredPrimaryKey && declaredPrimaryKey !== Table.primaryKey) {
|
|
1015
|
+
let hasRecords = false;
|
|
1016
|
+
for (const _entry of Table.primaryStore.getRange({ start: true })) {
|
|
1017
|
+
hasRecords = true;
|
|
1018
|
+
break;
|
|
1019
|
+
}
|
|
1020
|
+
if (hasRecords) {
|
|
1021
|
+
throw new hdbError_ts_1.ClientError(`Cannot change the primary key of table '${databaseName}.${tableName}' from '${Table.primaryKey}' to ` +
|
|
1022
|
+
`'${declaredPrimaryKey}' because it already contains records. Recreate the table with the new primary ` +
|
|
1023
|
+
`key, or migrate the existing records.`, 400);
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1005
1026
|
// it table already exists, get the split segments setting
|
|
1006
1027
|
if (splitSegments == undefined)
|
|
1007
1028
|
splitSegments = Table.splitSegments;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"databases.js","sourceRoot":"","sources":["../../resources/databases.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"databases.js","sourceRoot":"","sources":["../../resources/databases.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The per-method request contract: `defineResource(contract, impl)` (primary, function form) and
|
|
3
|
+
* `Resource.withSchema(contract)` (class form).
|
|
4
|
+
*
|
|
5
|
+
* A resource declares a contract as runtime VALUES — `{ path, record?, get?/post?/put?/patch?/delete?:
|
|
6
|
+
* { query?, body?, response? } }` — and TypeScript DERIVES the handler types from it (the same
|
|
7
|
+
* value-first bargain `--conditions=typestrip` forces, and that `defineTable` already lives).
|
|
8
|
+
*
|
|
9
|
+
* This is a SUBSET, not a fork. A handler
|
|
10
|
+
* receives the SAME `RequestTarget` it receives today, structurally NARROWED: `target.id` is a string
|
|
11
|
+
* when the path declares `:id`, `target.get('expand')` is typed by the declared query schema, and the
|
|
12
|
+
* built-in filter/sort/limit grammar stays reachable. The enforced resource is assignable wherever the
|
|
13
|
+
* untyped resource shape goes — it still registers and serves like a plain one.
|
|
14
|
+
*
|
|
15
|
+
* The narrowed types are JUSTIFIED by runtime enforcement: each declared verb is wrapped to
|
|
16
|
+
* validate/coerce `query`/`body` before dispatch and returns a structured 400 (`ValidationError`) on
|
|
17
|
+
* failure, so by the time a handler runs the narrowed types are true. Same bargain the DOM makes; same
|
|
18
|
+
* role `Table.validate` plays for tables.
|
|
19
|
+
*
|
|
20
|
+
* ONE vocabulary. The built-in `t`/`schemaOf` builders reduce to `JsonSchemaFragment`
|
|
21
|
+
* (`resources/jsonSchemaTypes.ts`) — the identical IR `defineTable`/GraphQL fields reduce to via
|
|
22
|
+
* `attributeToFragment` — so a single declaration feeds validation, OpenAPI, and MCP. A `defineTable`
|
|
23
|
+
* projection slots straight in: `schemaOf<(typeof Track)['$insert']>({ table: Track, projection:
|
|
24
|
+
* 'insert' })` derives both the compile-time type (from the projection) and the runtime fragment (from
|
|
25
|
+
* the table's attributes).
|
|
26
|
+
*/
|
|
27
|
+
import type { JsonSchemaFragment } from './jsonSchemaTypes.ts';
|
|
28
|
+
import { type AttributeLike } from './jsonSchemaTypes.ts';
|
|
29
|
+
export interface Schema<T> {
|
|
30
|
+
/** phantom — the TS type this schema validates to; never present at runtime. */
|
|
31
|
+
readonly _type?: T;
|
|
32
|
+
/** mark this schema optional within its containing object/query (the property may be absent). */
|
|
33
|
+
readonly optional: Schema<T | undefined>;
|
|
34
|
+
/** allow an explicit `null` value. Non-nullable is the default — a bare `t.string` rejects `null`. */
|
|
35
|
+
readonly nullable: Schema<T | null>;
|
|
36
|
+
}
|
|
37
|
+
type TypeOf<S> = S extends Schema<infer T> ? T : never;
|
|
38
|
+
type OptionalKeys<P> = {
|
|
39
|
+
[K in keyof P]-?: undefined extends TypeOf<P[K]> ? K : never;
|
|
40
|
+
}[keyof P];
|
|
41
|
+
type RequiredKeys<P> = Exclude<keyof P, OptionalKeys<P>>;
|
|
42
|
+
/** The object type of a `t.object(props)` — fields whose schema includes `undefined` become optional. */
|
|
43
|
+
type ObjectType<P> = {
|
|
44
|
+
[K in RequiredKeys<P>]: TypeOf<P[K]>;
|
|
45
|
+
} & {
|
|
46
|
+
[K in OptionalKeys<P>]?: TypeOf<P[K]>;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* The zero-dependency built-in schema vocabulary for query params and bodies. Every builder reduces to
|
|
50
|
+
* a `JsonSchemaFragment`, so a contract's declarations feed validation + OpenAPI + MCP from one source.
|
|
51
|
+
*/
|
|
52
|
+
export declare const t: {
|
|
53
|
+
string: Schema<string>;
|
|
54
|
+
number: Schema<number>;
|
|
55
|
+
integer: Schema<number>;
|
|
56
|
+
boolean: Schema<boolean>;
|
|
57
|
+
/** ISO-8601 timestamp; validates as a string, coerced to `Date` in bodies. */
|
|
58
|
+
date: Schema<Date>;
|
|
59
|
+
enum: <const E extends readonly string[]>(values: E) => Schema<E[number]>;
|
|
60
|
+
array: <T>(item: Schema<T>) => Schema<T[]>;
|
|
61
|
+
object: <P extends Record<string, Schema<any>>>(props: P) => Schema<ObjectType<P>>;
|
|
62
|
+
};
|
|
63
|
+
export type Projection = 'record' | 'insert' | 'upsert' | 'patch' | 'query';
|
|
64
|
+
/** Minimal runtime shape of a table handle (`defineTable(...)` / `tables.Foo`) needed to project a fragment. */
|
|
65
|
+
interface TableLike {
|
|
66
|
+
attributes?: AttributeLike[];
|
|
67
|
+
primaryKey?: string;
|
|
68
|
+
}
|
|
69
|
+
export type SchemaSource = JsonSchemaFragment | TableLike | {
|
|
70
|
+
table: TableLike;
|
|
71
|
+
projection?: Projection;
|
|
72
|
+
};
|
|
73
|
+
/** Type-only schema for an existing TS type — an interface, or a `defineTable` projection like `(typeof Track)['$insert']`. */
|
|
74
|
+
export declare function schemaOf<T>(source?: SchemaSource): Schema<T>;
|
|
75
|
+
/**
|
|
76
|
+
* Project a table handle's attributes into a JSON-Schema object fragment for the given projection.
|
|
77
|
+
* Reuses the shared `attributeToFragment` per field (NOT a parallel translator) and applies the same
|
|
78
|
+
* inclusion/required rules as `defineTable`'s type projections and the MCP `derive` schemas:
|
|
79
|
+
* • record — all scalar fields, readonly; server-managed/PK/required fields marked required
|
|
80
|
+
* • insert — writable fields, PK optional, server-managed excluded
|
|
81
|
+
* • upsert — writable fields, PK required
|
|
82
|
+
* • patch — writable non-PK fields, all optional
|
|
83
|
+
* • query — indexed fields only, all optional
|
|
84
|
+
* Relationship and computed attributes are excluded (they aren't client-writable and their fragment
|
|
85
|
+
* type is the related table name, not a JSON type).
|
|
86
|
+
*/
|
|
87
|
+
export declare function projectTableFragment(table: TableLike, projection: Projection): JsonSchemaFragment;
|
|
88
|
+
export interface VerbSchemas {
|
|
89
|
+
readonly query?: Record<string, Schema<any>>;
|
|
90
|
+
readonly body?: Schema<any>;
|
|
91
|
+
readonly response?: Schema<any>;
|
|
92
|
+
}
|
|
93
|
+
export interface Contract {
|
|
94
|
+
readonly path: string;
|
|
95
|
+
/** Optional human description, surfaced on OpenAPI/MCP. */
|
|
96
|
+
readonly description?: string;
|
|
97
|
+
/** The resource's record type; defaults `get`'s response and `put`'s body when not overridden. */
|
|
98
|
+
readonly record?: Schema<any>;
|
|
99
|
+
readonly get?: VerbSchemas;
|
|
100
|
+
readonly post?: VerbSchemas;
|
|
101
|
+
readonly put?: VerbSchemas;
|
|
102
|
+
readonly patch?: VerbSchemas;
|
|
103
|
+
readonly delete?: VerbSchemas;
|
|
104
|
+
}
|
|
105
|
+
export type VerbName = 'get' | 'post' | 'put' | 'patch' | 'delete';
|
|
106
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
107
|
+
/** Template-literal parse of the declared path (matches the runtime, which Object.assigns matched segments). */
|
|
108
|
+
export type PathParams<S extends string> = S extends `${string}:${infer P}/${infer Rest}` ? {
|
|
109
|
+
[K in P]: string;
|
|
110
|
+
} & PathParams<`/${Rest}`> : S extends `${string}:${infer P}` ? {
|
|
111
|
+
[K in P]: string;
|
|
112
|
+
} : S extends `${string}*${infer W}` ? {
|
|
113
|
+
[K in W extends '' ? 'wildcard' : W]: string;
|
|
114
|
+
} : {};
|
|
115
|
+
type InferSchema<S> = S extends Schema<infer T> ? T : never;
|
|
116
|
+
type RecordOf<C> = C extends {
|
|
117
|
+
record: Schema<infer R>;
|
|
118
|
+
} ? R : unknown;
|
|
119
|
+
type QueryOf<VS> = VS extends {
|
|
120
|
+
query: infer Q;
|
|
121
|
+
} ? {
|
|
122
|
+
[K in keyof Q]: InferSchema<Q[K]>;
|
|
123
|
+
} : {};
|
|
124
|
+
type ResponseOf<VS, R> = VS extends {
|
|
125
|
+
response: Schema<infer T>;
|
|
126
|
+
} ? T : R;
|
|
127
|
+
type BodyOf<VS, V, R> = VS extends {
|
|
128
|
+
body: Schema<infer T>;
|
|
129
|
+
} ? T : V extends 'put' ? R : unknown;
|
|
130
|
+
/** `RequestTarget.get` overloaded for declared query params; anything else falls back to `string | null`. */
|
|
131
|
+
export interface TypedSearchParams<Q> {
|
|
132
|
+
get<K extends keyof Q & string>(name: K): Q[K];
|
|
133
|
+
get(name: string): string | null;
|
|
134
|
+
}
|
|
135
|
+
/** The built-in query grammar that stays reachable on the narrowed target (a subset of RequestTarget). */
|
|
136
|
+
interface QueryGrammar {
|
|
137
|
+
conditions?: unknown[];
|
|
138
|
+
sort?: unknown;
|
|
139
|
+
select?: unknown;
|
|
140
|
+
limit?: number;
|
|
141
|
+
offset?: number;
|
|
142
|
+
}
|
|
143
|
+
/** The SAME RequestTarget, narrowed: path params intersected on, `.get` typed by the query schema. */
|
|
144
|
+
export type TypedTarget<P extends string, Q> = QueryGrammar & PathParams<P> & TypedSearchParams<Q>;
|
|
145
|
+
type HandlerFor<C extends Contract, V extends keyof C & VerbName, R> = V extends 'get' ? (target: TypedTarget<C['path'], QueryOf<C[V]>>) => MaybePromise<ResponseOf<C[V], R>> : V extends 'delete' ? (target: TypedTarget<C['path'], QueryOf<C[V]>>) => MaybePromise<ResponseOf<C[V], R>> : (target: TypedTarget<C['path'], QueryOf<C[V]>>, data: BodyOf<C[V], V, R>) => MaybePromise<ResponseOf<C[V], R>>;
|
|
146
|
+
/** Every verb the contract declares is REQUIRED of the impl; a misspelled/missing verb is an error. */
|
|
147
|
+
export type ImplFor<C extends Contract> = {
|
|
148
|
+
[V in keyof C & VerbName]: HandlerFor<C, V, RecordOf<C>>;
|
|
149
|
+
};
|
|
150
|
+
/** Per-verb input schemas landed on `static inputSchemas` for OpenAPI/MCP to read. */
|
|
151
|
+
export interface VerbInputSchema {
|
|
152
|
+
query?: JsonSchemaFragment;
|
|
153
|
+
body?: JsonSchemaFragment;
|
|
154
|
+
}
|
|
155
|
+
/** The instance-side verb handlers a `withSchema` base class declares, so a subclass's overrides narrow. */
|
|
156
|
+
type SchemaHandlers<C extends Contract> = {
|
|
157
|
+
[V in keyof C & VerbName]?: HandlerFor<C, V, RecordOf<C>>;
|
|
158
|
+
};
|
|
159
|
+
/** The class returned by `Resource.withSchema(contract)`: extend it and implement the declared verbs. */
|
|
160
|
+
export type SchemaClass<Base, C extends Contract> = Base & {
|
|
161
|
+
new (...args: any[]): SchemaHandlers<C>;
|
|
162
|
+
readonly path: C['path'];
|
|
163
|
+
readonly requestContract: C;
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Build a Resource subclass carrying `contract` — its static verb entries validate before dispatch and
|
|
167
|
+
* its static metadata slots (`path`, `requestContract`, `inputSchemas`, `outputSchemas`, `properties`)
|
|
168
|
+
* feed OpenAPI/MCP. Wired as `Resource.withSchema` (see `Resource.ts`).
|
|
169
|
+
*/
|
|
170
|
+
export declare function makeSchemaClass<Base extends new (...args: any[]) => any, C extends Contract>(BaseClass: Base, contract: C): SchemaClass<Base, C>;
|
|
171
|
+
/**
|
|
172
|
+
* Function-form twin of `withSchema`: wrap an object literal of verb handlers with the contract. Every
|
|
173
|
+
* declared verb is required of `impl` (a missing/misspelled verb is a type error) and undeclared extras
|
|
174
|
+
* on an inline literal are rejected. Returns a plain resource object (drop-in wherever the untyped shape
|
|
175
|
+
* goes) whose verbs validate/coerce before running the handler.
|
|
176
|
+
*/
|
|
177
|
+
export declare function defineResource<const C extends Contract>(contract: C, impl: ImplFor<C>): ImplFor<C> & {
|
|
178
|
+
path: C['path'];
|
|
179
|
+
};
|
|
180
|
+
export {};
|