Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / DROP EXTERNAL FUNCTION TRIM / 25 сообщений из 31, страница 1 из 2
10.01.2019, 16:11
    #39758003
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Здравствуйте, ВСЕ!
С Наступившим!

FB 3.0.4.33054
ODS 12, Dialect 1

Имеем унаследованную UDF под названием TRIM.
Пытаемся от неё избавиться.
Зависимости подчищены.

DROP EXTERNAL FUNCTION TRIM;

Да хрен бы там.

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 27.
TRIM.


А в системные таблицы вы лазить не даёте...

И как быть?

--
Регардсы и прочее.


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.01.2019, 16:17
    #39758012
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Кавычки. И 3-ий диалект.
...
Рейтинг: 0 / 0
10.01.2019, 16:17
    #39758013
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
вдогонку:
с функцией ABS() такой фигни не возникало.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.01.2019, 16:21
    #39758014
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Мимопроходящий,

да с TRIM там особый случай. Это не только ключевое, но ещё и зарезервированное слово.
...
Рейтинг: 0 / 0
10.01.2019, 16:22
    #39758016
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
10.01.2019 16:17, hvlad пишет:
> Кавычки. И 3-ий диалект.

SQL> SET SQL DIALECT 3;
WARNING: Client SQL dialect has been set to 3 when connecting to Database SQL dialect 1 database.

SQL> DROP EXTERNAL FUNCTION "TRIM";
Statement failed, SQLSTATE = 42000
Dynamic SQL Error
-SQL error code = -817
-Metadata update statement is not allowed by the current database SQL dialect 1


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.01.2019, 16:24
    #39758021
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Мимопроходящий,

SET SQL DIALECT 3; до коннекта сделай
...
Рейтинг: 0 / 0
10.01.2019, 16:31
    #39758024
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Симонов ДенисSET SQL DIALECT 3; до коннекта сделайрояля не играет.

[root@srv firebird]# bin/isql localhost:/base/base.gdb -user VASJA -pass pupkn -sqldialect 3

WARNING: This database speaks SQL dialect 1 but Client SQL dialect was set to 3 .
Database: localhost:/base/base.gdb, User: VASJA

SQL> DROP EXTERNAL FUNCTION "TRIM";
Statement failed, SQLSTATE = 42000
Dynamic SQL Error
-SQL error code = -817
-Metadata update statement is not allowed by the current database SQL dialect 1
...
Рейтинг: 0 / 0
10.01.2019, 19:15
    #39758100
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Мимопроходящий,

БД переведи в 3-ий диалект :) Потом вернёшь 1-й.
...
Рейтинг: 0 / 0
10.01.2019, 20:25
    #39758130
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Мимопроходящий,

И не забудь зарегистрировать тикет.))
...
Рейтинг: 0 / 0
10.01.2019, 21:12
    #39758137
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Vlad F,

о чём ?
...
Рейтинг: 0 / 0
11.01.2019, 08:16
    #39758226
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
hvlad,

О невозможности удаления функций с определеными именами в первом диалекте.
...
Рейтинг: 0 / 0
11.01.2019, 11:31
    #39758348
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Vlad F,

так их и создать нельзя, ы ?
...
Рейтинг: 0 / 0
11.01.2019, 12:03
    #39758366
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
10.01.2019 19:15, hvlad пишет:
> БД переведи в 3-ий диалект :) Потом вернёшь 1-й.

вах! шайтан... :)

надеюсь оно кроме хидера больше нихера не меняет?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.01.2019, 12:21
    #39758376
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Мимопроходящий,

не боись, не меняет :)
...
Рейтинг: 0 / 0
11.01.2019, 12:59
    #39758396
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Мимопроходящий,

про эту фишку регулярно забывают. Главное, на время "действия" 3го диалекта ничего в базе больше не менять.
То есть, сначала в первом везде закомментировать вызовы TRIM, потом перевести в диалект 3, грохнуть функцию в "", перевести обратно в 1, и раскомментировать вызовы TRIM.
...
Рейтинг: 0 / 0
11.01.2019, 13:03
    #39758400
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
11.01.2019 12:21, hvlad пишет:
> не боись, не меняет :)

Ок.
прощупал на тестовой базе.

