BOOL é um alias para TINYINT(1), que aceita 5
e -1 tão bem quanto 1, e os devolve sem alteração. O vsql_boolean
adiciona um tipo de coluna STRICTBOOL que armazena um byte e guarda dois
valores.
Instalar
Ovsql_boolean.veb já está no diretório lib/veb/ do servidor se você
instalou o VillageSQL com o script de instalação, a imagem Docker ou um tarball
de release. Instale-o no servidor com uma única instrução:
O que ela adiciona
O tipo STRICTBOOL
Uma colunaSTRICTBOOL aceita as strings 'true'/'false', 't'/'f',
'yes'/'no', 'on'/'off' e '1'/'0', em qualquer combinação de
maiúsculas e minúsculas. Passe-as como strings: um número sem aspas é recusado.
Ela é lida como true ou false, qualquer que seja a forma que entrou, e
ocupa um byte.
Funções
Exemplo
Qualquer coisa fora das grafias aceitas é recusada no momento da inserção:
INSERT INTO flags VALUES (5, 'eps', 'maybe') falha com
ERROR 1366 (HY000): Incorrect STRICTBOOL value: 'maybe' for column 'active' at row 1. O mesmo acontece com um 1 sem aspas, com
ERROR 3219 (HY000): Incorrect STRICTBOOL value: '1' for column 'active' at row 1.Veja também
- Booleanos reais no MySQL — migrar uma coluna TINYINT(1) e o que os agregados fazem com NULL
- Escolhendo tipos de dados — quando um tipo mais estreito vale a pena
- Instalar extensões — como o
INSTALL EXTENSIONfunciona e onde o servidor procura um bundle - Extensões disponíveis — o catálogo completo
- villagesql/vsql-boolean — código-fonte, instruções de compilação e as limitações conhecidas