Richard, et al,

On Fri, Jul 21, 2017 at 2:08 PM, Richard Hipp <d...@sqlite.org> wrote:
> On 7/21/17, Simon Slavin <slav...@bigfraud.org> wrote:
>>
>> The new features introduced by SQLite since it started using file format 3
>> all require explicit commands to use.  Adding columns to existing tables,
>> AUTOVACUUM mode, WAL journals, DESC indexes, all require you to execute a
>> specific SQL command to use them.
>
> More precisely, the all require a schema change.
>
> If you have a database created by old-application-X using a really old
> version of SQLite.  Then you run DML statements using
> brand-new-application-Y, those DML statement will never change the
> database in any that make it unreadable by X.

The only trouble is - how do I know what version were used.
My application may use some features that is available right now and
I want to use them because they are great.
But if I open the DB from the old version I will simply get an error.

And if I don't know the DB file version - I will be clueless what is
going on. (Well, not exactly, but it will be less head scratching).

Now, I'm not saying "Hey some unused bytes in the header should
be used for that". I'm just pointing out that in some cases it is useful
information. And it is up to you and you team as a core devs to
consider it or not.

Thank you.

>
> "DML statements" = SELECT, INSERT, UPDATE, DELETE.
> --
> D. Richard Hipp
> d...@sqlite.org
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to