Thanks to all who replied, I appreciate all your help. The problem is now solved. The ticket 1540 is indeed invalid (the primary key IS created, even when it is not visible in sqlite_master) and I got all the answers I needed.
To summarize: for getting information about all the indexes for a table, one should use PRAGMA table_info(table_name) for extracting the primary key, and then query the sqlite_master for the names of other indexes, ignoring any 'sqlite_autoindex_tablename_1' entries. To answer Shane's question (if a constraint should be queriable or not), in my opinion anything that can be set should be queriable, otherwise one could not build an administration tool that works as expected. As far as sqlite is concerned, almost anything can be queried without parsing the SQL. Why 'almost'? I still didn't figure out a way (other than parsing) to query the collation sequence for a field, for example. Done. Now I can finally go to bed. Regards, Bogdan

