BOOL は TINYINT(1) の別名で、1 と同じように 5 や -1 も受け付け、そのまま返します。vsql_boolean は、1 バイトで格納され、2 つの値だけを保持する STRICTBOOL カラム型を追加します。
インストール
インストールスクリプト、Docker イメージ、またはリリース tarball で VillageSQL をインストールした場合、vsql_boolean.veb はすでにサーバーの lib/veb/ ディレクトリにあります。1 つのステートメントでサーバーにインストールします。
追加される機能
STRICTBOOL 型
STRICTBOOL カラムは、文字列 'true'/'false'、't'/'f'、'yes'/'no'、'on'/'off'、および '1'/'0' を、大文字と小文字を問わず受け付けます。文字列として渡してください。裸の数値は拒否されます。どの形式で入れても true または false として読み戻され、1 バイトを占有します。
関数
例
受け付けられる書き方以外のものは、挿入時に拒否されます。
INSERT INTO flags VALUES (5, 'eps', 'maybe') は ERROR 1366 (HY000): Incorrect STRICTBOOL value: 'maybe' for column 'active' at row 1 で失敗します。引用符のない 1 も同様に、ERROR 3219 (HY000): Incorrect STRICTBOOL value: '1' for column 'active' at row 1 で失敗します。関連項目
- MySQL での本物のブール型 — TINYINT(1) カラムの移行と、集約関数が NULL をどう扱うか
- データ型の選択 — より狭い型を選ぶ価値があるのはどのような場合か
- 拡張機能のインストール —
INSTALL EXTENSIONの仕組みと、サーバーがバンドルを探す場所 - 利用可能な拡張機能 — 完全なカタログ
- villagesql/vsql-boolean — ソース、ビルド手順、および既知の制限事項