★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

第 45章PostgreSQL ソースコード

目次
45.1. フォーマット
45.2. サーバ内部からのエラーの報告
45.3. エラーメッセージのスタイルガイド
45.3.1. 何がどこで起こったか
45.3.2. 整形
45.3.3. 引用符
45.3.4. 引用符の使用
45.3.5. 文法と句読点
45.3.6. 大文字と小文字
45.3.7. 受動態の禁止
45.3.8. 現在形と過去形
45.3.9. オブジェクトの種類
45.3.10. 角括弧
45.3.11. エラーメッセージの組み立て
45.3.12. エラーの理由
45.3.13. 関数名
45.3.14. ややこしい単語の防止
45.3.15. 適切なスペル
45.3.16. 地域化

45.1. フォーマット

ソースコードのフォーマットでは、タブを4カラムとするスペーシングを使用し、現在はタブを保存しています(つまりタブをスペースに展開しません)。 各論理インデントのレベルは、更に1つのタブストップです。 レイアウト規則(中括弧の位置など)はBSDの規則に従います。

登録されたパッチは完全にこの書式規則に従わないませんが、そのようにすることを勧めます。 登録されるコードはpgindentに通されます。 ですので、他の書式規則に従って作成して、見ためを良くすることに意味がありません。

Emacsに関しては、~/.emacs初期化ファイルに以下(のようなもの)を追加してください。

;; パスに "postgres" または "pgsql"が含まれているか検査する。
(setq auto-mode-alist
  (cons '("\\(postgres\\|pgsql\\).*\\.[ch]\\'" . pgsql-c-mode)
        auto-mode-alist))
(setq auto-mode-alist
  (cons '("\\(postgres\\|pgsql\\).*\\.cc\\'" . pgsql-c-mode)
        auto-mode-alist))

(defun pgsql-c-mode ()
  ;; PostgreSQL C コード用のフォーマットの設定を行う
  (interactive)
  (c-mode)
  (setq-default tab-width 4)
  (c-set-style "bsd")             ; c-basic-offset を4に設定し、いくつか追加する
  (c-set-offset 'case-label '+)   ; PG に合わせてcase 文のインデントを変更する
  (setq indent-tabs-mode t))      ; インデント処理時にタブを保持させる

viに関しては、~/.vimrc、またはその類のファイルに下記の内容が含まれている必要があります。

set tabstop=4

または、vi内で下記のようにコマンドを実行してください。

:set ts=4

テキスト閲覧ツール、morelessでは以下のようにすればタブを適切に表示させることができます。

more -x4
less -x4