intent: a roll-up balance against a capacity that is measured but not enforced (budget versus actual), or a computed report column
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
調査の方向性
Read RollupIntentGenerator, especially the updateDerived to updateProperties path, and ReportIntentGenerator.addMeasure to see the current limits described in the issue. Trace how capacity, balance, and child-side guards are handled, then choose either the enforce: false roll-up behavior or computed report columns. Done means over-budget values are allowed, a null capacity produces a null balance, and the selected behavior is covered by a test.
索引モデルが issue の本文から書いたものです。
説明
Shape asked: a sum roll-up that keeps a remainder against a parent field and does NOT refuse. Two options; either one is enough:
rollups:
- { name: projectActualHours, entity: ProjectTimesheet, via: Project, field: actualHours, op: sum, of: approvedHours,
capacity: budgetHours, balance: remainingHours, enforce: false } # measured, never guarded
or a report column computed from the row's own fields:
reports:
- name: BudgetVsActual
source: Project
dimensions: [code, name, budgetHours, actualHours]
columns: [{ name: remainingHours, expr: "budgetHours - actualHours" }, { name: consumedPercent, expr: "actualHours * 100 / budgetHours" }]
Why 14.88.0 cannot express it:
balance:requirescapacity:, andcapacity:always emits the child-side guard (#7448/#7542). A guard is right for money that must not be over-allocated. Booked hours over a project's budget are information, not an error. With the guard, the monthly schedule could not even create the next project-month of an over-budget project.guardAt:moves the guard, it does not remove it. A null capacity reads as 0 in the handler, so an unbudgeted project would refuse everything.- A stored
remainingHourswithcalculatedOnUpdate: "BudgetHours - ActualHours"goes stale. The roll-up writesactualHoursthroughupdateDerived→updateProperties, which runs no calculated expression. - A report measure is
aggregate(field)only (ReportIntentGenerator.addMeasure). 14.90.0 adds ledger, aging and statement shapes, but no computed column.
Case: BusinessIntents/base-projects (budget versus actual, GAP_ANALYSIS "app-projects"). Project.actualHours/actualRevenue are now roll-ups from base-timesheets (the foreign-parent direction of #6930, which works). remainingHours and the consumed % are what is left. The BudgetVsActual report shows budget and actual side by side until this lands.
enforce: false is the smaller change and also gives the remainder on the record page. When the capacity is null, the balance should be null, not -sum.
- 主要言語
- Java
- スター
- 278
- フォーク
- 97
- 平均マージ
- 18時間 57分
- マージ済み PR(30日)
- 249
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
eclipse-dirigible/dirigible のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
eclipse-dirigible/dirigible#7958 ·
メンテナーはふだん 1 日以内に返信
-
intent: a create-from without fromStatus answers 200 on a missing or unknown source id (no 400/404)オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
eclipse-dirigible/dirigible#7945 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
eclipse-dirigible/dirigible#7891 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
eclipse-dirigible/dirigible#6538 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
eclipse-dirigible/dirigible#4812 ·
メンテナーはふだん 1 日以内に返信
eclipse-dirigible/dirigible の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
hiero-ledger/hiero-sdk-java#3010 ·
メンテナーはふだん 1 日以内に返信
-
Optimize consumer version heatmap aggregation to avoid repeated scans対応中かも @praykaria31 が今日担当しました。 オープンtype/enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Apicurio/apicurio-registry#10662 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
a:false-positive
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
メンテナーはふだん 1 日以内に返信
-
status: waiting-for-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
spring-projects/spring-boot#52347 ·
メンテナーはふだん 2 日以内に返信
-
bug untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
opensearch-project/opensearch-migrations#3480 ·
メンテナーはふだん 2 日以内に返信