blob: 15c900c5d29fff245a0e45e5c924980ef5b660cd [file] [view] [edit]
# PerfettoSQL Style Guide
_This page provides a suggested style guide for writing PerfettoSQL and is in
use inside the PerfettoSQL standard library in the trace processor. It also
provides guidance on the autoformatter._
## Rules
1. Keep lines below 80 characters long
2. Function names, macro names and table/view names should all be lower snake
case.
3. SQL keywords should all be upper case
4. When line-breaking SQL expressions, place the joining keyword (AND/OR) at the
_start of the next line_ rather than the _end of the previous line_.
## Autoformatter
PerfettoSQL comes with an auto-formatter driven by `tools/format-sql-sources`.
It shells out to `syntaqlite fmt` using the same PerfettoSQL grammar the trace
processor itself parses with, loaded as a shared library. The script can be run
over any set of files or directories and automatically formats the code to
adhere to the above rules.
This script is _required_ to be run when making contributions to the standard
library. It's automatically executed as part of running `tools/gen_all` which
is part of the standard development workflow in Perfetto. Presubmit will check
to make sure you've done this.