SqlScanner

internal object SqlScanner

Walks SQL text, recognising the constructs whose contents mean nothing to whoever is reading it.

Two things read SQL here and neither of them parses it: SqlParameterParser looks for @name, and SqlScript looks for the ; that separate statements. Both have the same and only hard problem - a quoted string, a dollar-quoted function body or a comment can hold anything at all, @name and ; included, and none of it counts. That problem is solved once, here.

Functions

Link copied to clipboard

Where the construct starting at i ends, or i itself if nothing starts there.

Link copied to clipboard

Whether what starts at i is a comment rather than content.