Кузнецов Евгений пишет:
Доброго времени суток!
Обнаружил (1.5.4, 2.0.1) интересную вещь
Если выполнить в isql команду
CREATE TABLE "TABLE1"
("FIELD1" INTEGER);
то сервер будет рассматривать идентификаторы
"TABLE1", "FIELD1" как регистронезависимые,
допуская запросы
select field1 from table1
В остальных же случаях все в порядке
CREATE TABLE "Table1"
("Field1" INTEGER);
- зависит от регистра
Смотрю LangRef.pdf:
To use keywords, ASCII characters, case-sensitive strings, or spaces
in an object name,
enclose the name in double quotes. It is then a delimited identifier.
Delimited identifiers
must always be referenced in double quotes.
Ошибка в документации или в сервере?
Все идентификаторы, которые ты используешь без кавычек, преобразуются к
верхнему регистру и сравниваются с метаданными. Т.к. ты создал таблицу и
поле в верхнем регистре - сервер однозначно идентифицировал объекты и не
ругнулся. Никаких признаков у объектов (кавычкастые они или нет) в
метаданных не хранится (имхо).
--
С уважением,
Андрей Еремин.