Jônatas Paganini

Developer Advocate at Timescale

Nerd, cyclist, and blogger. I'm a pair programming evangelist—Vim editor user, and enthusiast.

My highlight experiences involve performance and architecture. For example, I worked for a few years writing automated strategies for financial markets, processing millions of events per day.

I also worked in different domains and technologies, including embedded systems, 3D printers, and web and mobi
le development.



* How AST works in general.
* How to build a small expression parser lisp style
* Navigate in the AST in Postgresql and build simple rules to target nodes and rewrite code.

Same principles can be applied in other languages, my idea is more inspiring on tooling for better SQL ecosystem.


Developers interested in Abstract Syntax Tree, Lisp parsers and automated refactoring.

Also, devops and other folks that works with high volumes of queries may use it to instrument their research.


I'd like to walk people through my latest adventures with fast: A search/refactoring tool that work as a regular expression language to target AST nodes.

I built it originally for Ruby and now I'm also adding the support for SQL language.

This talk will be a walkthrough in the AST and the searching engine. The idea is expose my little "functional" toy and walk people through the parser and how the matching system works. Later we'll see how to use the AST Tree Rewriter to refactor code based on AST elements.