powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Инструмент для рабработки БД
25 сообщений из 97, страница 3 из 4
Инструмент для рабработки БД
    #39889118
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВМоисеев,

На картинке плохо видно - можно пример в виде SQL скрипта на создание объекта - в котором происходит ошибка?
Или так - при нажати компиляции выдаётся окно компиляции с текстом SQL - его тоже пойдёт.
Как я могу увидеть - там русские идентификаторы где-то есть? Уж очень картинка замытая.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39889159
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>alexs75, сегодня, 14:25 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1317850&msg=22016277] [22016277]
>...Как я могу увидеть - там русские идентификаторы где-то есть?
<Постоянно применяю русские идентификаторы, как по смыслу, так и по написанию

CREATE OR REPLACE FUNCTION public.au01_языки_sel( IN $pk_Entity uuid,
IN $str_Язык varchar,
IN $int_Limit integer)
RETURNS refcursor
AS
$BODY$
declare
id0 uuid := '00000000-0000-0000-0000-000000000000';
rfc refcursor;
begin
if "$pk_Entity" != id0 then
open rfc for
SELECT t.*
FROM "tbl01_Языки" t
WHERE t."pk_Entity" = "$pk_Entity"
LIMIT(1);
else
open rfc for
SELECT t.*
FROM "tbl01_Языки" t
WHERE (t."pk_Entity" <> id0) AND
(("$str_Язык" IS NULL) OR (t."str_Язык" LIKE "$str_Язык"))
ORDER BY t."str_Язык"
LIMIT("$int_Limit");
end if;
return rfc;
end;$BODY$
LANGUAGE plpgsql
COST 100
VOLATILE;
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39889161
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВМоисеев,

Спасибо. Действительно - проблема в не ASCII символах в идентификаторах. Поправлю.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39889709
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВМоисеев,

Собрал новую версию.
Доработал поддержку национальных (русских) символов в наименованиях объектов. Должно заработать.
Пока только для PG.
Также добавил настройку на протоколирование исполнения SQL script-а.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39890905
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Было бы здорово в выгрузке метаданных:
1. Спрашивать подтверждение перезаписи при сохранении файла скрипта.
2. Запоминать предыдущую директорию в диалоговом окне для сохранения файла.
3. Уметь выгружать отдельно констрейнты для таблиц.
4. Уметь выгружать каждый объект в отдельный файл.
5. Не добавлять группу по двойному щелчку, а только раскрывать ее (в окошке выбора объектов для извлечения).
6. Непонятно, что делает кнопка Ok.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39890972
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сисдба Мастеркеевич
Было бы здорово в выгрузке метаданных:
1. Спрашивать подтверждение перезаписи при сохранении файла скрипта.
2. Запоминать предыдущую директорию в диалоговом окне для сохранения файла.
3. Уметь выгружать отдельно констрейнты для таблиц.
4. Уметь выгружать каждый объект в отдельный файл.
5. Не добавлять группу по двойному щелчку, а только раскрывать ее (в окошке выбора объектов для извлечения).
6. Непонятно, что делает кнопка Ok.


Принял
Постараюсь реализовать.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39891758
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Новая версия
+ Доделал поддержку национальных символов для SQLite и Firebird.
Надеюсь - всё охватил.
+ Большие доработки выгрузки метаданных:
1. Добавлены режимы выгрузки - в файл, в буфер обмена, в редактор скриптов, в раздельные файлы для каждого объекта выгрузки;
2. Реализовал настройку на выгрузку всех объектов
3. В форме выгрузки метаданных добавил навигацию по страницам.
4. В форме выгрузки метаданных процесс выгрузки запускается по нажатию кнопки ОК. Кнопка доступна при активации последней вкладки.
5. Дабл-клик по объекту выгрузки в дереве переносит его в дерево выгрузки. Развернуть ветку можно через символ + в дереве.
+ В редакторе SQL для команды "Сохранить как" добавлен контроль существования файла для перезаписи
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39893180
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только что поймал такой глюк: Есть функция с значениями параметров по умолчанию
Код: plsql
1.
2.
3.
4.
5.
CREATE OR REPLACE FUNCTION zakupki_gov_ru.fbpy_export_contract44(d_from date, d_to date, delay_flag boolean DEFAULT true, not_processing_flag boolean DEFAULT true)
 RETURNS integer
 LANGUAGE plpython3u
 SECURITY DEFINER
AS $function$


