Commit a29c997
authored
Surface psql list errors instead of reporting an empty workspace (#5515)
## Why
Found during a full-repo review of the CLI. `databricks psql` lists both
provisioned database instances and autoscaling projects to populate its
interactive selector, but it discarded the errors from both list calls.
When both calls fail (for example, an auth failure), the user gets "no
Lakebase databases found in workspace" instead of the real error, which
sends them debugging the wrong problem.
## Changes
Before, list-API failures were silently ignored and surfaced as an
empty-workspace message; now, when both list calls fail, the underlying
errors are returned to the user. `listAllDatabases` returns an error
joined from both call errors when both fail. A single failing call is
still tolerated, since a workspace may have only one of the two products
enabled. The interactive selection path wraps and returns the error, and
shell completion reports `ShellCompDirectiveError` instead of silently
completing nothing.
## Test plan
- [x] Added a table-driven unit test for `listAllDatabases` covering
both calls failing (error returned, `errors.Is` matches both), each
single call failing (tolerated), and both succeeding
- [x] `go test ./cmd/psql/` passes
- [x] `go test ./acceptance -run 'TestAccept/cmd/psql'` passes
- [x] `./task fmt-q`, `./task lint-q`, and `./task checks` pass
This pull request and its description were written by Isaac.1 parent abcea9e commit a29c997
2 files changed
Lines changed: 93 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
185 | 188 | | |
186 | 189 | | |
187 | 190 | | |
| |||
237 | 240 | | |
238 | 241 | | |
239 | 242 | | |
240 | | - | |
241 | | - | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
242 | 247 | | |
243 | 248 | | |
244 | 249 | | |
| |||
260 | 265 | | |
261 | 266 | | |
262 | 267 | | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
263 | 272 | | |
264 | 273 | | |
265 | 274 | | |
| |||
269 | 278 | | |
270 | 279 | | |
271 | 280 | | |
272 | | - | |
| 281 | + | |
273 | 282 | | |
274 | 283 | | |
275 | 284 | | |
| |||
278 | 287 | | |
279 | 288 | | |
280 | 289 | | |
281 | | - | |
| 290 | + | |
282 | 291 | | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
283 | 295 | | |
284 | 296 | | |
285 | 297 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
6 | 10 | | |
| 11 | + | |
7 | 12 | | |
8 | 13 | | |
9 | 14 | | |
| |||
81 | 86 | | |
82 | 87 | | |
83 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
0 commit comments