No BOOLEAN field in Firebird?
Boolean field is available since Firebird 3.0.
For versions prior to 3.0, but you have several alternatives:
1. use char(1)
2. use smallint
3. use domains
Domains are probably the best solution. You can create domain like this:
CREATE DOMAIN BOOLEAN
AS SMALLINT
CHECK (value is null or value in (0, 1));
Later in table definition you can refer to it as a regular datatype.
CREATE TABLE t1
(
C1 VARCHAR(10),
B1 BOOLEAN,
B2 BOOLEAN NOT NULL,
...
);
If you use a connectivity library like OleDB under .Net, you can override the OleDB provider's GetSchema method, so the DataTables you get from queries have native .Net booleans.