Phase-0 foundation of the pricing-repackaging epic (combined stories P0.1 + P0.2, elasticsql core).
P0.1 — Quota model changes
- Remove
maxConcurrentQueries from the Quota case class (it was never enforced).
- Final
Quota shape: Quota(maxMaterializedViews, maxQueryResults, maxClusters = Some(0), maxJoins = Some(0)) (4 args).
- Community tier rebalanced:
maxJoins 1 -> 2, maxMaterializedViews 3 -> 1.
- Community = { MV
Some(1), results Some(10000), clusters Some(1), joins Some(2) }.
- Drop the
max_concurrent_queries row from SHOW LICENSE output (ADR D1).
P0.2 — Remove dead feature flags
- Remove
UnlimitedResults and AdvancedAggregations from the Feature enum (values / fromString / toSnakeCase).
- Result-limit policy is now driven solely by
Quota.maxQueryResults per tier (no feature flag) — covered by the new ResultLimitInvariantSpec.
Feature.values = [MaterializedViews, JdbcDriver, AdbcDriver, FlightSql, Federation, Repl] (size 6).
Verification
+ sql/compile, + core/compile (cross 2.12 + 2.13) green.
licensing suites (QuotaSpec, FeatureSpec, FeatureFromStringSpec, LicenseManagerSpec, LicenseKeySpec, LicenseUsageSpec, ResultLimitInvariantSpec) — 82 tests pass.
core LicenseExecutorSpec — 13 tests pass.
scalafmtAll + headerCheck clean.
licensing + core publishLocal'd at 0.20-SNAPSHOT (2.12 + 2.13) to unblock downstream P0.3/P0.4/P0.5/P0.6.
Docs/marketing deferred to P1.3 (no doc sync in this PR).
🤖 Generated with Claude Code
Phase-0 foundation of the pricing-repackaging epic (combined stories P0.1 + P0.2, elasticsql core).
P0.1 — Quota model changes
maxConcurrentQueriesfrom theQuotacase class (it was never enforced).Quotashape:Quota(maxMaterializedViews, maxQueryResults, maxClusters = Some(0), maxJoins = Some(0))(4 args).maxJoins1 -> 2,maxMaterializedViews3 -> 1.Some(1), resultsSome(10000), clustersSome(1), joinsSome(2)}.max_concurrent_queriesrow fromSHOW LICENSEoutput (ADR D1).P0.2 — Remove dead feature flags
UnlimitedResultsandAdvancedAggregationsfrom theFeatureenum (values/fromString/toSnakeCase).Quota.maxQueryResultsper tier (no feature flag) — covered by the newResultLimitInvariantSpec.Feature.values= [MaterializedViews, JdbcDriver, AdbcDriver, FlightSql, Federation, Repl] (size 6).Verification
+ sql/compile,+ core/compile(cross 2.12 + 2.13) green.licensingsuites (QuotaSpec, FeatureSpec, FeatureFromStringSpec, LicenseManagerSpec, LicenseKeySpec, LicenseUsageSpec, ResultLimitInvariantSpec) — 82 tests pass.coreLicenseExecutorSpec — 13 tests pass.scalafmtAll+headerCheckclean.licensing+corepublishLocal'd at0.20-SNAPSHOT(2.12 + 2.13) to unblock downstream P0.3/P0.4/P0.5/P0.6.Docs/marketing deferred to P1.3 (no doc sync in this PR).
🤖 Generated with Claude Code