On Sat, 16 Feb 2013, TonyMc wrote:

On Fri, 15 Feb 2013 13:43:21 +0100 (CET), you wrote:


You should use a real database instead of sqlite.
sqlite is good only for storing strings.

I don't know what you mean by a "real database" but you are wrong
about the data types SQLite can hold.  I seem to recall that what you
say was once true (or closer to the truth), but things change.  I have
stored integers, reals, blobs and strings in sqlite tables.

I never said you cannot do that.
I said: it is *good* only for storing strings. Configuration variables or so.

Why ? Because sqlite does not enforce the data type.

You can perfectly store a string in an integer declared column:

home: >sqlite3 SQLite version 3.7.9 2011-11-01 00:52:41 Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table t (a int);
sqlite> insert into t (a) values ("a string");
sqlite> select * from t;
a string
sqlite>

QED.

Furthermore, SQLite makes a good partner for FreePascal and Lazarus,
so you should not discourage people here from using it.

I strongly disagree it is a good partner.

Object Pascal is a strongly typed language:
FPC database code expects an integer in a column declared as integer.

So if sqlite does not ensure this, it is a bad partner for Object Pascal.

A good partner is Firebird or Postgres: real databases with stable apis.

I will never stop discouraging people from what I think is very bad software.
And I consider sqlite very bad for the reasons outlined above.

Michael.

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to