FreeDataBaseManager от 20-11-2019 не может перекомпилировать(сохранить изменения) т.к. не видит DEFAULT true
Код: plsql
1.
2.
3.
4.
5.
6.
7.
CREATE FUNCTION zakupki_gov_ru.fbpy_export_contract44( IN d_from date,
 IN d_to date,
 IN delay_flag boolean,
 IN not_processing_flag boolean)
RETURNS integer
AS
$BODY$ 


попытка заполнить их через форму интерфейса не помогает, значения TRUE не сохраняются

...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39893182
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DSKalugin,
Спасибо. Проверю.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39893189
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexs75
...они умудрились испортить интерфейс IBExpert-а....
Это невозможно.. =)

А за стартап весьма поддерживаю - у ПГ недостаточно удобных админок АФАИК.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39893193
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexs75
DSKalugin,
Спасибо. Проверю.

Обновился до последней сегодняшней версии - тоже самое

И пожелание: как в IBExpert-е хочется видеть количество измененных/вставленных/удаленных записей при update/insert/delete операциях


Спасибо!
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39893228
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DSKalugin,

Ошибку с отображением параметров по умолчанию поправил. Должно работать. Вопрос подтолкнул меня наконец таки разобраться с внутренним представлением параметров по молчанию в PG. Так что спасибо!
В ночной сборке должны уже быть изменения.

Насчёт кол-ва вставленных/изменённых записей - записал в список хотелок. По мере возможности - сделаю.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39893340
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexs75
DSKalugin,
*** Вопрос подтолкнул меня наконец таки разобраться с внутренним представлением параметров по молчанию в PG. ***

Это не фича PG. Дефолтные значения параметров процедур есть и у Firebird и у T-SQL
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39893358
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DSKalugin
alexs75
DSKalugin,
*** Вопрос подтолкнул меня наконец таки разобраться с внутренним представлением параметров по молчанию в PG. ***

Это не фича PG. Дефолтные значения параметров процедур есть и у Firebird и у T-SQL

Я просто не разбирался раньше как они в системном каталоге хранятся. Сам я дефолтные параметры не люблю - и стараюсь не использовать. Просто это хороший путь к совершению глупых ошибок. Предпочитаю явно всегда требовать значения при вызове процедур/функций. Поэтому и не проработал тут этот вопрос.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39893470
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DSKalugin
alexs75
DSKalugin,
Спасибо. Проверю.

Обновился до последней сегодняшней версии - тоже самое

И пожелание: как в IBExpert-е хочется видеть количество измененных/вставленных/удаленных записей при update/insert/delete операциях


Спасибо!

В сборке за 24.12.2019 будет уже и отображение кол-ва изменёных записей.
Параметры со значениями по умолчанию заработали?
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39893861
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexs75

В сборке за 24.12.2019 будет уже и отображение кол-ва изменёных записей.

Спасибо, Алексей! По предыдущему примеру вижу следующее:
Код: plsql
1.
2.
3.
4.
5.
Update on timevalues  (cost=0.00..1.06 rows=4 width=16)
  ->  Seq Scan on timevalues  (cost=0.00..1.06 rows=4 width=16)

Изменено строк : 4
File not open


Но загадочный "File not open" остался. Интересно будет посмотреть на результат выполнения функции, где выполняются разные действия за один вызов или на "INSERT INTO FN() values() ON CONFLICT() DO update ***"
alexs75

Параметры со значениями по умолчанию заработали?

Значения по умолчанию отображаются, перекомпиляция такой функции уже работает... но редактирование этих значений не работает. Окно для редактирования параметров открывется с пустым значением по умолчанию. Вписываю значение False, жму OK - ничего не меняется ни в интерфейсе ни в исходнике DDL
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39893901
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел собрать из исходников, но слишком много сторонних пакетов нужно доустановить в Лазарус. Как-нибудь сделаю это.
А пока, для распространения FreeDataBaseManager на системы Debian, Ubuntu, Mint и производные нашел простое решение - Convert RPM to DEB and DEB to RPM Package Using Alien
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39893906
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DSKalugin

Но загадочный "File not open" остался.

А что указано в регистрационных параметрах БД? В частности - протоколирование редактора SQL?
Вроде с файлами там только это может быть

DSKalugin

Интересно будет посмотреть на результат выполнения функции, где выполняются разные действия за один вызов или на "INSERT INTO FN() values() ON CONFLICT() DO update ***"

