Skip to content

Commit a75f1a4

Browse files
committed
fix: weird queries
1 parent fe5987e commit a75f1a4

File tree

6 files changed

+26
-41
lines changed

6 files changed

+26
-41
lines changed

pkg/db/deployment_topology_find_regions.sql_generated.go

Lines changed: 12 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/db/deployment_topology_update_desired_status.sql_generated.go

Lines changed: 4 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/db/querier_generated.go

Lines changed: 3 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
-- name: FindDeploymentRegions :many
22
-- Returns all regions where a deployment is configured.
33
-- Used for fan-out: when a deployment changes, emit state_change to each region.
4-
SELECT r.name
4+
SELECT r.*
55
FROM `deployment_topology` dt
66
INNER JOIN `regions` r ON dt.region_id = r.id
77
WHERE dt.deployment_id = sqlc.arg(deployment_id);

pkg/db/queries/deployment_topology_update_desired_status.sql

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,4 @@
33
-- A new version is required so that WatchDeployments picks up the change.
44
UPDATE `deployment_topology`
55
SET desired_status = sqlc.arg(desired_status), version = sqlc.arg(version), updated_at = sqlc.arg(updated_at)
6-
WHERE deployment_id = sqlc.arg(deployment_id) AND region_id = (
7-
SELECT id
8-
FROM `regions`
9-
WHERE name = sqlc.arg(region)
10-
LIMIT 1
11-
);
6+
WHERE deployment_id = sqlc.arg(deployment_id) AND region_id = sqlc.arg(region_id);

svc/ctrl/worker/deployment/deployment_state.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -130,17 +130,17 @@ func (v *VirtualObject) ChangeDesiredState(ctx restate.ObjectContext, req *hydra
130130

131131
// Update all topology entries so WatchDeployments picks up the change.
132132
// Each region needs a new version from VersioningService.
133-
regions, err := restate.Run(ctx, func(runCtx restate.RunContext) ([]string, error) {
133+
regions, err := restate.Run(ctx, func(runCtx restate.RunContext) ([]db.Region, error) {
134134
return db.Query.FindDeploymentRegions(runCtx, v.db.RO(), deploymentID)
135135
}, restate.WithName("find deployment regions"))
136136
if err != nil {
137137
return nil, fmt.Errorf("failed to find deployment regions: %w", err)
138138
}
139139

140140
for _, region := range regions {
141-
versionResp, err := hydrav1.NewVersioningServiceClient(ctx, region).NextVersion().Request(&hydrav1.NextVersionRequest{})
141+
versionResp, err := hydrav1.NewVersioningServiceClient(ctx, region.ID).NextVersion().Request(&hydrav1.NextVersionRequest{})
142142
if err != nil {
143-
return nil, fmt.Errorf("failed to get next version for region %s: %w", region, err)
143+
return nil, fmt.Errorf("failed to get next version for region %s: %w", region.ID, err)
144144
}
145145

146146
err = restate.RunVoid(ctx, func(runCtx restate.RunContext) error {
@@ -149,9 +149,9 @@ func (v *VirtualObject) ChangeDesiredState(ctx restate.ObjectContext, req *hydra
149149
Version: versionResp.GetVersion(),
150150
UpdatedAt: sql.NullInt64{Valid: true, Int64: time.Now().UnixMilli()},
151151
DeploymentID: deploymentID,
152-
Region: region,
152+
RegionID: region.ID,
153153
})
154-
}, restate.WithName(fmt.Sprintf("updating topology desired status in %s", region)))
154+
}, restate.WithName(fmt.Sprintf("updating topology desired status in %s", region.ID)))
155155
if err != nil {
156156
return nil, fmt.Errorf("failed to update topology desired status in %s: %w", region, err)
157157
}

0 commit comments

Comments
 (0)