jmoiron plays the blues

c461e112 to jigo add lots more tests, clean up tests a bit with tn and tt shortcuts, report delim balancing errors in the lexer, fix a potential issue where delims clash with the block delims
d8eb6b4b to jigo lexing names, bools, many arithmetic tokens
bc6eaa20 to jigo comment lexer, close token stream when it's done to make tests a bit easier
88cd6d64 to jigo add jigo/neo, a second go at jigo, with some expression docs, lexer code nearly identical to text/template, token set identical to jinja2
3b9650f2 to go-database-sql-tutorial revise section on multi-statement support The SQL that you Exec/Query/Etc is sent to the server whether it's one statement, two statements, a haiku, or the collected works of William Shakespeare. I believe the driver *must* send it up in a single round-trip (ie, I don't think it can actually attempt to parse and split the query on the sly), but the backend can decide how to execute it. For instance, I know that multi-statement execs work with PostgreSQL and lib/pq for N statements, as this is how `sqlx.LoadFile` (naively) works; when I discovered this behavior was particular to PostgreSQL and not shared by SQLite and MySQL, that API had already been added and I didn't want to break it, even though it doesn't work reliably. I've also expanded the transaction section to mention the fact that you can completely hose a connection if you don't execute statements serially, and removed a bit about releasing resources from a Result, which never has any associated connection resources (Exec returns them immediately).