Поведение абсолютно аналогично PgAdmin3 - только кол-во записей из запроса верхнего уровня - т.е. из запроса редактора.
Если функция возвращает 1 строку (результат) - то будет 1.
DSKalugin

Значения по умолчанию отображаются, перекомпиляция такой функции уже работает... но редактирование этих значений не работает. Окно для редактирования параметров открывется с пустым значением по умолчанию. Вписываю значение False, жму OK - ничего не меняется ни в интерфейсе ни в исходнике DDL

Посмотрим дельше.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39894019
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexs75
DSKalugin

Но загадочный "File not open" остался.

А что указано в регистрационных параметрах БД? В частности - протоколирование редактора SQL?

Файл протокола SQL=C:\Program Files (x86)\FreeDataBaseManager\SQLhistory\work.log
Но самого файла work.log там нет. Сделал пустой файл - не помогло. Или нет прав на эту системную папку или путь с пробелами.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39894038
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще заметил когда менял владельца таблицы, (подозреваю, что при любых изменениях DDL)
ALTER TABLE ооо.ааа OWNER TO бэбэбэ;
Кнопка "Обновить" в разделе DDL не обновляет исходник при изменениях в "Редактор SQL скриптов".
Если закрыть окно структуры таблицы и "Обновить данные" в делеве объектов БД и повторно открыть структуру таблицы DDL тогда изменения видны
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39894072
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DSKalugin

Файл протокола SQL=C:\Program Files (x86)\FreeDataBaseManager\SQLhistory\work.log
Но самого файла work.log там нет. Сделал пустой файл - не помогло. Или нет прав на эту системную папку или путь с пробелами.

Вот оно
Эта вкладка предназначена для ведения истории запросов, которые пользователь выполняет
Тут надо естственно указывать папку, куда пользователь имеет права на запись.
Либо вообще не включать.

Для меня особенно важно протоколирование изменения метаданных - по факту я получаю при проектировании своей тестовой БД скрипт на изменение боевых экземпляров.

DSKalugin
И еще заметил когда менял владельца таблицы, (подозреваю, что при любых изменениях DDL)
ALTER TABLE ооо.ааа OWNER TO бэбэбэ;
Кнопка "Обновить" в разделе DDL не обновляет исходник при изменениях в "Редактор SQL скриптов".
Если закрыть окно структуры таблицы и "Обновить данные" в делеве объектов БД и повторно открыть структуру таблицы DDL тогда изменения видны

Есть такая буква. В планах стоит после выполнения DDL команды в SQL редакторе/SQLscript - обновления дерева объектов.
Руки не доходят доделать.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39895247
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Загадочный Тип Money. Полдня дебажил, почему нули заходят в БД. Потом выполнил запрос в бобре (DBeaver) и увидел НЕнули , там , где FreeDataBaseManager показывает нули для типа Money.
В DDL он не даже подсвечивается.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE test.demo_money_val(
  m_int4 int4,
  m_val Money
);

insert into test.demo_money_val(m_int4, m_val) values (1, 3456.36),(2, 2345.44),(3, 45.98);

select * from test.demo_money_val; 


...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39895249
alexs75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DSKalugin,
Сразу видно то, чем сам не пользуюсь :-)
Спасибо. Проверю.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39895517
GeniyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DSKalugin,

Немного не в тему вопрос, но очень уж интересно, в чём профит использования типа money?

Мне уже несколько раз приходилось переписывать код с money на numeric(например 19,2).
ИМХО, с числами работать проще, а в чём преимущество money - не осознаю.
...
Рейтинг: 0 / 0
Инструмент для рабработки БД
    #39895686
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GeniyZ
в чём профит использования типа money?
Мне уже несколько раз приходилось переписывать код с money на numeric(например 19,2).
ИМХО, с числами работать проще, а в чём преимущество money - не осознаю.

Изначально интуитивно для денежных значений сделал тип полей money.
С технической стороны - одни проблемы :-(( Самым сильным ударом было backup/restor в plain формате на сервер с другой локалью. (Выгружается как "12 254,45 Руб" с запятой и валютой как в конфиге прописано)
Со стороны отображения в контролах плюс в сегментации разрядов и в наличии символа валюты и то, только той валюты, которая указана в конфиге сервера :-)))))))

P.S. действительно лучше переделать на numeric при этом в C# это будет тип Decimal
...
Рейтинг: 0 / 0
25 сообщений из 97, страница 3 из 4
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Инструмент для рабработки БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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