MagicStack / MagicStack/asyncpg

Document exceptions

オープン
#441 コメント 0 件 リアクション 9 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Python
スター
8.1k
フォーク
468
PR マージ指標
30日以内にマージされた PR はありません

説明

Please add the asyncpg exceptions to the documentation. I have no trouble reading source code, so was pleasantly surprised to find how rich the included exception classes are.

```python
>>> exceptions = sorted((o for o in vars(asyncpg).values() if isinstance(o, type) and issubclass(o, Exception)), key=lambda o: o.__name__)
>>> for exc in exceptions:
... if getattr(exc, 'sqlstate', None): continue # looong list otherwise
... print(exc.__name__)
... if exc.__doc__: print(exc.__doc__)
... print()
...
FatalPostgresError
A fatal error that should result in server disconnection.

InterfaceError
An error caused by improper use of asyncpg API.

InterfaceWarning
A warning caused by an improper use of asyncpg API.

InternalClientError
All unexpected errors not classified otherwise.

OutdatedSchemaCacheError
A value decoding error caused by a schema change before row fetching.

PostgresError
Base class for all Postgres errors.

ProtocolError
Unexpected condition in the handling of PostgreSQL protocol input.

UnknownPostgresError
An error with an unknown SQLSTATE code.

>>> # generated exceptions for all possible sqlstate values
...
>>> sum(1 for exc in exceptions if getattr(exc, 'sqlstate', None))
240
```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

asyncpg の例外クラスと issue に示されている例外一覧から始め、基底例外および API 例外と SQLSTATE によって生成される例外を分けます。利用可能なクラスとその説明を、SQLSTATE のカバレッジを含めて文書化します。プロジェクトのドキュメントで例外リファレンスを網羅できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
postgresql, python
領域
databases, documentation
issue の種類
ドキュメント
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。