Incomplete-model IntelliSense

✓ functional

Get help from rough DDL before it is valid enough to deploy; SQLly keeps that uncertainty visible.

A DDL sketch does not need to be deployment-ready before it can be useful. SQLly reads a clearly unfinished definition, recovers what it can, and overlays its best interpretation on the real schema - without presenting that interpretation as fact.

Recovered, and labelled as recovered

Every object in the model carries a fidelity: either exact - it parsed cleanly - or recovered, in which case it also carries the list of assumptions the parser had to make and where in the text it made them. Nothing is silently guessed. A half-written CREATE TABLE still contributes its columns to completion, and the model remembers that it did so on a recovery rather than a clean read.

Incomplete regions

When a whole area cannot be collected - a file that will not parse at all, a database or schema that failed to load - the model marks that region as incomplete rather than pretending it is empty. This is the distinction that matters in practice:

“I do not know about this” is not the same as “this does not exist.” Inside an incomplete region, SQLly does not tell you a table is unknown - it cannot know that. Validation holds its tongue where its information is missing, which is what keeps the squiggles trustworthy everywhere else.

Edit mode and exemptions

While you are actively shaping a schema, the engine can run in edit mode with a set of exemptions: name prefixes or file paths excused from validation, each with a written reason. It is the difference between an editor that helps you build something new and one that shouts at you for every reference that does not exist yet - and because each exemption carries its reason, the list does not quietly become permanent.

Validation also runs at two scopes: against the statement tree you are typing, and against the whole model. So a query can be syntactically fine and still flag a reference that no source - live or local - knows anything about.