Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Предупреждения Powerbuilder после перехода с MySQL на MariaDB / 3 сообщений из 3, страница 1 из 1
19.12.2019, 17:25
    #39905735
Apprehension
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предупреждения Powerbuilder после перехода с MySQL на MariaDB
Пару дней назад вынуждены были перейти на "Марию" с MySQL.
После этого Powerbuilder стал ругаться на запросы с агрегатными функциями.
Скажу сразу, что пробелов после названий функций нет :)
При использовании, скажем, COUNT(*) пишет о синтаксической ошибке, при использовании COUNT(1) выдает ошибку, что функция db_name.COUNT() не существует и рекомендует обратиться к руководству в части разрешения имён функций.
При этом, если проигнорировать предупреждение и скомпилировать-таки программу, запросы работают.

В чём может быть дело, кроме разницы в настройках обеих баз? :)
...
Рейтинг: 0 / 0
20.12.2019, 16:26
    #39906239
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предупреждения Powerbuilder после перехода с MySQL на MariaDB
Apprehension
Пару дней назад вынуждены были перейти на "Марию" с MySQL.
После этого Powerbuilder стал ругаться на запросы с агрегатными функциями.
Скажу сразу, что пробелов после названий функций нет :)
При использовании, скажем, COUNT(*) пишет о синтаксической ошибке, при использовании COUNT(1) выдает ошибку, что функция db_name.COUNT() не существует и рекомендует обратиться к руководству в части разрешения имён функций.
При этом, если проигнорировать предупреждение и скомпилировать-таки программу, запросы работают.

В чём может быть дело, кроме разницы в настройках обеих баз? :)

Как вариант пропишите схему, например: db_name. dbo .COUNT()
...
Рейтинг: 0 / 0
25.12.2019, 16:20
    #39907955
Apprehension
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Предупреждения Powerbuilder после перехода с MySQL на MariaDB
Вся сожность в том, что Powerbuilder обычную запись встроенной агрегатной функции "count(*)" воспринимает как запись функции пользователя "db_name.count()" и выдает ошибку, поскольку никакой пользовательской функции с таким именем, понятно, нет.

Более того, я переписывал запрос из PowerBuilder в HeidiSQL и тот совершенно правильно его исполнил. А вот когда я добавил в Хейди перед именем агрегатной функции имя БД - мне выдали ошибку один в один с Билдером.
Но в тексте-то Билдера у меня нет никаких ссылок на БД. А схем нет вообще, кроме той, что по умолчанию (по крайней мере select database() и select schema() выдают одно и то же).

ПС. Появилась дополнительная сложность - если такой запрос встречется внутри функции, то игнорирование предупреждения компилятора приводит к нештатной работе функции.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Предупреждения Powerbuilder после перехода с MySQL на MariaDB / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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