[Comm] Производительность SQLite!

Roman Savochenko =?iso-8859-1?q?rom=5Fas_=CE=C1_diyaorg=2Edp=2Eua?=
Ср Дек 1 13:05:39 MSK 2004


Evgeniy Kobzev wrote:

> Roman Savochenko пишет:
>
>> В дополнении к вопросу производительности возникло ещё парочка:
>> - Как получить, просто, список колонок в таблице?
>> В MySQL это делается запросом типа <SELECT * FROM "tbl1" WHERE 0>
>
> В MySQL в ответ на такой запрос получим:
> mysql> select * from contacts where 0;
> Empty set (0.00 sec)
>
> Видимо имелось ввиду
> SHOW FIELDS FROM contacts;
>
> А в SQLite это скорее всего
> sqlite> .schema
>
> или
>
> sqlite> PRAGMA table_info(test2);
> cid         name        type        notnull     dflt_value  pk
> ----------  ----------  ----------  ----------  ----------  ----------
> 0           name        TEXT        0                       1
> 1           num         DOUBLE      0                       0
> 2           TABLE       TEXT        0                       0
>
>> - Есть имена колонок на которые SQLite ругается. Например на запрос:
>> CREATE TABLE "test2" ("name" TEXT PRIMARY KEY, "num" DOUBLE, "TABLE" 
>> TEXT);
>> Ругается: <Request error: near "TABLE": syntax error>.
>
> Неправда.
>
> sqlite> .schema test2
> CREATE TABLE "test2" ("name" TEXT PRIMARY KEY, "num" DOUBLE, "TABLE" 
> TEXT);
>
> Как видите - всё создалось.
> Просто помните про, 'TABLE', "TABLE" и [TABLE]
> Почитайте про ключевые слова.

Евгений, ещё один вопрос можно? :)

Очередное подозрение на грабли в C-API.
Почему если запрашивать <SELECT name FROM "test00" WHERE "name"='Sh2';>
получаю имена колонок: <name>
А если <SELECT "name" FROM "test00" WHERE "name"='Sh2';>
то имена колонок: <"name">;
Подозрительная неоднозначность!

С уважением Роман!



Подробная информация о списке рассылки community