двоеточия с левой стороны знака равенства не может и не должно быть.
Еще в epsilon.public.interbase вроде как определились по этой теме,
что если идет обращение к значению параметра(переменной), то ставим
двоеточие перед последним(ей), ежели в этот параметр (эту переменную)
присваивается
Бесполезно - не сделают как минимум из-за несовместимости со старыми версиями и
отсутсвием желания.
Много ли безисходный (т.е no source :) клиентов, которые генерять PSQL?
Ну почему же. BLR то ведь никто не трогает (b/r наверное проблем не вызовет).
При перекомпиляции пусть ругается, всё
Наверное было бы хорошо можно было бы работать только одним способом.
Т.е. во всех запросах (в т.ч. и into, returning_values) обращаться к переменным
можно ТОЛЬКО через довоеточие.
Вне этих конструкций ТОЛЬКО без них.
Тогда и вопросов не возникало бы.
PS. Ну кто первый до трекера? А? ;)
Здравствуйте, Vladimir.
Вы писали 2 ноября 2007 г., 20:22:45:
Самая злобная грабля - забыть поставить в запросе двоеточие перед
переменной, имя которой совпадает с именем поля :)
И поэтому все переменные в процедурах у меня начинаются с буквы v.
А параметры - с a.
Единственно с чем
У меня и так не возникает. Нигде не пишу (включая into и
returning_values), кроме внутренностей запросов.
Самая злобная грабля - забыть поставить в запросе двоеточие перед
переменной, имя которой совпадает с именем поля :)
On Fri, 02 Nov 2007 14:16:00 +0300, sw [EMAIL PROTECTED] wrote:
Тогда и вопросов не возникало бы.
У меня и так не возникает. Нигде не пишу (включая into и returning_values),
кроме внутренностей запросов.
--
Сергей Смирнов.
PS. Ну кто первый до трекера? А? ;)
Бесполезно - не сделают как минимум из-за несовместимости со старыми
версиями и отсутсвием желания. К тому же мне всё-таки сдаётся что слева
их тоже можно разрешить для единообразия.
Привет!
Мне задали вопрос такой, почему в PSQL нельзя присвоить переменной
значение, если к обращение к этой переменной выполняется через
двоеточие, например:
:I = 1;
Я и сам призадумался откуда такое ограничение?
sasha wrote:
Мне задали вопрос такой, почему в PSQL нельзя присвоить переменной
значение, если к обращение к этой переменной выполняется через
двоеточие, например:
:I = 1;
Я и сам призадумался откуда такое ограничение?
Единственное назначение двоеточия -- отделить переменную от
Единственное назначение двоеточия -- отделить переменную от одноименного
столбца в контексте, где возможна неоднозначность. В присваивании
двоеточие никакого смысла не имеет.
Оно может смысл иметь не синтаксический, а визуальный к примеру.
Некоторым нравится единообразие в коде это раз, во
Hello, sasha!
sasha wrote:
IF (:I = 0) THEN
это бред. двоеточия с левой стороны знака равенства не может
и не должно быть.
--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34
IF (:I = 0) THEN
это бред. двоеточия с левой стороны знака равенства не может
и не должно быть.
забавно
а иначе ошибка
sw wrote:
Нельзя ли реализовать пока возможность получения имени констрейнта
(в основном интересует FK - при удалении)
3. При полной реализации в будущем можно легко сделать deprecate.
Я принципиально против временных заглушек, чтобы некоторых осчастливить
пораньше. Уже есть горький опыт. И
Dmitry Yemanov wrote:
И те же RDB$CONTEXT сами пора уже делать deprecated.
У меня начинает тЕплиться робкая надежда, что когда я выйду из
хибернатора к релизу FB5, у меня появится реальный шанс безболезненно
перейти на него с полуторки :-D
--
Regards. Ded.
Ded wrote:
У меня начинает тЕплиться робкая надежда, что когда я выйду из
хибернатора к релизу FB5, у меня появится реальный шанс безболезненно
перейти на него с полуторки :-D
Обломись :-) Кривизну мы по-прежнему рубим сгоряча :-D
--
Дмитрий Еманов
sasha wrote:
А сам по себе блок WHEN не кривизна ли? Я вот сколько с ФБ работаю,
никак не могу запомнить как он обрабатывает текущий блок...
Сам по себе - нет. Как он работает - да, местами :-)
--
Дмитрий Еманов
Доброго времени суток!
Dmitry Yemanov wrote:
Я принципиально против временных заглушек, чтобы некоторых осчастливить
пораньше. Уже есть горький опыт. И те же RDB$CONTEXT сами пора уже
делать deprecated.
А есть ли список того, что будет упразднено?
И можно ли огласить, чем плохи RDB$CONTEXT?
Кузнецов Евгений wrote:
А есть ли список того, что будет упразднено?
Нет.
И можно ли огласить, чем плохи RDB$CONTEXT?
Как пользовательские контекстные - с пивом потянет. Хотя я бы все же
предпочел другой синтаксис. А вот как системные - это оказалось как раз
временной заглушкой, т.к. в
Обломись :-) Кривизну мы по-прежнему рубим сгоряча :-D
А сам по себе блок WHEN не кривизна ли? Я вот сколько с ФБ работаю,
никак не могу запомнить как он обрабатывает текущий блок...
sw wrote:
Так есть же возможность их переименовать разработчику БД.
Правда я не в курсе, как такое переименование пройдёт через b/r (сам не
пользую).
Не переживет.
Кстати хотел спросить режим работы со своими мониторингами насколько
рассматривается как штатный?
Терминология у тебя
sw wrote:
Вопрос собственно не к полям таблиц, а к переменным. Для БЛОБов есть
понятие временный.
Возможно ли использовать это для реализации *временных массивов* для
обработки внутри процедуры,
а также передачи в другие процедуры (FB21+).
Считаю, что реализация переменных-массивов как
Мне например мало выгоды видится от статических массивов это раз. Во
вторых очень часто массивы чуть большими усилиями можно заменить строками.
freemanzav ...
DmitryLe:
А вообще-то молодцы!
Что то Влад молчит.
А что - есть ещё ? :)
--
Хорсун Влад
Читал курсоры в psql. Начал пробовать.
Придумал где можно применить.
А присвоения одного курсора другому нету.
Эх, без этого присвоения непонятно опять, где можно их использовать.
Я то хотел сделать несколько курсоров.
Потом в зависимости от, нужный курсор выбрать и присвоить его курсору, с
Alexandr Kochmin wrote:
А присвоения одного курсора другому нету.
Для этого надо определить понятие совместимости курсоров. Иначе мы
похерим все compile-time проверки.
Эх, без этого присвоения непонятно опять, где можно их использовать.
Итерация по двум курсорам параллельно, например.
DY
DY Alexandr Kochmin wrote:
DY
DY А присвоения одного курсора другому нету.
DY
DY Для этого надо определить понятие совместимости курсоров. Иначе мы
DY похерим все compile-time проверки.
понятно.
DY
DY Эх, без этого присвоения непонятно опять, где можно их использовать.
DY
DY Итерация по
Dmitry Yemanov:
В будущем еще можно
будет их скроллировать в обе стороны, в отличие от FOR-цикла.
Может не надо?
f
f
f Dmitry Yemanov:
f В будущем еще можно
f будет их скроллировать в обе стороны, в отличие от FOR-цикла.
f Может не надо?
f
почему? Здесь же не написано, что это будет таким же тормозным как в MSSQL :)
--
С уважением
Кочмин Александр
Firebird Foundation associate member #257
Alexandr Kochmin:
почему? Здесь же не написано, что это будет таким же тормозным как в MSSQL :)
А вдруг будет? Если механизм курсоров будет сильно переработан, то
вдруг это повлияет и на FOR-циклы. А не хотелось бы. Сейчас все так
замечательно работает, не хочется, чтобы ситуация изменилась.
freemanzav wrote:
А вдруг будет? Если механизм курсоров будет сильно переработан, то
вдруг это повлияет и на FOR-циклы. А не хотелось бы. Сейчас все так
замечательно работает, не хочется, чтобы ситуация изменилась.
Это (а) будет опционально (на уровне декларации курсора) и (б) на
freemanzav ...
Сейчас все так замечательно работает
Ещё, ещё пиши ;)
--
Хорсун Влад
Horsun Vlad:
freemanzav ...
Сейчас все так замечательно работает
Ещё, ещё пиши ;)
Шо, приятно, когда хвалют?:)))
freemanzav ...
Horsun Vlad:
freemanzav ...
Сейчас все так замечательно работает
Ещё, ещё пиши ;)
Шо, приятно, когда хвалют?:)))
Ну вот - сейчас ты скажешь что не хотел, что случайно так написалось
и что ты вообще не то имел в виду... ;)
--
Хорсун Влад
Horsun Vlad:
Ну вот - сейчас ты скажешь что не хотел, что случайно так написалось
и что ты вообще не то имел в виду... ;)
Это типа подхалимства. Может разработчики передумают курсоры трогать.
И все будет чинно, благородно, по старому:)
freemanzav [EMAIL PROTECTED]
сообщил/сообщила в новостях следующее:
news:[EMAIL PROTECTED]
Horsun Vlad:
Ну вот - сейчас ты скажешь что не хотел, что случайно так написалось
и что ты вообще не то имел в виду... ;)
Это типа подхалимства. Может разработчики передумают курсоры трогать.
Dmitry Voroshin:
Да да. Ну их эти курсоры. Всё равно редко требуются.
Тут под курсорами подразумеваются и циклы for. А они используются
весьма часто.
freemanzav [EMAIL PROTECTED]
сообщил/сообщила в новостях следующее:
news:[EMAIL PROTECTED]
Dmitry Voroshin:
Да да. Ну их эти курсоры. Всё равно редко требуются.
Тут под курсорами подразумеваются и циклы for. А они используются
весьма часто.
Где это тут? :|Ну все поняли о чём я...
Dmitry Voroshin:
Где это тут? :|Ну все поняли о чём я...
Ф топеге
Я и пять коппек.
Select from select была мечтой. Сказка. OLAP можно строить одним
пальцем.
2.1 пока красиво гуляет через inet. Действительно есть ощутмое
преимущество. Тоже сказка. Надеюсь ничего не поламаете на релизе?
iif очень хорошо. Не всегда нужен case но и от него балдею.
Будут встренные
DmitryLe:
А вообще-то молодцы!
Что то Влад молчит.
þÔÏ ÔÏ ÷ÌÁÄ ÍÏÌÞÉÔ.
ðÉ×Ï ÖÄÅÔ. :-))
äÍÉÔÒÉÊ
á ËÏÄÏ× ÏÛÉÂÏË ÎÅ È×ÁÔÁÅÔ?
á ÚÁÔÅÍ ÞÔÏ-ÔÏ ×ÒÏÄÅ ÜÔÏÇÏ:
WHEN SQLCODE -803 DO EXCEPTION shifttaskpos_unique;
WHEN SQLCODE -530 DO
BEGIN
/* ðÏÚÉÃÉÑ ÄÏËÕÍÅÎÔÁ_éä */
IF (NOT EXISTS(SELECT * FROM documentpos WHERE
documentpos_id=:shifttaskpos_id)) THEN EXCEPTION documentpos_notfk;
Данная фича позволила бы выполнять более гибкую обработку ошибок.
Comments, additions, critique?
Сейчас Еманов штаны снимет, и будет демонстрировать гибкость Или
где он её видел.
Коваленко Дмитрий.
sw wrote:
Вопрос такой, есть ли возможность при PSQL обработке ошибки (begin ...
when do ... end)
получить текст собщения либо его часть (например название уникально
констрейнерта, форейна, последнюю запись в стеке процедур и т.д.).
Нет такой возможности.
Если таковой возможности нет, то
Нет такой возможности.
Если таковой возможности нет, то есть ли планы по её добавлению
Пока нет.
Насколько я понимаю, это не так уж и сложно добавить (раз все данные уже есть и они в том
же контексте). Может в трекер добавить?
Или тут design problems?
sw wrote:
Насколько я понимаю, это не так уж и сложно добавить (раз все данные уже
есть и они в том же контексте).
Текст ошибки получить будет невозможно, это факт. Его вариабельные
элементы - можно подумать. По сути, это предоставить доступ к
статус-вектору. Но надо подумать, как лучше
Может в трекер добавить?
Добавь, чтобы не забылось. Но в ближайшем будущем я бы не ждал, других забот
хватает.
Добавил CORE-1132
create procedure New_Procedure (id MY_INT)
returns (name MY_CHAR60)
as
begin
name = cast(id as MY_CHAR60);
suspend;
end
И это даже работает :)
Андрій Жук [EMAIL PROTECTED] сообщил/сообщила в
новостях следующее: news:[EMAIL PROTECTED]
create procedure New_Procedure (id MY_INT)
returns (name MY_CHAR60)
as
begin
name = cast(id as MY_CHAR60);
suspend;
end
И это даже работает :)
А чего будет ежели тип какого-нибудь домена
á ÞÅÇÏ ÂÕÄÅÔ ÅÖÅÌÉ ÔÉÐ ËÁËÏÇÏ-ÎÉÂÕÄØ ÄÏÍÅÎÁ ÐÏÍÅÎÑÔØ? îÁ TimeStamp Ë
ÐÒÉÍÅÒÕ?
çÌÅÂ, ÞÔÏ ÜÔÏ? þÉÓÔÏ ÓÐÏÒÔÉ×ÎÙÊ ÉÎÔÅÒÅÓ? îÁÕÞÎÙÊ ÜËÓÐÅÒÉÍÅÎÔ ÞÔÏ ÂÕÄÅÔ ÅÓÌÉ
ÎÁÓÔÕÐÉÔØ ÓÅÂÅ ÎÁ ÑÊÃÁ? ;
ôÉÐÁ ×ÒÑÄ ÌÉ ÞÔÏ ÐÕÔÎÅÅ ÐÏÌÕÞÉÃÁ, ÎÏ ×ÅÄØ ÉÎÔÅÒÅÓÎÏ ÖÅ!
PS: ÷ÌÁÄ ×ÒÏÄÅ ÇÏ×ÏÒÉÌ ÞÔÏ ÔÉÐÙ × ÐÒÏÃÅÄÕÒÅ
Plotnikov Y [EMAIL PROTECTED]
сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED]
А чего будет ежели тип какого-нибудь домена поменять? На TimeStamp к
примеру?
Глеб, что это? Чисто спортивный интерес? Научный эксперимент что будет
если наступить себе на яйца? ;
Типа вряд
Андрій Жук wrote:
ALTER DOMAIN MY_INT
TYPE TIMESTAMP
Cannot change datatype for MY_INT. Conversion from base type INTEGER to
TIMESTAMP is not supported.
Зайди на sql ru и попроси поднять руку тех, кто знает слово альтер.
Десятка полтора наберётся наверное, остальные знают только слово
Ded сообщил/сообщила в новостях следующее:
Зайди на sql ru и попроси поднять руку тех, кто знает слово альтер.
Десятка полтора наберётся наверное,
Это те, кто поднял руку вместе с клавиатурой.
Остальные просто c поднятыми руками не смогли набрать ответ ;-)
Grue
и потом - ты в компиляторе можешь обратиться к переменной через ее имя
в другой переменной? Нет? А тогда чего...
А при чём тут обсуждаемый препроцессор?
Или я чего-то упустил?
Понятно, что для предложенного нужно несколько, э..., расширять
возможности языка и blr-а, если хранить эти
Понятно, что для предложенного нужно несколько, э..., расширять
возможности языка и blr-а, если хранить эти шаблоны/макросы в
предкомпилированном состоянии.
Т.е. сейчас есть список фиксированных зависимостей, он состовляется в
момент компиляции, и их сервер отслеживает.
А нужен ешё список
Tonal пишет:
Т.е. сейчас есть список фиксированных зависимостей, он состовляется в
момент компиляции, и их сервер отслеживает.
А нужен ешё список подстовляемых зависимостей, который так же
составляется в момент компиляции, но проверятся начинает только момент
воплощения...
Правда придётся
Hello, freemanzav!
freemanzav wrote:
Dmitri Kuzmenko wrote:
и потом - ты в компиляторе можешь обратиться к переменной через ее имя
в другой переменной? Нет? А тогда чего...
RTTI ?
ребята, у кого из нас крышу несет? Ну у меня почти да,
в силу подготовки к конференции. Но не до такой же
Dmitri Kuzmenko wrote:
Hello, freemanzav!
freemanzav wrote:
Dmitri Kuzmenko wrote:
и потом - ты в компиляторе можешь обратиться к переменной через ее имя
в другой переменной? Нет? А тогда чего...
RTTI ?
ребята, у кого из нас крышу несет? Ну у меня почти да,
в силу подготовки
Hello, freemanzav!
freemanzav wrote:
ребята, у кого из нас крышу несет? Ну у меня почти да,
в силу подготовки к конференции. Но не до такой же
степени :-)
Ну по крайней мере в Delphi, зная имя
свойства класса и если оно объявлено
как published можно получить или
установить его (свойства)
Dmitri Kuzmenko пишет:
если хочешь, приведи пример типа
var
a: string;
b: integer;
begin
a:='b';
SetVar(a):=10; // чтобы в b присвоилось 10 как integer
end
Во время какой-то дискуссии о преимуществах FoxPro понял,
что не вижу никаких особых проблем в реализации:
var
a,b,c, ,
Dmitri Kuzmenko wrote:
мы про переменные говорим. про ClassName я в курсе,
но это все равно не то.
если хочешь, приведи пример типа
var
a: string;
b: integer;
begin
a:='b';
SetVar(a):=10; // чтобы в b присвоилось 10 как integer
end
Если свойства класса считать
Приветствую ( видимо вторник мой день..:)
Сидит у меня уже давно в голове одна полу бредовая идея и не хочет уходить.
Ситуация такая. PSQL в FB реализован в с системой зависимостей и это есть ГУД.
Но переодически всплывают топики о передаче имене таблицы в процедуру и т.п.
(ES с его
однотипных процедур, в которых отличается только пара названий метаданных.
Появилась идея:
Создавать что-то вроде шаблонов, которые хранятся в самой базе.
это решается препроцессором SQL, у нас, например свой, с IBExpert-ом идет
свой
некоторые решают это средой разработки
нормы приличия
Hi sw
Что думаете?
Спасибо за внимание.
template Table T1,Table T2)
create procedure P1(...)
as
begin
end;
select from P1MyTable1,MyTable2(...)?
WBER Evgney Putilin.
ЕПtemplate Table T1,Table T2)
ЕПcreate procedure P1(...)
ЕПas
ЕПbegin
ЕП
ЕПend;
ЕП
ЕПselect from P1MyTable1,MyTable2(...)?
Примерно да.
Но перед использованием данные шаблоны интерпретируются в соответствующий
нормальный PSQL-код с нужными параметрами. А далее ими
пользуются как обычными
БАэто решается препроцессором SQL, у нас, например свой, с IBExpert-ом идет
БАсвой
БАнекоторые решают это средой разработки
А как это у Вас реализовано?
БАнормы приличия оно нарушает, хотя бы в части прав
Спасибо, тоже надо обмозговать. Хотя это несколько из другой сферы, но логично
Hi sw
ЕПtemplate Table T1,Table T2)
ЕПcreate procedure P1(...)
ЕПas
ЕПbegin
ЕП
ЕПend;
ЕП
ЕПselect from P1MyTable1,MyTable2(...)?
Примерно да.
Но перед использованием данные шаблоны интерпретируются в соответствующий
нормальный PSQL-код с нужными параметрами. А далее ими
Evgeny Putilin wrote:
Будеш спонсором пиши ТЗ
Послать я и без этого могу :-)
--
Дмитрий Еманов
sw wrote:
Конечно всё это можно реализовать на клиенте, но вопрос именно про серверную
реализацию.
Диалектическая спираль. Как мне использовать ES/EB не используя ES/EB.
--
Regards. Ded.
А как это у Вас реализовано?
например так:
код вида
create table DOC$ITEMS( -- Экземпляры документов
ID ZLS$PK, -- Первичный ключ
ID_K ZLS$FK,-- Вид документа
NAME ZLS$NAME, -- Идентификатор документа
COMMENT ZLS$COMMENT,
БАнапример так:...
Спасибо, а для PSQL что-нибудь использовали?
Спасибо, а для PSQL что-нибудь использовали?
а нам не надо :)
--
Булычев Алексей
http://www.stella-npf.ru
копирайтности.
Хотя как мне кажется во многих вопросах манипуляции с данными PSQL сам не плохо
справлялся.
Вроде серьёзных препятствий не вижу.
Может не туда (или не оттуда смотрю)?
Появилась идея:
Создавать что-то вроде шаблонов, которые хранятся в самой базе.
Которые бы компились бы с подстановной соответствующих параметров,
соответственно можно использовать и макросы, хранящиеся
отдельно.
Execute block тебе в руки. Но только помнить при этом, что отсутствие
Hello, sw!
sw wrote:
Ситуация такая. PSQL в FB реализован в с системой зависимостей и это есть ГУД.
Но переодически всплывают топики о передаче имене таблицы в процедуру и т.п.
(ES с его ограничениями не будем рассматривать.) Похожий вопрос наверное
возникал у любого, которому приходилось
и потом - ты в компиляторе можешь обратиться к переменной через ее имя
в другой переменной? Нет? А тогда чего...
было такое в xBase:
и где теперь xBase +:) ?
--
Булычев Алексей
http://www.stella-npf.ru
Dmitri Kuzmenko пишет:
а не надо однотипные процедуры создавать.
и потом - ты в компиляторе можешь обратиться к переменной через ее имя
в другой переменной? Нет? А тогда чего...
было такое в xBase:
a = 'b'
b = 5
? a.
:-D
--
С уважением,
Андрей Еремин.
Hello, Andrei!
Andrei Yeryomin wrote:
было такое в xBase:
я про компилятор, а ты мне про интерпретатор...
--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34
Hi Dmitri Kuzmenko
и потом - ты в компиляторе можешь обратиться к переменной через ее имя
в другой переменной? Нет? А тогда чего...
Могеш могеш, тока народ это любит называть Debug API :-D
WBR Evgeny Putilin.
Dmitri Kuzmenko wrote:
и потом - ты в компиляторе можешь обратиться к переменной через ее имя
в другой переменной? Нет? А тогда чего...
RTTI ?
80 matches
Mail list logo