-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
Here's a task for all who want to contribute but don't feel ready to start C++-coding.
Our grammar parser needs some more stress-testing, I think. The grammar parser is the part that tries to understand the CREATE TABLE ...
statements and extract all the information on the table. So testing it is as simple as creating a new database, adding a table (via SQL), opening it in the Edit Table dialog and see the SQL code it prints. If there is something missing, that's a bug. Or if you have a database and notice that some existing table isn't fully parsed, it's a bug, too, of course.
If you are more of a systematic person, you can check out the diagrams at https://sqlite.org/lang_createtable.html and try out the various combinations and keywords mentioned in there.
There are some features which we know are missing. These are:
- Named constraints (names for unique/primary key/foreign key constraints)
- Sorted indices (ASC/DESC in primary key/unique constraints)
- The COLLATE keyword and all its uses
- Primary keys with multiple columns in it
But there are certainly more 😃 So I want to encourage everybody who stumbles upon another issue to open a new issue for it.
Also there are some parts that our parser understands (multiple columns in a unique constraint for example) but you aren't able to create or edit using the UI - only using SQL. Every one of these is worth opening an issue, too 😉 Just make it clear whether it's a problem with the parser or the dialog.
Thanks to all helping to make the grammar parsing as complete as possible for the next release 😃