You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Both are valid, but PRAGMA table_info(tbl_lowercase); => bool: boolean and PRAGMA table_info(tbl_UPPERCASE); => bool: BOOLEAN.
type of "int" is INTEGER in both cases.
Maybe we should uppercase parameter.type in buildSQL to not miss type because of case.
I would like we support also float / FLOAT (it's REAL).
For datetime I don't have strong opinion. It's OK to use TEXT for iso datetime, INTEGER for unix epoch So i'm not sure we need a dedicated process case (which would need format option)
The text was updated successfully, but these errors were encountered:
NB: strict table is a great option, but sometimes we want more precise types (even if it has no impact on sqlite) for schema creation interoperable with other dbms. We could use an ORM / query-builder like Lucid / Knex.js
tpoisseau
added a commit
to tpoisseau/smart-sqlite3-filter
that referenced
this issue
Feb 19, 2025
Inconsistent type names from
PRAGMA table_info(table_name);
when using types not listed in strict table.https://www.sqlite.org/datatype3.html
https://www.sqlite.org/stricttables.html
Both are valid, but
PRAGMA table_info(tbl_lowercase);
=> bool: boolean andPRAGMA table_info(tbl_UPPERCASE);
=> bool: BOOLEAN.type of
"int"
isINTEGER
in both cases.Maybe we should uppercase
parameter.type
inbuildSQL
to not miss type because of case.I would like we support also
float
/FLOAT
(it'sREAL
).For
datetime
I don't have strong opinion. It's OK to use TEXT for iso datetime, INTEGER for unix epoch So i'm not sure we need a dedicated process case (which would need format option)The text was updated successfully, but these errors were encountered: