Let me please once more explain what I meant
(I am not sure id I explained it enought)

1.) When we decalre column like DECIMAL or NUMERIC then this columns will have numeric affinity
2.) Columns with numeric affinity can hold only INTEGER, REAL or BLOB data (in theory they can hold also TEXT data, but such text data can not be a valid numbers, only generic character data, which can not be translated to any number, for example 'abc')
3.) if we ommit BLOBs then we do do not need ftBCD, nor ftFmtBCD, because in SQLite database can be stored only INTEGRE (ftLargeInt) or REAL (ftFloat) values.
4.) so when we read such data, SQLite translates their internal representation (storage class) into requested type (sqlite3_column_double, int, text, blob)
5.) so only reason to introduce ftFmtBCD is to expect, that stored data are in BLOB storage class, so this is only storage class, which allows numeric values with precision > 15 (X'12345678923456789.123456789')
6.) so when we are ready to read BLOBs then we would be ready also write BLOBs (when necessary to save precision)

I do not know if I explained it sufficient, what I mean ?
Laco.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to