mirror of
https://github.com/launchbadge/sqlx.git
synced 2025-12-29 21:00:54 +00:00
70 lines
1.5 KiB
Markdown
70 lines
1.5 KiB
Markdown
# 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)
|
|
|
|
```sh
|
|
$ ./x.py check:postgres
|
|
```
|
|
|
|
- Run `check` for _only_ blocking postgres
|
|
|
|
```sh
|
|
# -e is short for --exact
|
|
$ ./x.py -e check:postgres:blocking
|
|
```
|
|
|
|
- Run `check` for all async variants
|
|
|
|
```sh
|
|
$ ./x.py check:_:async
|
|
```
|
|
|
|
- Run `unit` tests
|
|
|
|
```sh
|
|
$ ./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 e**x**ecution; lifetime ends after the `fetch`, `execute`, etc |
|
|
| `'v` | Argument **v**alue |
|
|
| `'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` | |
|