Commit 8cf8c62
committed
feat(format): skip the project load when paths are given
`sqlmesh format` already accepted positional paths and never loaded
state, but it still loaded every model in the project and then filtered
them down with `Path.samefile`. That load is wasted work: formatting
pretty-prints a file's own text, and needs nothing from the rest of the
project graph.
Formatting a file needs only three things — the file's text, the config
of the project that owns its path, and the dialect and formatting flag.
The first two come from `config_for_path`, which resolves a config from
a path alone, and the last two are read off the file's own MODEL/AUDIT
header. So when paths are given the project is no longer loaded, and
`format` now joins `lint` in scoping its own load: with no paths it
loads the project itself, which also leaves the web and LSP callers
untouched since those contexts are already loaded.
Whether a file is a model is now decided by parsing its header rather
than by membership in the loaded project, which keeps macros and other
non-model SQL a no-op and ignores Python model paths. One consequence
worth calling out: a standalone audit is formatted when selected by
path, while the project-wide pass still skips it, because it is loaded
into `_standalone_audits` rather than `_audits`. That gap predates this
change and is noted on the issue.
Collecting targets through a small named tuple lets both the path-based
and project-wide routes share one format-and-write loop, and drops the
`samefile` call that ran once per model in the project.
Signed-off-by: Adegbite Ayoade <tripleaceme@gmail.com>1 parent ee57c61 commit 8cf8c62
5 files changed
Lines changed: 339 additions & 41 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
224 | 224 | | |
225 | 225 | | |
226 | 226 | | |
227 | | - | |
| 227 | + | |
228 | 228 | | |
229 | 229 | | |
230 | 230 | | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
231 | 235 | | |
232 | 236 | | |
233 | 237 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
144 | | - | |
145 | | - | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
146 | 147 | | |
147 | 148 | | |
148 | 149 | | |
| |||
395 | 396 | | |
396 | 397 | | |
397 | 398 | | |
398 | | - | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
399 | 405 | | |
400 | 406 | | |
401 | 407 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| 70 | + | |
| 71 | + | |
70 | 72 | | |
71 | 73 | | |
72 | 74 | | |
| |||
119 | 121 | | |
120 | 122 | | |
121 | 123 | | |
122 | | - | |
| 124 | + | |
123 | 125 | | |
124 | 126 | | |
125 | 127 | | |
| |||
164 | 166 | | |
165 | 167 | | |
166 | 168 | | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
167 | 179 | | |
168 | 180 | | |
169 | 181 | | |
| |||
1323 | 1335 | | |
1324 | 1336 | | |
1325 | 1337 | | |
1326 | | - | |
1327 | | - | |
1328 | | - | |
1329 | | - | |
1330 | | - | |
1331 | | - | |
1332 | | - | |
1333 | | - | |
1334 | | - | |
| 1338 | + | |
1335 | 1339 | | |
1336 | | - | |
1337 | | - | |
1338 | | - | |
1339 | | - | |
1340 | | - | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
1341 | 1352 | | |
1342 | | - | |
1343 | | - | |
1344 | | - | |
| 1353 | + | |
1345 | 1354 | | |
1346 | | - | |
1347 | | - | |
1348 | | - | |
1349 | | - | |
1350 | | - | |
1351 | | - | |
1352 | | - | |
1353 | | - | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
1354 | 1365 | | |
1355 | | - | |
1356 | | - | |
1357 | | - | |
1358 | | - | |
1359 | | - | |
1360 | | - | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
1361 | 1370 | | |
1362 | 1371 | | |
1363 | 1372 | | |
| |||
1369 | 1378 | | |
1370 | 1379 | | |
1371 | 1380 | | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
| 1434 | + | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
| 1440 | + | |
| 1441 | + | |
| 1442 | + | |
1372 | 1443 | | |
1373 | 1444 | | |
1374 | 1445 | | |
1375 | 1446 | | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
1376 | 1460 | | |
| 1461 | + | |
| 1462 | + | |
1377 | 1463 | | |
1378 | 1464 | | |
1379 | 1465 | | |
1380 | 1466 | | |
1381 | 1467 | | |
1382 | | - | |
1383 | 1468 | | |
1384 | 1469 | | |
1385 | 1470 | | |
1386 | 1471 | | |
1387 | 1472 | | |
1388 | 1473 | | |
1389 | | - | |
| 1474 | + | |
1390 | 1475 | | |
1391 | 1476 | | |
1392 | 1477 | | |
1393 | | - | |
| 1478 | + | |
1394 | 1479 | | |
1395 | 1480 | | |
1396 | | - | |
| 1481 | + | |
1397 | 1482 | | |
1398 | 1483 | | |
1399 | 1484 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2611 | 2611 | | |
2612 | 2612 | | |
2613 | 2613 | | |
| 2614 | + | |
| 2615 | + | |
| 2616 | + | |
| 2617 | + | |
| 2618 | + | |
| 2619 | + | |
| 2620 | + | |
| 2621 | + | |
| 2622 | + | |
| 2623 | + | |
| 2624 | + | |
| 2625 | + | |
| 2626 | + | |
| 2627 | + | |
| 2628 | + | |
| 2629 | + | |
| 2630 | + | |
| 2631 | + | |
| 2632 | + | |
| 2633 | + | |
| 2634 | + | |
| 2635 | + | |
| 2636 | + | |
| 2637 | + | |
0 commit comments