sqlx/CONTRIBUTING.md

1.5 KiB

Contributing to SQLx

Thank you for your interest in contributing to SQLx! There are many ways to contribute and we appreciate all of them.

This page contains information about reporting issues as well as some tips and guidelines useful to experienced open source contributors.

Getting Started

SQLx uses a Python3 script called x.py to run check, test, etc. on all of the crates in the workspace in all of the supported feature configurations.

  • Run check for all postgres variants (incl. examples)

    $ ./x.py check:postgres
    
  • Run check for only blocking postgres

    # -e is short for --exact
    $ ./x.py -e check:postgres:blocking
    
  • Run check for all async variants

    $ ./x.py check:_:async
    
  • Run unit tests

    $ ./x.py unit
    
  • Use -l or --list to list all tasks.

Conventions

We aim to be consistent in our naming of both lifetimes and type parameters.

Lifetimes

Lifetime Description
'x Single execution; lifetime ends after the fetch, execute, etc
'v Argument value
'q SQL query string
'e Executor
'c Connection
'p Pool

Type Parameters

Type Parameter Bound Description
Rt Runtime
E Executor
X Execute
Db Database
C Connection
R Row
O FromRow
T Encode, Decode, and/or Type