Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Разные регистры в именах полей и таблиц. / 4 сообщений из 4, страница 1 из 1
28.04.2006, 16:30
    #33698058
RussianSpy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные регистры в именах полей и таблиц.
Поставили задачу следующего плана. Написать систему на РНР, которая будет работать как с PostgreSQL так и с MySQL. Решил использовать ADO.DB.
НО! Оказалось, что даже так непросто написать подобную кросс-систему. Дело в том, что таблицы и имена полей в БД называются примерно так: MenuItems, MenuItemsID, PageID и т.д. То есть используются как прописные так и заглавные буквы.

Получается, что тут уже несовместимость на уровне SQL-запросов.
То есть. Для Postgres запрос пишем так:

SELECT * FROM "MenuItems" WHERE "MenuItemsID">0

А в MySQL для тех же целей используются обратные кавычки `:

SELECT * FROM `MenuItems` WHERE MenuItemsID>0

Тут уж никакой совместимости не получается.

Что можете посоветовать?
...
Рейтинг: 0 / 0
28.04.2006, 17:01
    #33698185
-me-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные регистры в именах полей и таблиц.
Гм, наиболее корректным видится следующее решение:
query string from PHP as std SQL -> парсер std SQL -> concrete SQL translator -> query to DB
где concrete SQL translator - это либо PostgreSQLTranslator либо MySQLTranslator

для данной конкретной задачи необязательно реализовывать полный SQL парсер, достаточно получить такой, который позволит определить подстроки, представляющие имена таблиц/полей.
Это не должно составить особой сложности (если только нет необходимости обеспечить совместимость по вызовам "встроенных" функций, используемых в запросах)
...
Рейтинг: 0 / 0
28.04.2006, 17:26
    #33698259
odyn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные регистры в именах полей и таблиц.
$db->nameQuote
...
Рейтинг: 0 / 0
28.04.2006, 17:44
    #33698307
RussianSpy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные регистры в именах полей и таблиц.
odyn$db->nameQuote
Спасибо огромное. Коротко и на 100% точно. =))
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Разные регистры в именах полей и таблиц. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]