7namespace SqlColumnTypeDefinitions
12struct Binary { std::size_t size = 255; };
14struct Char { std::size_t size = 1; };
17struct Decimal { std::size_t precision {}; std::size_t scale {}; };
20struct NChar { std::size_t size = 1; };
21struct NVarchar { std::size_t size = 255; };
24struct Text { std::size_t size {}; };
28struct VarBinary { std::size_t size = 255; };
29struct Varchar { std::size_t size = 255; };
34using SqlColumnTypeDefinition = std::variant<SqlColumnTypeDefinitions::Bigint,
35 SqlColumnTypeDefinitions::Binary,
36 SqlColumnTypeDefinitions::Bool,
37 SqlColumnTypeDefinitions::Char,
38 SqlColumnTypeDefinitions::Date,
39 SqlColumnTypeDefinitions::DateTime,
40 SqlColumnTypeDefinitions::Decimal,
41 SqlColumnTypeDefinitions::Guid,
42 SqlColumnTypeDefinitions::Integer,
43 SqlColumnTypeDefinitions::NChar,
44 SqlColumnTypeDefinitions::NVarchar,
45 SqlColumnTypeDefinitions::Real,
46 SqlColumnTypeDefinitions::Tinyint,
47 SqlColumnTypeDefinitions::Smallint,
48 SqlColumnTypeDefinitions::Text,
49 SqlColumnTypeDefinitions::Time,
50 SqlColumnTypeDefinitions::Timestamp,
51 SqlColumnTypeDefinitions::VarBinary,
52 SqlColumnTypeDefinitions::Varchar>;