gfix -shutdown single -fo 0 /bd/test.gdb
gfix -sql_dialect 3 /bd/test.gdb
isql /bd/test.gdb
SQL> DROP EXTERNAL FUNCTION "TRIM";
SQL> EXIT;
gfix -sql_dialect 1 /bd/test.gdb
gfix -online normal /bd/test.gdb


отработало успешно.

СПАСИБО! :)

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.01.2019, 13:21
    #39758419
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
hvladтак их и создать нельзя, ы ?
Хочешь сказать, что они там у него сами зародились? Как жизнь на Марсе?? =8-[ ]
...
Рейтинг: 0 / 0
11.01.2019, 13:41
    #39758433
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
11.01.2019 13:21, Vlad F пишет:
> Хочешь сказать, что они там у него сами зародились? Как жизнь на Марсе?? =8-[ ]

можно и так сказать ;)

IB4.0
Код: sql
1.
2.
3.
4.
DECLARE EXTERNAL FUNCTION trim
	CSTRING(256)
	RETURNS CHAR (80)
	ENTRY_POINT "fn_trim" MODULE_NAME "FUNCLIB";



Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.01.2019, 14:04
    #39758446
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Vlad F,

хочу сказать, что ты не в теме. Разберись сначала, а потом уже советуй
...
Рейтинг: 0 / 0
11.01.2019, 14:06
    #39758449
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Мимопроходящий,

Да это я все в курсе, но ведь регистрация в данном случае и есть суть создание.
Просто сейчас по совокупности такое поведение в данном контексте выглядит как баг, пахнет как баг и,
имхо, натурально багом и является. Поэтому я бы зарегистрировал, Влад там же опишет упомянутые костылики,
а DK будет в след. раз ( когда еще кто то споткнется) поднимать свой назидательный палец с упоминанием
конкретного тикета.))
А то мож еще и поправят в результате, чего на свете не бывает.
...
Рейтинг: 0 / 0
11.01.2019, 14:26
    #39758457
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
11.01.2019 14:06, Vlad F пишет:
> А то мож еще и поправят в результате, чего на свете не бывает.

меня бы больше устроил доступ к системным таблицам для "регламентных работ" ;)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.01.2019, 15:10
    #39758483
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Vlad FПросто сейчас по совокупности такое поведение в данном контексте выглядит как баг, пахнет как баг и,
имхо, натурально багом и являетсяФигню говоришь.

В тех версиях, где такое можно создать - можно и удалить.
В тех версиях, где такое нельзя удалить - нельзя и создать.
Где баг ? В твоём незнании ? Пиши себе в трекер :)

ЗЫ эта "проблема" уже обсуждалась, она не новая
...
Рейтинг: 0 / 0
11.01.2019, 15:34
    #39758499
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
hvlad,

может фигню, а может и не фигню, - сколько людей, столько и мнений.
Когда на одной и той же версии сервера, чтобы подправить (удалить) ранее вполне себе
законные легаси-институты надо временно переключаться на другой диалект,
крестясь при этом, как бы что то еще не задеть ненароком, это не выглядит по мне
элегантным продуманным решением. Скорее как есть костыль. Впрочем, не настаиваю, останемся
при своих. Что же касается, "ранее обсуждалось", то в этой связи вспоминается совсем недавнее
"Internal и external фнукции с одинаковым названием", в связанном с которой тикете
Андриано тоже сначало твердо стоял на своем, утверждая что все правильно и именно так и
надо, но потом все-таки, как понимаю, подправил, крайней мере в самой спорной части
критикуемого фунционала.))
...
Рейтинг: 0 / 0
11.01.2019, 15:36
    #39758501
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Vlad F,

я уже говорил ИХМО по мне диалект это крайне не удачное изобретение. Придумали это не в Firebird
...
Рейтинг: 0 / 0
11.01.2019, 15:39
    #39758503
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DROP EXTERNAL FUNCTION TRIM
Мимопроходящийменя бы больше устроил доступ к системным таблицам для "регламентных работ" ;)

ахтунг, ахтунг. Все работы с метаданными должны через DDL делаться. Просто раньше он не был достаточно богатым для некоторых операций. Сейчас можно и без ковыряния в системных таблицах
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / DROP EXTERNAL FUNCTION TRIM / 25 сообщений из 31, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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