Re: FB2 + MacOS — проблема с клиентом

2007-10-06 Пенетрантность Weber Eugen



On 05.10.2007, at 10:44, Mikalai Arapau wrote:



Здравствуйте,

Нужен Firebird 2.x Embedded Server для MacOS X. x86 binary либо
Universal.



Кстати, а для PPC можно собрать? Что-то у меня руки никак не дойдут  
попробовать

Мож кто пробовал?

Re: FB2 + MacOS — проблема с клиентом

2007-10-05 Пенетрантность Khorsun Vlad

Mikalai Arapau ...

 Здравствуйте,

 В сборку для Мака (2.0.1CS/SS) не входит клиент.

 Я попробовал собрать FB 2.0.3 из сорцов, после некоторых манипуляций
 это удалось. Сам сервер вроде работает нормально, НО клиентская
 либа и embedded - не работают. При попытке коннекта пишется, что
 где-то вызывается освобождение памяти не там где надо/раньше времени.

 К Paul Beach я обращался, он сказал, что у него нету Мака, чтобы
 сделать сборку.

Ну так дай ему доступ на свой Мак и уговори этим заняться ;)

--
Хорсун Влад




Re: FB2: повтор поля в Insert

2007-03-30 Пенетрантность Андрій Жук


у меня сказало Column table_name.ID cannot be repeated in INSERT 
statement.




Re: FB2 индекс по полю при проверке поле

2007-01-24 Пенетрантность Yurij



On Jan 23, 4:10 pm, Andrei [EMAIL PROTECTED] wrote:
  переход на ФБ2.0
  вызвал как много приятных эмоций так и
  не очень приятных (особо не приятны
  ошибки)
 все-таки, лично я считаю, что так делать
 нельзя. у ФБ есть большая клиентская
 база. многие, сейчас стоят перед
 вопросом: если ФБ2 несовместим с ФБ1.5,
 то может ну его нафиг -- сменить сервер?
 мало ли чего разработчикам в будущем
 еще стукнет в голову. Когда у тебя

Порочная практика. Оставлять ошибки в
коде
сервера для того, чтобы упростить
жизнь
лентяям-разработчикам прикладного ПО.

А цена вопроса - достаточно
разработать
процедуру перехода от одной версии
сервера
к другой, с автоматической проверкой
всех
используемых запросов на нормальный
prepare
и условно нормальное время
выполнения.

Затем это дело раздается клиентам или
же выполняется силами разработчиков
в рамках обслуживания системы.



Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Леонид Агафонов


Ded писал(а):

 То есть, в заголовке
 болтаются не пришей, кхм, рукав, атрибуты позиций, а в позициях -
 заголовка? Оригинальненько, свежо. Какая ж энто по шшоту-то у нас
 нормальная форма-то будет - ума не приложу...


ну конечно не так всё запущено ... 
в таблице document кроме тех полей что я
написал есть ещё только: номер, дата,
сумма, описание и системные поля (для
проверки прав на данную запись, бух.
операция и т.д.)
для аттрибутов заводятся таблички для
шапки накладной например Bill для
позиций BillLine в которых хранятся уже
необходимое кол-во атрибутов
поэтому при создании любого кол-ва
пользовательских документов у нас
есть стандартная основа document для
реализации стандартной логики а вся
остальная зависит только от
пользовательской настройки
система живая, используется более чем
1000 клиентов для автоматизации
бухгалтерии, склада, производства,
торговли, зарплаты и т.д.

С уважением, Леонид Агафонов



Re: FB2 индекс по полю при проверке поле IS NULL

2007-01-23 Пенетрантность ArtGal

Dmitri Kuzmenko [EMAIL PROTECTED] сообщил/сообщила в
новостях следующее: news:[EMAIL PROTECTED]

 ну и, было принято решение - вынести
 nickname и еще пару полей в отдельную таблицу,
 связанную с основной как 1-1.

 Вот такая басня.


Это не басня а нормальное красивое (уже ставшее классикой)
решение проблемы.

ИМХО. Можно избавиться от null'ов.
В похожей ситуации мы заменили null'ы на -2147483647.

-- 
Артур Галимов. ФК ФармМедСервис (Сочи).




Re: FB2 индекс по полю при проверке поле IS NULL

2007-01-23 Пенетрантность WildSery

On Tue, 23 Jan 2007 11:54:04 +0300, ArtGal [EMAIL PROTECTED] wrote:
 ИМХО. Можно избавиться от null'ов.
 В похожей ситуации мы заменили null'ы на -2147483647.

А у нас в ссылках как правило нормальные значения, типа 0-базовая запись, 
1-по умолчанию, и т.д.

-- 
Сергей Смирнов.



Re: FB2 ������ �� ���� ��� �������� ����

2007-01-23 Пенетрантность Boltik Evgeny

 ÚÁÐÒÏÓ ÔÉÐÁ

 select *
 from
  document doc
 where
  doc.documenttypekey = :documenttypekey
  and
  doc.documentdate = :documentdate
  and
  doc.parent is null

 ÂÅÒÅÔ ÉÎÄÅËÓ parent
 DOCUMENTDATE 0,00106269924435764551
 PARENT   0,0123205666113790358
 DOCUMENTTYPEKEY  0,0285714287310838699

èÏÞÅÛ ÄÏÂÉÔÓÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ÓÄÅÌÁÊ ÓÏÓÔÁ×ÎÏÊ ÉÎÄÅËÓ Õ ÔÅÂÑ ÕÓÌÏ×ÉÅ ÐÏ 
é Á ÎÅ ÐÏ éìé ÏÄÎÁËÏ. üÔÏ ÎÅ ÚÎÁÞÉÔ ÞÔÏ ÒÁÚ ÎÁ ËÁÖÄÏÅ ÐÏÌÅ ÉÎÄÅËÓ ÅÓÔØ 
×ÓÅ ÂÕÄÅÔ ÌÅÔÁÔØ. õ ÔÅÂÑ ×ÉÄÁÔØ ÐÏÌÚÏ×ÁÎÉÅ ÔÁÂÌÉÃÅÊ ÔÁËÏÅ ÞÔÏ ÌÕÞØÛÅ ÓÄÅÌÁÔØ 
ÓÏÓÔÏ×ÎÙÅ ÉÎÄÅËÓÙ.

õ  ÍÅÎÑ ÅÓÔØ ÔÁÂÌÉÃÁ ÐÒÏÄÁÖ ÐÏËÕÐÏË ÄÙË ÔÁÍ ×ÙÑÓÎÉÌÏÓØ ÄÁÂÙ ×ÓÅ ÌÅÔÁÌÏ ÎÁÄÏ 
ÉÎÄÅËÓÙ ÓÏÓÔÁ×ÎÙÅ ÓÄÅÌÁÔØ ÄÁ ÅÝÅ ÄÌÑ ËÏÎËÒÅÔÎÙÈ ÓÌÕÞÁÅ×. éÎÏÇÄÁ ÐÒÉÈÏÄÉÔÓÑ 
ÓÏÚÄÁ×ÁÔØ ÉÎÄÅËÓ ÔÏÌØËÏ ÄÌÑ ËÏÎËÒÅÔÎÏÇÏ ÏÔÞÅÔÁ ÐÏÔÏÍÕÞÔÏ ÒÁÚÒÏÚÎÅÎÎÏ 
ÂÏÌÔÁÀÝÉÅÓÑ ÉÎÄÅËÓÙ ÜÔÏ ÌÉÛÎÉÅ ÞÔÅÎÉÑ.

÷ Ô×ÏÅÍ ÓÌÕÞÁÅ ÅÓÌÉ ÅÓÔØ ÄÁÎÎÙÅ
DOCUMENTDATE PARENT   DOCUMENTTYPEKEY
01,01,20071 
1
01,01,2007null 
2
01,01,2007null 
2
01,01,2007null 
3
01,01,2007null 
3
01,01,2007null 
3

ÐÏÌÕÞÁÅÍ ÓÅÌÅËÔÉ×ÎÏÓÔØ  DOCUMENTDATE ÌÕÞÛÁÑ ×ÒÏÄÅ ËÁË ÎÏ ÅÓÌÉ 
ÐÏÄÂÉÒÁÔØ ÐÏ ÎÅÍÕ ÐÏÌÕÞÉÛ ×ÓÅ 6 ÞÔÅÎÉÊ ×ÚÑÔØ PARENT ÔÏ 5 ÞÔÅÎÉÊ ËÏÒÏÞÉ ÔÕÔ 
ÍÏÖÎÏ ËÒÕÔÉÔØ ÜÔÏ ËÁË ËÕÂÉË ÒÕÂÉË, ÎÏ ÏÂÙÞÎÏ ÅÓÔØ ÓÔÒÏÇÁÑ ÚÁÄÁÞÁ ÈÏÔÉÍ ÜÔÏ É 
ÅÓÌÉ ÂÕÄÅÔ ÉÎÄÅËÓ
PARENT   DOCUMENTDATE DOCUMENTTYPEKEY
É ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ ÉÓËÏÍÏÅ null and 01.01.2007 and 2 ÔÏ ÂÕÄÅÔ ÔÅÂÅ ÓÞÁÓÔØÅ 
×ÓÅÇÏ 2 ÞÔÅÎÉÑ É ÂÅÚ ÚÁÍÏÒÏÞÅË É ÏÐÔÉÍÉÚÁÔÏÒÕ ÈÏÒÏÛÏ É ÔÅÂÅ ÓÐÏËÏÊÎÏ. äÁÌÅÅ 
× ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÕÓÌÏ×ÉÊ ×ÙÂÏÒÏË ÎÁÄÏ ÒÁÓÐÏÌÏÇÁÔØ ÐÏÌÑ ÔÅ ÐÏ ËÏÔÏÒÙÍ
ÌÕÞÛÅ × ËÏÎÅÃ. á ×ÏÏÂÝÅ ÐÏÍÏÖÅÔ ÔÏÌØËÏ ÁÎÁÌÉÚ ÚÁÐÒÏÓÏ× ÐÅÒÅÄ ÉÈ ×ÙÐÕÓËÏÍ × 
ÖÉÚÎØ. 





Re: FB2 индекс по полю при проверке поле IS NULL

2007-01-23 Пенетрантность ArtGal

WildSery [EMAIL PROTECTED] сообщил/сообщила в
новостях следующее: news:[EMAIL PROTECTED]

 On Tue, 23 Jan 2007 11:54:04 +0300, ArtGal
[EMAIL PROTECTED] wrote:
  ИМХО. Можно избавиться от null'ов.
  В похожей ситуации мы заменили null'ы на -2147483647.

 А у нас в ссылках как правило нормальные значения, типа 0-базовая
запись, 1-по умолчанию, и т.д.



Фууу хилый 0.
У нас круче -2147483647.
Во как.
8-)

-- 
Артур Галимов. ФК ФармМедСервис (Сочи).




Re: FB2 индекс по полю при проверке поле IS NULL

2007-01-23 Пенетрантность WildSery

On Tue, 23 Jan 2007 15:28:32 +0300, ArtGal [EMAIL PROTECTED] wrote:
 У нас круче -2147483647.

Чем грузины?  :D

-- 
Сергей Смирнов.



Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Леонид Агафонов


Boltik Evgeny писал(а):

 Хочеш добится производительности сделай составной индекс у тебя условие по
 И а не по ИЛИ однако. Это не значит что раз на каждое поле индекс есть
 все будет летать. У тебя видать ползование таблицей такое что лучьше сделать
 состовные индексы.

 У  меня есть таблица продаж покупок дык там выяснилось дабы все летало надо
 индексы составные сделать да еще для конкретных случаев. Иногда приходится
 создавать индекс только для конкретного отчета потомучто разрозненно
 болтающиеся индексы это лишние чтения.

Евгений, Вы конечно на сто процентов в
данном случае правы, для данного
конкретного случая так было и сделано
(создан составной индекс)
но эти примеры я приводил не для помощи
в конкретной ситуации, переход на ФБ2.0
вызвал как много приятных эмоций так и
не очень приятных (особо не приятны
ограничения на использование альяса
таблицы и названия, ограничения на
указания в order by поля которого нет в group
by, я понимаю что так писать не красиво
но от этого не легче на большом кол-ве
проектов проверить всю отчетность и
мелкие запросики которые писались на
месте у клиента практически не
возможно, исправлять приходится
только опытным путём после получения
ошибки)

мне казалось что не у нас одних
проблема с индексом при указании is null
(раз это конкретный случай будем
перелопачивать все исходники пытаться
проставить +0 при подготовке запросов)

раз это укладывается в общую логику и у
остальных проблем не вызывает
предлагаю тему закрыть

С уважением, Леонид Агафонов



Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Andrei

 переход на ФБ2.0
 вызвал как много приятных эмоций так и
 не очень приятных (особо не приятны
 ограничения на использование альяса
 таблицы и названия, ограничения на
 указания в order by поля которого нет в group
 by, я понимаю что так писать не красиво
 но от этого не легче на большом кол-ве
 проектов проверить всю отчетность и
 мелкие запросики которые писались на
 месте у клиента практически не
 возможно, исправлять приходится
 только опытным путём после получения
 ошибки)

все-таки, лично я считаю, что так делать
нельзя. у ФБ есть большая клиентская
база. многие, сейчас стоят перед
вопросом: если ФБ2 несовместим с ФБ1.5,
то может ну его нафиг -- сменить сервер?
мало ли чего разработчикам в будущем
еще стукнет в голову. Когда у тебя
большой проект (платформа) на которой
работают более тысячи предприятий.
Когда возможности платформы позволяют
пользователю (настройщику)
расширять-дорабатывать-разрабатывать
свой софт, то тут и начинается шоу...
Советую почитать Спольского, почему
Микрософт стала Микрософтом. Потому
что от версии к версии поддерживала
обратную совместимость, чего бы это не
стоило. Зато получили доверие
пользователей и разработчиков...

С чем столкнулись лично мы:

1. алиасы и имена таблиц в запросах. Я
согласен, что это потенциально
уменьшит количество ошибок в запросах,
но в настоящее время это существенно
увеличило количество ошибок в
программах которые до этого считались
стабильными. Особенно напрягают такие
случаи:

SELECT gd_contact.id FROM gd_contact c WHERE... -- я понимаю,
что это частный случай, но таблица то
одна...

2. отсутствие встроенных функций.

3. запрет на преобразование даты к
целому.

4. изменились параметры подключения к
сервису для шатдауна-вывода БД в
онлайн. Из-за чего старый код теперь не
работает. Придется лезть и смотреть
чего-там не так.

5. по иному строятся планы запросов.
иногда это лучше, но иногда приводит к
большой заднице...



Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Alexandr Kochmin


A все-таки, лично я считаю, что так делать
A нельзя.

ну а истина как всегда, где-то рядом. ;)

--
С уважением
Кочмин Александр
Firebird Foundation associate member #257 





Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Nikolay Ponomarenko


Hello, Ded!
You wrote  on Mon, 22 Jan 2007 21:17:08 +0300:


?? более понятный пример из жизни:
?? есть таблица документов (document) :
?? id - идентификатор
?? parent - ссылка на главный документ (если
?? parent is null то это заголовок документа
?? если заполнен то позиции документа)

D Какая у людей интересная жизнь... (С). То есть, в заголовке
D болтаются не пришей, кхм, рукав, атрибуты позиций, а в позициях -
D заголовка?

А варианты, когда документ может быть как отдельным объектом, так и
отдельным пунктом документа верхнего уровня?

--
-=владение русской орфографией  - это как владение кунг-фу: настоящие 
мастера не применяют его без необходимости...=-
With best regards,  Nikolay Ponomarenko 





Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность ArtGal

Andrei [EMAIL PROTECTED] сообщил/сообщила в
новостях следующее:
news:[EMAIL PROTECTED]

 все-таки, лично я считаю, что так делать
 нельзя. у ФБ есть большая клиентская
 база. многие, сейчас стоят перед
 вопросом: если ФБ2 несовместим с ФБ1.5,
 то может ну его нафиг -- сменить сервер?

Но жизнь на FB 2 и даже на 3 не кончается.
Клиентская база будет расти.
Лучше исправить сейчас чем тянуть старые
баги для поддержания старых ошибок.

-- 
Артур Галимов. ФК ФармМедСервис (Сочи).




Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность WildSery

On Tue, 23 Jan 2007 17:10:58 +0300, Andrei [EMAIL PROTECTED] wrote:
 С чем столкнулись лично мы:
 2. отсутствие встроенных функций.
 3. запрет на преобразование даты к
 целому.

А что, в FB1.5 это было?

 5. по иному строятся планы запросов.
 иногда это лучше, но иногда приводит к
 большой заднице...

Для того и нужны баг-репорты. Если это уже не исправлено в 2.0.1.
Кроме того, в существующем проекте прямо все-все запросы работают наиболее 
оптимальным образом, наверное?

-- 
Сергей Смирнов.



Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Horsun Vlad

Andrei ...

 все-таки, лично я считаю, что так делать
 нельзя.

Как ?

 у ФБ есть большая клиентская
 база. многие, сейчас стоят перед
 вопросом: если ФБ2 несовместим с ФБ1.5,

та ты шо ? несовместим, оказывается !

 то может ну его нафиг -- сменить сервер?

Может

 мало ли чего разработчикам в будущем
 еще стукнет в голову.

Спасибо

 Когда у тебя
 большой проект (платформа) на которой
 работают более тысячи предприятий.

А вот тут я спрошу о том, сколько ты вернул проекту,
позволившему тебе исталлироваться на более тысячи
предприятий ?

 Когда возможности платформы позволяют
 пользователю (настройщику)
 расширять-дорабатывать-разрабатывать
 свой софт, то тут и начинается шоу...
 Советую почитать Спольского, почему
 Микрософт стала Микрософтом. Потому
 что от версии к версии поддерживала
 обратную совместимость, чего бы это не
 стоило. Зато получили доверие
 пользователей и разработчиков...

Да ? Доверие ? Гы

 С чем столкнулись лично мы:

...
 2. отсутствие встроенных функций.

Их стало меньше в 2.0 ?

 3. запрет на преобразование даты к
 целому.

Это тоже произошло в 2.0 ?

 4. изменились параметры подключения к
 сервису для шатдауна-вывода БД в
 онлайн. Из-за чего старый код теперь не
 работает. Придется лезть и смотреть
 чего-там не так.

Такого быть не должно. Ничего там не менялось, если это
не так, то это баг, который нужно исправлять.

 5. по иному строятся планы запросов.
 иногда это лучше, но иногда приводит к
 большой заднице...

А давай-ка ты с сервера X версии N перейдёшь на версию
N + 1, ничего не меняя, а потом будешь рассказывать об этом
счастливом опыте ?

-- 
Хорсун Влад




Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Ded


Nikolay Ponomarenko wrote:


А варианты, когда документ может быть как отдельным объектом, так и
отдельным пунктом документа верхнего уровня?


   И оба - экземпляры одной сущности имеющие одинаковый набор атрибутов?

--
Regards. Ded.




Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Dmitri Kuzmenko


Hello, Andrei!

Andrei wrote:


все-таки, лично я считаю, что так делать
нельзя. у ФБ есть большая клиентская
база. многие, сейчас стоят перед
вопросом: если ФБ2 несовместим с ФБ1.5,
то может ну его нафиг -- сменить сервер?


забей. точно такая же фигня была в момент
появления Firebird 1.02. Где стали
запрещены запросы с неуказанием алиаса
таблицы, если в запросе попадались таблицы
с одинаковыми именами столбцов.

Я встречал приложения, где таких запросов
был каждый второй. Но их легко исправлять -
можно тупо переписать все запросы с алиасами
таблиц, и все.

А вот исправление парсера, который допускал
выполнение кривых запросов - это тоже
правильное дело.


1. алиасы и имена таблиц в запросах. Я
согласен, что это потенциально
уменьшит количество ошибок в запросах,
но в настоящее время это существенно
увеличило количество ошибок в
программах которые до этого считались
стабильными. Особенно напрягают такие
случаи:


ой, фигню вы пишете. я писать алиасы в запросах
приучился еще с конца 90х годов. И у меня есть
база, созданная в 1997 году, которая кочует
по всем версиям IB/FB ВООБЩЕ БЕЗ ПЕРЕДЕЛОК
ИЛИ ИСПРАВЛЕНИЙ.
То есть, и вы тоже научитесь писать запросы правильно.


SELECT gd_contact.id FROM gd_contact c WHERE... -- я понимаю,
что это частный случай, но таблица то
одна...


ну и чего это за бред написан?


4. изменились параметры подключения к
сервису для шатдауна-вывода БД в
онлайн. Из-за чего старый код теперь не
работает. Придется лезть и смотреть
чего-там не так.


а еще не работает gbak -r


5. по иному строятся планы запросов.
иногда это лучше, но иногда приводит к
большой заднице...


нет в жизни счастья.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Oleg Deribas

Hello,

Andrei said the following on 23.01.2007 16:10:

 все-таки, лично я считаю, что так делать нельзя. 

Как делать нельзя? Новые версии выпускать нельзя?

 у ФБ есть большая клиентская база. многие, сейчас стоят перед 
 вопросом: если ФБ2 несовместим с ФБ1.5, то может ну его нафиг --
 сменить сервер? 

И огрести все то же самое. Иногда, даже еще в больших размерах.

 Советую почитать Спольского, почему Микрософт стала Микрософтом. 

А разве тут кто-то декларировал желание стать Микрософтом?
Меня, например, все перечисленные изменения радуют (кроме падения
производительности запросов, конечно, но я у себя такого падения не
наблюдал).

Старые проекты которые тяжело перевести на 2.0 я оставлю на 1.5.x - вон,
вроде бы и 1.5.4 будет выпущен. И они как работали так и будут
продолжать работать.

-- 
Oleg



Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Леонид Агафонов


Ded писал(а):
 под улюлюканье и восторженные вопли лепильщиков прог на коленке, идёт по пути
 приделывания тучи прибамбасов, позволяющих потребителю забыть про что
 такое реляционные модели и сиквел, не заниматься проектированием и
 оставлять свои мозги на уровне палки и верёвки.

немножко оскорбительны Ваши выражения
приведенные выше да и в других постах к
сожалению
возможно конечно Вы единственный
человек обладающий мегаопытом и
пишущий мегаправильно мегасистему
я в общем-то уважительно к Вам отношусь
из-за того что большинство Ваших
постов (когда они по теме)
действительно правильны и во многом
повлияли на развитие ФБ, но если можно
давайте более уважительно относиться
к собеседникам, большинство из нас не
разработчики ФБ а пользователи
данного продукта, со своими проблемами
иногда хочется написать про проблемы
вызванные оптимизатором, обсудить
конкретные проблемы падения базы но
как представишь себе что тебе ответят
в 50% случаев хамством, руки сразу
опускаются, а потом друг на друга
киваем, что вяло тестируют

мы раньше часто использовали Yaffil нас
очень устраивало и быстродействие и
наличие оптимизации под винду и
встроенные функции, при попытке
тестирования наших баз на ФБ2
альфа/бета мы уже тогда столкнулись со
сложностью переноса из-за ограничений
на синтаксис введенный в ФБ это
осложнило тестирование перехода и
затянуло сам переход
но при росте баз  на Yaffl мы столкнулись
со специфической проблемой превышения
2Гб процессом при большом кол-ве
одновременных запросов, что начало
приводить к катострофическим
последствиям (для нас), базы были
срочно переведены на ФБ2, всё работает
полёт нормальный :), но зачастую мы
имеем совершенно другую логику
оптимизатора (я всё про свои нуллы) и
ошибки из-за мелочных изменений в
синтаксисе, что практически
парализовало работу нескольких
сотрудников отсюда и раздражение
несовместимостью
ладно всё это лирика

С уважением, Леонид Агафонов



Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Dmitri Kuzmenko


Hello, Леонид!

Леонид Агафонов wrote:


немножко оскорбительны Ваши выражения
приведенные выше да и в других постах к
сожалению


это было написано НЕ ВАМ, и более того,
это была абстрактная фраза, причем ПРО РАЗВИТИЕ СЕРВЕРА. Читайте, 
пожалуйста, внимательнее. Привожу полную цитату:


Andrei wrote:

5. по иному строятся планы запросов.
иногда это лучше, но иногда приводит к
большой заднице...



Ded wrote:
  Сам от этого страдаю. Но страдаю столько раз, сколько менял версию. 

Ничего нового в этом нет. К сожалению, вместо наведения порядка раз и
навсегда в набивших оскомину местах, развитие сервера, под улюлюканье и
восторженные вопли лепильщиков прог на коленке, идёт по пути приделывания
тучи прибамбасов, позволяющих потребителю забыть про что такое 
реляционные

модели и сиквел, не заниматься проектированием и оставлять свои мозги на
уровне палки и верёвки.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: FB2 индекс по полю при проверке поле

2007-01-23 Пенетрантность Ded


Dmitri Kuzmenko wrote:


это было написано НЕ ВАМ, и более того,
это была абстрактная фраза, причем ПРО РАЗВИТИЕ СЕРВЕРА.


   Всё равно вспылил, приношу извинения. Пожалуй надо помолчать 
какое-то время. Задрало всё на работе, язва опять обострилась :(


--
Regards. Ded.



Re: FB2 индекс по полю при проверке поле IS NULL

2007-01-22 Пенетрантность sasha


Леонид Агафонов wrote:

Добрый день!

Есть запрос
select * from
  test_table c
where
  c.cost = 0
  and
  c.parent is null

FB2 берёт индекс по parent

селективность индекса по полю cost
0,45242726628202945
селективность индекса по полю PARENT
0,0149521531511709327


Я когда-то с индексами по выражениям пытался мутить что-то вроде такого:

делаете индекс вычисляемый COALESCE(parent, -Id)

а потом говорите:

select * from
  test_table c
where
  c.cost = 0
  and
  (COALESCE(c.parent, -c.Id) = -c.Id AND c.parent is null)



Re: FB2 индекс по полю при проверке поле IS NULL

2007-01-22 Пенетрантность sasha


Ой, не, глупостьи неправду написал. Там не COALESCE(c.parent, -c.Id) 
было, а результат подзапроса к другой таблице. Тут такое не прокатит к 
сожалению :-(




Re: FB2 Сообщение invalid SEND request

2007-01-22 Пенетрантность Vlad Horsun

Леонид Агафонов ...
 Добрый день!

 При работе с базой на сервере в логе
 появилось сообщение (два раза):
 FBSERVER (Server) Mon Jan 22 17:49:44 2007
 Database: E:\TEST.FDB
 internal gds software consistency check (invalid SEND request (167),
 file: exe.cpp line: 494)
 FBSERVER (Server) Mon Jan 22 17:49:44 2007
 Database: E:\TEST.FDB
 internal gds software consistency check (invalid SEND request (167),
 file: exe.cpp line: 494)

 После этого к базе подключиться было
 не возможно (загрузка процессора 0%)

 Что может означать это сообщение?

http://tracker.firebirdsql.org/browse/CORE-1080

--
Хорсун Влад




Re: FB2 индекс по полю при проверке поле IS NULL

2007-01-22 Пенетрантность Dmitry Yemanov


Леонид Агафонов wrote:


Есть запрос
select * from
  test_table c
where
  c.cost = 0
  and
  c.parent is null

FB2 берёт индекс по parent


Только по нему или по обоим полям?


я кончено понимаю что наверное теперь
is null это такое-же значение как и любое
другое


Почему теперь? Оно всегда было таким же.


--
Дмитрий Еманов



Re: FB2 Сообщение invalid SEND request

2007-01-22 Пенетрантность Dmitry Yemanov


Леонид Агафонов wrote:


При работе с базой на сервере в логе
появилось сообщение (два раза):
FBSERVER (Server)   Mon Jan 22 17:49:44 2007
Database: E:\TEST.FDB
internal gds software consistency check (invalid SEND request (167),
file: exe.cpp line: 494)
FBSERVER (Server)   Mon Jan 22 17:49:44 2007
Database: E:\TEST.FDB
internal gds software consistency check (invalid SEND request (167),
file: exe.cpp line: 494)

Что может означать это сообщение?


  **
  * v2.0.1
  **

* Fixed bug CORE-1080
Bugcheck 167 (invalid SEND request) in SS when many parallel 
attachments begin

to execute trigger not loaded into metadata cache
  Contributor(s):
Vlad Horsun horsun at kdb.dp.ua


--
Дмитрий Еманов



Re: FB2 индекс по полю при проверке поле IS NULL

2007-01-22 Пенетрантность WildSery

On Mon, 22 Jan 2007 19:29:45 +0300, Леонид Агафонов [EMAIL PROTECTED] wrote:
 Есть запрос

select * from
   test_table c
   where c.cost = 0 and c.parent+0 is null



Re: FB2 индекс по полю при проверке поле IS NULL

2007-01-22 Пенетрантность Vlad Horsun


Леонид Агафонов ...
 Добрый день!

 Есть запрос
 select * from
   test_table c
 where
   c.cost = 0
   and
   c.parent is null

 FB2 берёт индекс по parent

 селективность индекса по полю cost
 0,45242726628202945
 селективность индекса по полю PARENT
 0,0149521531511709327

Почти на 2 порядка лучше, однако

 я кончено понимаю что наверное теперь
 is null это такое-же значение как и любое
 другое
 но может это не очень хорошо?

В данном запросе - это отлично

 Не знаю как у других :) но на наших
 задачах очень много создано
 полей/атрибутов в справочниках и
 документах где заполнение всех полей
 для каждого состояния не обязательно
 естественно возникают таблицы у
 которых на 5-6 млн. записей значения
 многих полей на 80% null

И шо ?

 есть ли возможность отключить
 использование такого поведения в
 настройках

Зачем ?

--
Хорсун Влад




Re: FB2 индекс по полю при проверке поле

2007-01-22 Пенетрантность Ded


Леонид Агафонов wrote:


более понятный пример из жизни:
есть таблица документов (document) :
id - идентификатор
parent - ссылка на главный документ (если
parent is null то это заголовок документа
если заполнен то позиции документа)


   Какая у людей интересная жизнь... (С). То есть, в заголовке 
болтаются не пришей, кхм, рукав, атрибуты позиций, а в позициях - 
заголовка? Оригинальненько, свежо. Какая ж энто по шшоту-то у нас 
нормальная форма-то будет - ума не приложу...


--
Regards. Ded.



Re: FB2 индекс по полю при проверке поле IS NULL

2007-01-22 Пенетрантность DmitryLe

Это старо как мир, а не решение
проблемы. 
Дмитрий



Re: FB2 Сообщение invalid SEND request

2007-01-22 Пенетрантность Dmitry Yemanov


Леонид Агафонов wrote:

ну и встречный вопрос где взять к
обоим самым главным людям :)


Выйдет на днях.


--
Дмитрий Еманов



Re: FB2 индекс по полю при проверке поле IS NULL

2007-01-22 Пенетрантность Dmitri Kuzmenko


Hello, DmitryLe!

DmitryLe wrote:

Это старо как мир, а не решение
проблемы. 


согласен, старо, и я про это уже писал где-то в 2000 году :-)

только почему это не решение проблемы?

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: FB2 + DB_KEY - проблемки парсера

2007-01-17 Пенетрантность Dmitri Kuzmenko


Hello, WildSery!

WildSery wrote:

Да, всегда так было.
Но объясни, зачем такая избирательность, что только в триггере 

 без алиаса нельзя, а в запросе и в процедуре можно?

например.

select rdb$db_key from table.

все ок. Rdb$db_key имеет контекст table.

теперь пишем в триггере то же самое.
чей контекст у rdb$db_key? триггера? или table?

это я к тому, что
select field from table
будучи написанное в триггере, может означать что
1. field это поле таблицы, для которой сработал триггер
2. field это поле table

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: FB2 + DB_KEY - проблемки парсера

2007-01-17 Пенетрантность WildSery

On Wed, 17 Jan 2007 12:52:16 +0300, Dmitri Kuzmenko [EMAIL PROTECTED] wrote:
 select field from table
 будучи написанное в триггере, может означать что
 1. field это поле таблицы, для которой сработал триггер

Это в каком же случае оно так означает?
Я думал, что только с приставками OLD. и NEW. можно использовать. Какие тут 
могут быть разночтения?

-- 
Сергей Смирнов.



Re: FB2 + DB_KEY - проблемки парсера

2007-01-17 Пенетрантность sasha



теперь пишем в триггере то же самое.
чей контекст у rdb$db_key? триггера? или table?


Однозначно таблицы, т.к. для триггера было бы NEW. или OLD.



Re: FB2 + DB_KEY - проблемки парсера

2007-01-16 Пенетрантность WildSery

On Tue, 16 Jan 2007 19:00:51 +0300, sasha [EMAIL PROTECTED] wrote:
 то уже не компиллируется:

Не скомпилируется, кстати, если и вообще алиаса нет у таблицы, типа
SELECT RDB$DB_KEY FROM MyTable INTO :EXISTING_DB_KEY;

-- 
Сергей Смирнов.



Re: FB2 + DB_KEY - проблемки парсера

2007-01-16 Пенетрантность sasha



Не скомпилируется, кстати, если и вообще алиаса нет у таблицы, типа
SELECT RDB$DB_KEY FROM MyTable INTO :EXISTING_DB_KEY;


Та я знаю. А раньше вроде работало...



Re: FB2 + DB_KEY - проблемки парсера

2007-01-16 Пенетрантность Sergey Mereutsa

Привет!

 А почему когда я пишу в триггере

 SELECT T.RDB$DB_KEY FROM MyTable T WHERE ... INTO :EXISTING_DB_KEY;

 то у меня всё компиллируется, а если так

 SELECT RDB$DB_KEY FROM MyTable T WHERE ... INTO :EXISTING_DB_KEY;

 то уже не компиллируется:

А потому, что обычным смертным знать по этот ключик не положено, и для
них его нету. Хошь юзать хак - не придирайся и пиши алиас, не хочешь -
используй PK.



-- 
Best regards,
 Sergeymailto:[EMAIL PROTECTED]




Re: FB2 + DB_KEY - проблемки парсера

2007-01-16 Пенетрантность sasha



А потому, что обычным смертным знать по этот ключик не положено, и для
них его нету.


Так его ж IBExpert активно показывает в списке полей. Мне чё-то кажется 
что мало кто о нём не знает.




Re: ������������� ��������� � ��������� �������� � FB2

2006-11-01 Пенетрантность Marat Zigangirov

  òÁÎØÛÅ ÄÏ FB2, ÅÓÌÉ ÎÅ ÏÛÉÂÁÀÓØ, ÎÁÓÔÏÑÔÅÌØÎÏ ÎÅ ÒÅËÏÍÅÎÄÏ×ÁÏÌÏÓØ
ÓÏ×ÍÅÝÁÔØ
  ÏÄÎÏ×ÒÅÍÅÎÎÙÊ ÄÏÓÔÕÐ Ë ÂÁÚÅ ÐÏ ÌÏËÁÌØÎÎÏÍÕ É ÕÄÁÌÅÎÎÏÍÕ ÐÒÏÔÏËÏÌÁÍ.

 îÅ ÐÏÍÎÀ ÔÁËÏÇÏ.

http://www.ibase.ru/devinfo/dontdoit.htm  - 1 ÐÕÎËÔ
ôÁÍ ÎÅ ÓËÁÚÁÎÏ Ñ×ÎÏ ÐÒÏ ÌÏËÁÌØÎÏÅ É ÕÄÁÌÅÎÎÏÅ ÐÏÄËÌÀÞÅÎÉÑ, ÇÏ×ÏÒÉÔÓÑ ÐÒÏ
ËÏÎÎÅËÔ Ë ÏÄÎÏÊ ÂÁÚÅ Ó ÒÁÚÎÙÍÉ ÐÕÔÑÍÉ. ñ ÐÒÅÄÐÏÌÏÖÉÌ, ÞÔÏ
c:\database.fdb É localhost:c:\database.fdb - ÒÁÚÎÙÅ ÐÕÔÉ Ó ÔÏÞËÉ ÚÒÅÎÉÑ
ÓÅÒ×ÅÒÁ.

  ðÏÓÌÅ ÚÁÄÅÊÓÔ×Ï×ÁÎÉÑ XNET × FB2 ÜÔÉ ÒÅËÏÍÅÎÄÁÃÉÉ ÏÓÔÁÌÉÓØ × ÓÉÌÅ ÉÌÉ FB2
  ÔÅÐÅÒØ ×ÓÅ ËÏÒÒÅËÔÎÏ ÒÁÚÒÕÌÉ×ÁÅÔ É ÂÅÓÐÏËÏÉÔÓÑ ÎÁ ÜÔÏÔ ÓÞÅÔ ÔÅÐÅÒØ
ÉÚÌÉÛÎÅ?

 óÍÏÔÒÑ ËÁËÉÅ ÂÅÓÐÏËÏÊÓÔ×Á ÉÍÅÀÔÓÑ ××ÉÄÕ.

âÅÓÐÏËÏÉÔ ÐÏ×ÒÅÖÄÅÎÉÅ ÂÁÚÙ ×ÐÌÏÔØ ÄÏ ÅÅ ÐÏÌÎÏÇÏ ÕÎÉÞÔÏÖÅÎÉÑ (Ó).

--
Marat Zigangirov





Re: ������� ��������� ������� (FB2 RC1 CS Linux)

2006-09-06 Пенетрантность Vadim Mescheryakov

á ÎÁ Ä×ÏÒÅ RC4... é ÞÔÏ ÏÎÉ ÔÁÍ ×ÓÑËÕÀ ÆÉÇÎÀ ÍÏÌÏÔÉÌÉ ÁÖ ÅÝ£ 3 RC 
 ×ÙÐÕÓÔÉÌÉ, ÎÁ ÆÉÇÁ, ÒÅÌÉÚÉÌÉ ÂÙ ÐÅÒ×ÙÊ...

äÁ, ÎÅ ÚÒÑ ÏÎÉ RC4 ×ÙÐÕÓÔÉÌÉ.
ðÏÓÔÁ×ÉÌ RC4, ÒÁÂÏÔÁÅÔ ÎÏÒÍÁÌØÎÏ ÂÅÚ ÏÂÒÙ×Ï×.

óÐÁÓÉÂÏ 





Re: FB2 - ������ � ����������

2006-06-28 Пенетрантность Dmitry Yemanov
Kovalenko Dmitry [EMAIL PROTECTED] wrote:

 Раньше эти колонки имели
 фактичеческую кодировку OCTETS, то есть
 их размер не зависил ни от чего и был,
 зачастую, равен 31 байт.

Дык это был очевидный баг.


--
Дмитрий Еманов




--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 - измена с кодировками

2006-06-28 Пенетрантность Kovalenko Dmitry
  Раньше эти колонки имели
  фактичеческую кодировку OCTETS, то есть
  их размер не зависил ни от чего и был,
  зачастую, равен 31 байт.

 Дык это был очевидный баг.

Ха, я вот забацал запрос вида

SELECT f.RDB$FIELD_NAME,
   f.RDB$CHARACTER_LENGTH,
   f.RDB$FIELD_LENGTH
from rdb$fields f
where f.RDB$SYSTEM_FLAG=1
  and f.RDB$FIELD_TYPE in (14,37)

и подивился с NULL-а во второй колонке и
значению в третьей.

Как на FB2, так и на FB1.5

Вопрос, откуда FB2 берет 93 байта под
колонки с именами, если у них
физическая длина ограничена 31 байтом?

Коваленко Дмитрий.


--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 - ������ � ����������

2006-06-28 Пенетрантность Dmitry Yemanov
Kovalenko Dmitry [EMAIL PROTECTED] wrote:

 Вопрос, откуда FB2 берет 93 байта под
 колонки с именами, если у них
 физическая длина ограничена 31 байтом?

Он плюет на FIELD_LENGTH и тупо умножает длину поля на три. Так специально 
было сделано, иначе вылезали какие-то грабли с совместимостью.


--
Дмитрий Еманов




--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 - ???�???�???� N? ????????N????????�????

2006-06-28 Пенетрантность Roman Rokytskyy
 ??, ?? FB2

 С чем-чем там измена ? :)

Слушайте, подскажите, что там глупому Fidolook подправить, чтоб он такие 
штуки больше не делал - даю просто Reply to newsgroup,  он кодировку 
портит

а я писал, что если не ошибаюсь, то 93 байта будут только для lc_ctype=NONE, 
для остальных (lc_ctype=WIN1251 или UNICODE_FSS) - согласно правил.

Роман 




--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 - измена с кодировками

2006-06-28 Пенетрантность Kovalenko Dmitry
Поправочка, иик и вопрос в конце

 В FB2 размер буфера (XSQLVAR::sqllen) под
 текстовые колонки вычисляется по
 формуле

 (размер колонки в символах) умножить на
 (размер символа в байтах для текущей
 кодовой страницы подключения)

 Если кодовая страница подключения - NONE,
 то берется родная кодировка колонки

Если колонка имеет кодировку OCTETS или
NONE, то берется родная кодировка
колонки


Нарвался на текстовые системные
колонки с кодировкой NONE :)


Вопрос - почему я не могу подключиться
к базе с использованием
кодовой страницы OCTETS?

Коваленко Дмитрий.


--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 RC3?

2006-06-23 Пенетрантность Vadim Mescheryakov
 Скачала свежий билд, там написано RC3, это что означает?
А откуда его все качают? 




--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-21 Пенетрантность Dmitry Yemanov
Serge Buzadzhy [EMAIL PROTECTED] wrote:

 Ну ка перепиши изначальный запрос

 select * from test_null t where (t.test_str=:test_null0)

 на запрос с or is null так чтобы при нулл параметре он давал
 t.test_str is null... и при этом еще и работал. А я полюбуюсь.

select *
from test_null t
where (t.test_str = :param) or (t.test_str is null and cast(:param as 
char(1)) is null)

P.S. YA и FB2 :-)
P.P.S. Работать будет медленно, т.к. индекс тут не светит.


--
Дмитрий Еманов




--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-21 Пенетрантность Alexandr Kochmin
  NP Э нет - просил, это когда я вручную установил то свойство. А я не
 NP просил, я тока квери создал, который ПО УМОЛЧАНИЮ изменяется мой
 NP запрос... Имхо такой параметр никак не должен быть включенным по
 NP умолчанию, а то скатимся ко всяким ANSI_NULLS :))

эээ нет.
И так переход с версии на версию в FibPlus это большая проблема.
А если еще при добавлении новых полей у компонентов не думать о тех кто 
переходит на новую версию,
то вообще нафиг.
Кому очень надо, добавите еще одну птичку в tools FibPlus Preferences и 
успокойтесь.


--
С уважением
Кочмин Александр



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-21 Пенетрантность Serge Buzadzhy

Nikolay Ponomarenko пишет:
 Hello, Serge!
 You wrote  on Tue, 20 Jun 2006 17:13:25 +0300:
 
 
  ?? Я в курсе :) Вообще-то и or is null достаточно нагляден.
  SB Кто нагляден? Кто or is null? :)
  SB Ну ка перепиши изначальный запрос
  SB select * from test_null t where (t.test_str=:test_null0)
  SB на запрос с or is null так чтобы при нулл параметре он давал
  SB t.test_str is null... и при этом еще и работал. А я полюбуюсь.
 
 select * from test_null t where (t.test_str=:test_null0) or (t.test_str is 
 null)
 даст мне то, что я хочу, т.к. при нулл параметре (t.test_str=:test_null0)
 выпадает, разве не так?

Ай молодца!  А при НЕ нулл параметре оно тоже даст тебе то что ты хочешь? :)

 Про сложности :test_null0 is null ((coalesce(:test_null0,cast(null as 
 integer)) is null)) я в курсе, но ведь оно мне и не нужно...

Оно тебе нужно. Только ты об этом не хочешь знать. :)
 
  ?? Когда его не предлагают без спроса :))
  SB Дык ты попросил. Просто об этом не знал. Опция не просить не взведена.
 
 Э нет - просил, это когда я вручную установил то свойство. А я не просил,
 я тока квери создал, который ПО УМОЛЧАНИЮ изменяется мой запрос...
 Имхо такой параметр никак не должен быть включенным по умолчанию, а
 то скатимся ко всяким ANSI_NULLS :))
Эта фича сделана не просто так. Без нее парадигма датасета как набора 
SelectSQL,InsertSQL,UpdateSQL и т.д. не до конца работоспособна. Она 
остается работоспособной только если условия ограничения по первичному 
ключу таблицы. Если же условие where по всем или части полей, где может 
быть нулл, то... UpdateSQL  тихо не работает, поскольку  условие всегда 
будет давать фальсе.  И решить путем хитрого написания запроса ДО ФБ2 не 
представлялось возможным. Так что... эта фишка была с самых первых 
плюсов, и далее всегда будет по умолчанию.  Я еще не самоубийца чтоб 
сознательно портить совместимость с пред версиями.


Удачи





--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-21 Пенетрантность Serge Buzadzhy

Dmitry Yemanov пишет:
 Serge Buzadzhy [EMAIL PROTECTED] wrote:
 Ну ка перепиши изначальный запрос

 select * from test_null t where (t.test_str=:test_null0)

 на запрос с or is null так чтобы при нулл параметре он давал
 t.test_str is null... и при этом еще и работал. А я полюбуюсь.
 
 select *
 from test_null t
 where (t.test_str = :param) or (t.test_str is null and cast(:param as 
 char(1)) is null)
 
 P.S. YA и FB2 :-)
 P.P.S. Работать будет медленно, т.к. индекс тут не светит.

Ишь ты. Точно работит. :) Жаль что это для меня уже мало что меняет. :)))


--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-21 Пенетрантность Nikolay Ponomarenko
Hello, Serge!
You wrote  on Wed, 21 Jun 2006 10:27:49 +0300:

 ?? select * from test_null t where (t.test_str=:test_null0) or
 ?? (t.test_str is null) даст мне то, что я хочу, т.к. при нулл параметре
 ?? (t.test_str=:test_null0) выпадает, разве не так?
 SB Ай молодца!  А при НЕ нулл параметре оно тоже даст тебе то что ты
 SB хочешь? :)
 ?? Про сложности :test_null0 is null ((coalesce(:test_null0,cast(null as
 ?? integer)) is null)) я в курсе, но ведь оно мне и не нужно...
 SB Оно тебе нужно. Только ты об этом не хочешь знать. :)

Ну [оправдываясь], меня волновал именно нулл параметр :))

 SB Эта фича сделана не просто так. Без нее парадигма датасета как набора
 SB SelectSQL,InsertSQL,UpdateSQL и т.д. не до конца работоспособна.
 SB Она остается работоспособной только если условия ограничения по
 SB первичному ключу таблицы. Если же условие where по всем или части
 SB полей, где может быть нулл, то... UpdateSQL  тихо не работает,
 SB поскольку  условие всегда будет давать фальсе.  И решить путем хитрого
 SB написания запроса ДО ФБ2 не представлялось возможным. Так что... эта
 SB фишка была с самых первых плюсов, и далее всегда будет по умолчанию.  Я
 SB еще не самоубийца чтоб сознательно портить совместимость с пред
 SB версиями.

Ок, понял.

ЗЫ
теперь ясно кто виноват  - те, кто не любит суррогаты :)

-- 
-=Толстяки живут меньше. Зато едят больше=-
With best regards,  Nikolay Ponomarenko 



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-20 Пенетрантность Nikolay Ponomarenko
Hello, Plotnikov!
You wrote  on Tue, 20 Jun 2006 08:31:07 +0500:

 ?? Надо было соглашаться на ==
 ?? :

 PY Дык в итоге то сделали.. в смысле из дистинкт фром. Так, хоть и
 PY длиннее, но зело нагляднее

Я в курсе :) Вообще-то и or is null достаточно нагляден.
Когда его не предлагают без спроса :))

Но с == вопросов меньше.

-- 
-=Мир житейский - это часы, гири которых - деньги, а маятник - женщины (с) 
Г.Э. Лессинг=-
With best regards,  Nikolay Ponomarenko 



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-20 Пенетрантность Serge Buzadzhy

Nikolay Ponomarenko пишет:
 Hello, Plotnikov!
 You wrote  on Tue, 20 Jun 2006 08:31:07 +0500:
 
  ?? Надо было соглашаться на ==
  ?? :
 
  PY Дык в итоге то сделали.. в смысле из дистинкт фром. Так, хоть и
  PY длиннее, но зело нагляднее
 
 Я в курсе :) Вообще-то и or is null достаточно нагляден.

Кто нагляден? Кто or is null? :)
Ну ка перепиши изначальный запрос

select * from test_null t where (t.test_str=:test_null0)

на запрос с or is null так чтобы при нулл параметре он давал 
t.test_str is null... и при этом еще и работал. А я полюбуюсь.

 Когда его не предлагают без спроса :))
Дык ты попросил. Просто об этом не знал. Опция не просить не взведена.



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-20 Пенетрантность Alexander Kolokolzov
  Когда его не предлагают без спроса :))
 Дык ты попросил. Просто об этом не знал. Опция не просить не взведена.
а как бы вырубить в библиотеке это умолчание нах?
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 и null параметры

2006-06-19 Пенетрантность Alexander Kolokolzov
Весело...
На приведенных метаданных, данных и запросе подтверждается.
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Alexandr Kochmin
 NP Hello, All!
 NP Пример тестовой БД внизу.

 NP Запрос такого вида

 NP select * from test_null t where (t.test_str=:test_null0)

 NP в случае, если параметр задать равным null возвращает
 NP строки, где TEST_STR=NULL
 NP Т.е. сравнение нуллов дает true. Я в растерянности.

 NP FB2 RC2 - на свежих сборках не тестил.
 NP Проверялось в Эксперте и последних ФИБах

по-моему эти инструменты умеют преобразовывать этот запрос в запрос вида
 select * from test_null t where (t.test_str is null)
Что и делают исправно.
Достоинство это или недостаток, сказать трудно. Но по-моему больше достоинство 
чем недостаток.
И уж никак не баг FB


--
С уважением
Кочмин Александр



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Alexander Kolokolzov
 по-моему эти инструменты умеют преобразовывать этот запрос в запрос вида
 select * from test_null t where (t.test_str is null)
 Что и делают исправно.
если Sql Monitor в эксперте не врет, ничего не преобразовывается

 Достоинство это или недостаток, сказать трудно. Но по-моему больше 
 достоинство чем недостаток.
вообще то по стандарту даже сравнение null с null должно давать в результате 
null...
так что имхо недостаток
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 и null параметры

2006-06-19 Пенетрантность Yuri Grabar
Hello, Nikolay!
You wrote to All on Mon, 19 Jun 2006 10:10:40 +0300:

 NP Проверялось в Эксперте и последних ФИБах

Это и есть ответ - и там и там используются ФИБы, которые сами заменяют в 
тексте запроса
(t.test_str=:test_null0) на (t.test_str is Null). Фича так сказать :))

-- 
With best regards, Yuri Grabar. 



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Alex Cherednichenko
Привет, Yuri!
Вы пишешь к Nikolay Ponomarenko 19 июня 2006:

 NP Проверялось в Эксперте и последних ФИБах

 YG Это и есть ответ - и там и там используются ФИБы, которые сами заменяют в
 YG тексте запроса
 YG (t.test_str=:test_null0) на (t.test_str is Null). Фича так сказать :))

За эксперта, лучше таки спросить у Хвастунова.

--
With best regards, Alex Cherednichenko.



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Nikolay Ponomarenko
Hello, Alexandr!
You wrote to Nikolay Ponomarenko on Mon, 19 Jun 2006 14:49:49 +0700:

 AK по-моему эти инструменты умеют преобразовывать этот запрос в запрос
 AK видаselect * from test_null t where (t.test_str is null)
 AK Что и делают исправно.
 AK Достоинство это или недостаток, сказать трудно. Но по-моему больше
 AK достоинство чем недостаток. И уж никак не баг FB

Да, судя по косвенным призанкам(на полуторке тоже самое) виноваты фибы.
Но я все еще в шоке - менять(по умолчанию) запрос, на тот, который 
возвращает
неверные данные!? В фибах можно оправдать, а вот Эксперт!?

Прав был дедеушка Дейт, все зло в мире от нуллов.

-- 
-=Жизнь - штука тяжелая - ее еще никто не перенес...=-
With best regards,  Nikolay Ponomarenko 



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Alexandr Kochmin
 AK по-моему эти инструменты умеют преобразовывать этот запрос в запрос
 AK вида select * from test_null t where (t.test_str is null) Что и делают
 AK исправно.
 AK если Sql Monitor в эксперте не врет, ничего не преобразовывается

а он может смотрит ДО ТОГО как.
Я бы посоветовал сделать SP из этого запроса  и посмотреть в ней.



--
С уважением
Кочмин Александр



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Alexandr Kochmin
  NP Прав был дедеушка Дейт, все зло в мире от нуллов.

 не от нуллов, а от неумелого их применения.


--
С уважением
Кочмин Александр



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Alexander Kolokolzov
 запусти select * from test_null t where (t.test_str = NULL)
 ну или для чистоты эксперимента
 ...

Мы пойдем другим путем. :)
Попробовал слепить приложение с TIBQuery, а не с фибами - все нормально.
Получается, фибы шутят. Повбывав бы...
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Alexandr Kochmin
 AK  Повбывав бы...

убей себя.

TFIBCustomDataSet.Options
poNoForceIsNull to disable substitution of NULL parameters by 'is Null' 
statement.


--
С уважением
Кочмин Александр



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Nikolay Ponomarenko
Hello, Alexandr!
You wrote to Nikolay Ponomarenko on Mon, 19 Jun 2006 15:25:33 +0700:

 NP Прав был дедеушка Дейт, все зло в мире от нуллов.
 AK  не от нуллов, а от неумелого их применения.

С прописными истинами все мы знакомы ;)
Я вот и хочу, иметь возможность применять их умело,
а кто-то начинает думать за меня...

-- 
-=Доктор, я не выговариваю звук @!!!=-
With best regards,  Nikolay Ponomarenko 



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Alexander Kolokolzov
 убей себя.
 
 TFIBCustomDataSet.Options
 poNoForceIsNull to disable substitution of NULL parameters by 'is Null' 
 statement.
пошел пить йад и топицца в сортире.
успокаивает, что я там буду не один :)
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Boris Loboda
 TFIBCustomDataSet.Options
 poNoForceIsNull to disable substitution of NULL parameters by 'is Null' 
 statement.
 пошел пить йад и топицца в сортире.
 успокаивает, что я там буду не один :)

Да - опция конечно интересная, но вот ее default-значение не совсем удачное. 
:-)
Слишком большой интеллект может порой и до белого каления довести. 



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Boris Loboda
 TFIBCustomDataSet.Options
 poNoForceIsNull to disable substitution of NULL parameters by 'is Null' 
 statement.
 пошел пить йад и топицца в сортире.
 успокаивает, что я там буду не один :)

Да - опция конечно интересная, но вот ее default-значение не совсем удачное. 
:-)
Слишком большой интеллект может порой и до белого каления довести. 


-- 

Я использую бесплатную версию SPAMfighter для частных пользователей. 
Программа удалила 1040 эл. письма спама, полученные до настоящего времени. 
Пользователи платной версии не имеют этого сообщения в их электронных письмах. 
Попробовать:http://www.spamfighter.com/lru




--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Yuri Grabar
Hello, Alex!
You wrote to Yuri Grabar on Mon, 19 Jun 2006 12:16:08 +0400:

 AC Привет, Yuri!
 AC Вы пишешь к Nikolay Ponomarenko 19 июня 2006:
 NP Проверялось в Эксперте и последних ФИБах

 YG Это и есть ответ - и там и там используются ФИБы, которые сами
 YG заменяют в тексте запроса (t.test_str=:test_null0) на (t.test_str is
 YG Null). Фича так сказать :))

 AC За эксперта, лучше таки спросить у Хвастунова.

Можно, конечно, но я и так знаю :) Там версия FIB+ 3. Древняя, доработанная 
и успешно работающая.

-- 
With best regards, Yuri Grabar. 



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Ded
Nikolay Ponomarenko wrote:

  NP Прав был дедеушка Дейт, все зло в мире от нуллов.
  AK  не от нуллов, а от неумелого их применения.
 
 С прописными истинами все мы знакомы ;)
 Я вот и хочу, иметь возможность применять их умело,
 а кто-то начинает думать за меня...

А ламеры сильно просють. Не люблють они нуллов. И денешку плотють.

-- 
Regards. Ded.



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Dmitry Voroshin

Ded [EMAIL PROTECTED] сообщил/сообщила в
новостях следующее: news:[EMAIL PROTECTED]
 А ламеры сильно просють. Не люблють они нуллов. И денешку плотють.

Ламеры?! Денешку плотють?! Не может быть!!! :)))



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Nikolay Ponomarenko
Hello, Ded!
You wrote  on Mon, 19 Jun 2006 15:14:52 +0400:

 NP Прав был дедеушка Дейт, все зло в мире от нуллов.
 AK  не от нуллов, а от неумелого их применения.
 ??
 ?? С прописными истинами все мы знакомы ;)
 ?? Я вот и хочу, иметь возможность применять их умело,
 ?? а кто-то начинает думать за меня...
 D А ламеры сильно просють. Не люблють они нуллов. И денешку плотють.

Надо было соглашаться на ==
:

-- 
-=Не бойся, если ты один. Бойся, если ты ноль.=-
With best regards,  Nikolay Ponomarenko 



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: FB2 null

2006-06-19 Пенетрантность Plotnikov Y.
 Надо было соглашаться на ==
 :

Дык в итоге то сделали.. в смысле из дистинкт фром. Так, хоть и длиннее,
но зело нагляднее



--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: ����� FB2 RC3?

2006-06-17 Пенетрантность Dmitry Yemanov
Маташин А.В. [EMAIL PROTECTED] wrote:

 Скачала свежий билд, там написано RC3, это что означает?

Что скоро будет официальный RC3 :-)


--
Дмитрий Еманов




--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: � ��� ���� ������ � FB2

2006-05-24 Пенетрантность Nikolay Trifonov

Hello, Nikolay!
You wrote  on Tue, 23 May 2006 19:34:50 +0300:

 NT Нижеследующий запрос будет быстрее в полуторке или в двойке?
А проверить и самостоятельно расставить все точки над Ё?

Сначала написал, потом проверил. Долго и в 1.5.3 и в 2.0, вот интересно, как 
народ выкручивается из таких ситуаций (имеется в виду select  from 
procedure, где procedure: select from table), чтобы все это ускорить



Re: ����� ��� ����� � FB2 RC1

2006-05-11 Пенетрантность Dmitry Yemanov

sasha [EMAIL PROTECTED] wrote:

 þÔÏ-ÔÏ ÞÅÍ ÂÏÌØÛÅ Ñ ÕÇÌÕÂÌÑÀÓØ × DERIVED TABLES, ÔÅÍ ÓÔÒÁÎÎÅÅ ÏÎÉ ÍÎÅ 
 ËÁÖÕÔÓÑ.

ô×ÏÉ ÐÒÏÂÌÅÍÙ, ÕÖ ÉÚ×ÉÎÉ.

 SELECT T.ID, T.NAME, COALESCE(SUM_RUBLI, 0), COALESCE(SUM_UE, 0)
 FROM TOVARI T
 LEFT JOIN (
   SELECT SUM(SUM_RUBLI), SUM(SUM_UE)
   FROM PRODAGI PR
   WHERE PR.TOVAR_ID = T.ID) AS P (SUM_RUBLI, SUM_UE)
 ON 1 = 1

SELECT T.ID, T.NAME, COALESCE(SUM_RUBLI, 0), COALESCE(SUM_UE, 0)
FROM TOVARI T
LEFT JOIN (
  SELECT PR.TOVAR_ID, SUM(SUM_RUBLI), SUM(SUM_UE)
  FROM PRODAGI PR
  GROUP BY PR.TOVAR_ID) AS P (ID, SUM_RUBLI, SUM_UE)
ON P.ID = T.ID

 íÎÅ ËÁÖÅÔÓÑ ÞÔÏ ÜÔÏ ÐÒÉÚÎÁË ÔÏÇÏ ÞÔÏ ÒÅÁÌÉÚÁÃÉÑ ÜÔÉÈ DERIVED TABLES
 ÎÅ ÏÞÅÎØ ÈÏÒÏÛÁÑ É ÓÍÙÓÌ ÓÉÎÔÁËÓÉÓÁ JOIN (SELECT ...) ËÁÖÅÔÓÑ 
 ÓÏÍÎÉÔÅÌØÎÙÍ.

÷ÓÅ ÐÒÅÔÅÎÚÉÉ Ë ËÏÍÉÔÅÔÕ ÐÏ ÓÔÁÎÄÁÒÔÉÚÁÃÉÉ, Á ÚÁÏÄÎÏ ËÏ ×ÓÅÍ óõâä, ÇÄÅ ÜÔÁ 
ÆÉÞÁ ÒÅÁÌÉÚÏ×ÁÎÁ.

 èÏÔÅÌÏÓØ ÂÙ ÕÚÎÁÔØ ÍÎÅÎÉÅ ÚÎÁÀÝÉÈ ÐÏ ÜÔÏÍÕ ÐÏ×ÏÄÕ (ÏÓÏÂÅÎÎÏ Õ äå É äë ËÁË 
 ÈÏÒÏÛÉÈ ÔÅÏÒÅÔÉËÏ×).

÷ÓÅ ÓÄÅÌÁÎÏ × ÓÏÏÔ×ÅÔÓÔ×ÉÉ ÓÏ ÓÔÁÎÄÁÒÔÏÍ É ÓÏ ÚÄÒÁ×ÙÍ ÓÍÙÓÌÏÍ. äÖÏÊÎÉÔØ 
ÍÏÖÎÏ ÔÏÌØËÏ ÎÅÚÁ×ÉÓÉÍÙÅ ÔÁÂÌÉÃÙ. éÎÁÞÅ ÐÏÌÎÙÊ ÁÈÔÕÎÇ × ËÏÎÓÅÒ×ÁÔÏÒÉÉ.


--
äÍÉÔÒÉÊ åÍÁÎÏ×





Re: ����� ��� ����� � FB2 RC1

2006-05-11 Пенетрантность Dmitry Yemanov

sasha [EMAIL PROTECTED] wrote:

 ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÎÁÄÏ ÄÖÏÊÎÉÔØ ÎÅ Ó ÁÇÒÅÇÁÔÁÍÉ, Á Ó ÐÅÒ×ÏÊ
 ÐÏÐÁ×ÛÅÊÓÑ ÚÁÐÉÓØÀ, ËÁË Ñ ÒÁÎØÛÅ ÓÐÒÁÛÉ×ÁÌ

SELECT A.*, B.NAME
FROM TABLE_A A
LEFT JOIN (
  SELECT PARENT_ID, MIN(NAME)
  FROM TABLE_B
  GROUP BY PARENT_ID) AS B (PARENT_ID, NAME)
ON B.PARENT_ID = A.ID


--
äÍÉÔÒÉÊ åÍÁÎÏ×





Re: ����� ��� ����� � FB2 RC1

2006-05-11 Пенетрантность Dmitry Yemanov

sasha [EMAIL PROTECTED] wrote:

 îÅ ×Ó£ ÔÁË ÐÒÏÓÔÏ! õ ÍÅÎÑ ËÁË ÍÉÍÎÉÍÕÍ ÔÒÉ ÐÏÌÑ ÅÓÔØ: ÕÒÌ ÆÁÊÌÁ,
 ÒÁÚÍÅÒ ÆÁÊÌÁ É ÍÁÊÍ-ÔÉÐ.

é ÞÅÍ ÜÔÏ ÓÌÏÖÎÅÅ? ôÒÉ ÐÏÌÑ × ON ÕÊÄÕÔ ÉÌÉ MIN ÐÏ ÔÒÅÍ ÐÏÌÑÍ ÂÕÄÅÔ - ÔÅÂÅ 
×ÉÄÎÅÅ. åÓÌÉ ÎÅÔ, ÔÏ ÄÁ×ÁÊ ÒÅÁÌØÎÙÊ ×ÏÐÒÏÓ.


--
äÍÉÔÒÉÊ åÍÁÎÏ×





Re: ����� ��� ����� � FB2 RC1

2006-05-11 Пенетрантность Dmitry Yemanov

sasha [EMAIL PROTECTED] wrote:

 óÍÏÔÒÉ, ÅÓÔØ 3 ÚÁÐÉÓÉ:

SELECT A.*, B.F1, B.F2, B.F3
FROM TABLE_A A
LEFT JOIN (
SELECT PARENT_ID, MIN(RDB$DB_KEY)
FROM TABLE_B
GROUP BY PARENT_ID) AS TEMP (PARENT_ID, DB_KEY)
  ON TEMP.PARENT_ID = A.ID
LEFT JOIN TABLE_B B
  ON B.RDB$DB_KEY = TEMP.DB_KEY


--
äÍÉÔÒÉÊ åÍÁÎÏ×






Re: ��������� ������� ������� �� ����� � FB2 RC1?

2006-05-10 Пенетрантность Moiseyenko Dmitriy

 åÓÌÉ ÉÎÄÅËÓÉÒÕÅÍÏÅ ÐÏÌÅ ÉÍÅÅÔ ÔÉÐ NUMERIC, Á ÓÒÁ×ÎÉ×ÁÅÍÙÊ Ó ÎÉÍ
 ÐÒÅÄÉËÁÔ - double ÉÌÉ char. ÷ ÓÌÕÞÁÅ Ó double ÉÓËÏÍÙÊ ËÌÀÞ ÏËÒÕÇÌÑÅÔÓÑ
 ÄÏ ÃÅÌÙÈ ÍÁÔÅÍÁÔÉÞÅÓËÉ, × ÓÌÕÞÁÅ Ó char - ×ÎÉÚ. ðÏÄÒÏÂÎÅÅ Ñ ÎÅ ÒÁÓËÁÐÙ×ÁÌ.

óÐÁÓÉÂÏ ÚÁ ÐÏÄÒÏÂÎÏÅ ÏÂßÑÓÎÅÎÉÅ, ÂÕÄÕ ÔÅÐÅÒØ ÚÎÁÔØ.


--
ó Õ×ÁÖÅÎÉÅÍ íÏÉÓÅÅÎËÏ äÍÉÔÒÉÊ





Re: ����� ��� ����� � FB2 RC1

2006-05-06 Пенетрантность ��������� �.


Следующая команда не компиллируется с ошибкой 'Count of read-write columns 
does not equal count of values.':


 INSERT INTO UndeletableRssFeedItems SELECT GEN_ID(GEN_RSS_FEED_ITEM_ID, 
1), :FEED_ID, Title, Link, Description,
 Author, Comments, Guid, PubDate, SourceUrl, :SOURCE_VALUE, 
EnclosureUrl,

 EnclosureLength, EnclosureType, Hash, Deprecated, Hidden

 FROM UndeletableRssFeedItems WHERE Id = :RSS_FEED_ITEM_ID;


А эта компиллируется:

 INSERT INTO UndeletableRssFeedItems (Id, FeedId, Title, Link, 
Description,
   Author, Comments, Guid, PubDate, SourceUrl, SourceValue, 
EnclosureUrl,

   EnclosureLength, EnclosureType, Hash, Deprecated, Hidden)
   SELECT GEN_ID(GEN_RSS_FEED_ITEM_ID, 1), :FEED_ID, Title, Link, 
Description,
 Author, Comments, Guid, PubDate, SourceUrl, :SOURCE_VALUE, 
EnclosureUrl,

 EnclosureLength, EnclosureType, Hash, Deprecated, Hidden
 FROM UndeletableRssFeedItems WHERE Id = :RSS_FEED_ITEM_ID;



Извиняюсь за offtopic, но это-ж садомазохизьм какой-то. 
UndeletableRssFeedItems - печатать упарисси, да еще и квотированные 
идентификаторы. Я, честно говоря, начал было разбираться, что-же тут 
написано, но ниасилил.:) Может и сервер тоже не смог ... :)))


With b/r. Gleb. 





Re: �� ���������� ���� ��� FB2

2006-04-21 Пенетрантность Marat Zigangirov

 ? îÁ×ÅÒÎÏÅ FK-ÐÏÌÅ ÓÓÙÌÁÅÔÓÑ ÎÁ PK-ÐÏÌÅ ÄÒÕÇÏÇÏ ÔÉÐÁ.

ïËÁÚÁÌÓÑ ÒÁÚÎÙÊ COLLATE - WIN1251 É PXW_CYRL





Re: �� ���������� ���� ��� FB2

2006-04-20 Пенетрантность Marat Zigangirov

á  ÌÏÇÅ ÓÌÅÄÕÀÝÅÅ ÏÂÎÁÒÕÖÉÌ:

PC (Server) Fri Apr 21 07:59:08 2006
 Database: E:\BASE.GDB
 internal gds software consistency check (index bucket overfilled (205),
file: btr.cpp line: 3394)





Re: FB2

2006-04-06 Пенетрантность Dmitry Yemanov

Alexander Kolokolzov [EMAIL PROTECTED] wrote:
 ÄÏ ËÕÞÉ
 ÞÅÍ ÏÔÌÉÞÁÀÔÓÑ Ä×Á ÁÒÈÉ×Á × 
 http://firebird.sourceforge.net/download/snapshot_builds/win/

îÉÞÅÍ. îÁÓËÏÌØËÏ Ñ ÐÏÍÎÀ, ×ÔÏÒÏÊ - ÜÔÏ ÓÉÍÌÉÎË ÎÁ ÐÅÒ×ÙÊ. úÁÞÅÍ ÔÁË 
ÓÄÅÌÁÎÏ - ÎÅ ÓÐÒÁÛÉ×ÁÊ, ÄÁ×ÎÏ ÜÔÏ ÂÙÌÏ :-)


--
äÍÉÔÒÉÊ åÍÁÎÏ×





Re: FB2

2006-04-05 Пенетрантность Dmitry Yemanov

Alexander Kolokolzov [EMAIL PROTECTED] wrote:

á ÞÔÏ, ÓÎÁÐÛÏÔÙ ÂÏÌØÛÅ ÎÅ ×ÙËÌÁÄÙ×ÁÀÔÓÑ?

âÙÌÁ ÐÏÌÏÍËÁ ÓÅÒ×ÅÒÁ. îÁ ÄÎÑÈ ÓÎÁÐÛÏÔÙ ÓÎÏ×Á ÂÕÄÕÔ ÏÂÎÏ×ÌÑÔØÓÑ.


--
äÍÉÔÒÉÊ åÍÁÎÏ×





Re: FB2

2006-04-05 Пенетрантность Alexander Kolokolzov
до кучи
чем отличаются два архива в 
http://firebird.sourceforge.net/download/snapshot_builds/win/ (например 
Firebird-2.0.0.12548-0_win32.zip и Firebird-2.0.0.win32-snapshot.zip) кроме 
имени? Размером и датой вроде одинаковы... зачем тогда их два кладут?

Re: �������� ����� � FB2

2006-03-20 Пенетрантность Dmitri Kuzmenko


Hello, sasha!

sasha wrote:


гм, чего-с? :-) какие два раза, и где тормозят?


Ну как же? Сначала ж фетч полей делаем, а потом отдельно фетч блобов по 
полученным в первом фетче полям. VARCHAR же скромно обходится одним 
фетчем. Если блобов в таблице несколько, то это вобще мрак.


никаких мраков не вижу. Что блобы считываются отдельно - это ПРАВИЛЬНО.
Потому что нефиг их вместе с записью тягать.
И читаются и пишутся они не два раза, а один. М.б. ты хотел сказать -
в два приема.

--
Dmitri Kuzmenko, www.ibase.ru, (495) 953-13-34



Re: FB2 beta2 и isql.exe

2006-03-13 Пенетрантность Kovalenko Dmitry
  Это в одной тр-ции ?

Не знаю. Но то, что в одном sql-файле - это
точно :)

 но я не уверен что овчинка выделки стоит.

Это точно :)

Спасибо за объяснения!

Коваленко Дмитрий.


Re: FB2 beta2 и isql.exe

2006-03-12 Пенетрантность Horsun Vlad

Kovalenko Dmitry ...
 Привет всем.

 Наконец-то добрался до бинарников
 второй беты. Поставил супер-сервер. При
 генерировании базы с нуля, обнаружил
 что DML выражения теперь не
 авто-коммитятся (?)

Конечно это не так. Речь о isql, надеюсь ?

 Проявляется это на
 последовательностях

 1. вставка в таблицу T1
 2. создание FK из T2 на T1 -- ошибка T1 in use

Это в одной тр-ции ?

CREATE TABLE K_A (ID INT NOT NULL PRIMARY KEY)
COMMIT
CREATE TABLE K_B (ID INT NOT NULL PRIMARY KEY, ID_A INT)
COMMIT

INSERT INTO K_A VALUES (1)
ALTER TABLE K_B
  ADD CONSTRAINT FK_K_A FOREIGN KEY (ID_A) REFERENCES K_A (ID)
COMMIT

Всё ок. Но это в IBE :)

В isql действительно :
Statement failed, SQLCODE = -901
lock conflict on no wait transaction
-unsuccessful metadata update
-object K_A is in use

Но это особенность isql - в режиме AUTODDL ON он DDL и DML
выполняет в разных тр-циях. так что - или AUTODDL OFF с явными
коммитами, или ставь коммиты между DML и DDL

 Вообщем, для меня ничего страшного нет.
 Добавил в скрипты промежуточные
 внутренние COMMIT-ы и обрел счастье.
 Однако раньше (на FB1.5 - точно) все
 создавалось и без них.

Там для создания FK требовалась эксклюзивная блокировка БД (и ты
её имел в одной сессии isql). А сейчас требуется protected_write блокировка
на обе таблицы, и её нельзя получить, т.к. DML тр-ция уже имеет shared_write
блокировку на K_A.

В принципе, для того чтобы поддержать такое поведение isql, можно сначала
пытаться блокировать БД, а только потом (в случае неудачи) таблицы, но я не
уверен
что овчинка выделки стоит.

 И еще вопрос. Ночные сборки FB2 с
 www.firebirdsql.org ни фига не качаются -
 постоянный обрыв и скорость никакая.
 Где их еще можно взять?


http://firebird.sourceforge.net/download/snapshot_builds/win/Firebird-2.0.0.win32-snapshot.zip

Эта ссылка всегда работала нормально

-- 
Хорсун Влад




Re: � ��� ����� ������� FB2 Beta 2?

2006-02-11 Пенетрантность Vadim Mescheryakov

 ëÁË ÏÎ ÂÕÄÅÔ ×ÙÌÏÖÅÎ, ÔÅÂÅ ÓËÁÖÕÔ :-)
ñ É ÄÕÍÁÌ ÉÍÅÎÎÏ ÜÔÏ É  ÓËÁÚÁÌÉ  ÎÁ
http://www.firebirdsql.org/index.php?op=filesid=fb2_beta02

ëÉÎÕÌÓÑ ÓÍÏÔÒÅÔØ, Á ÓÓÙÌËÉ ÎÁ ÆÁÊÌÙ ÎÉËÕÄÁ ÎÅ ÐÒÉ×ÏÄÑÔ.






Re: fb2 incompatibilities

2006-02-09 Пенетрантность М.Королев


Dmitri Kuzmenko пишет:



Hello, All! (а скорее FB2 developers)

наткнулся на
It's now forbidden to try to update the same column more than once in
the same update statement: UPDATE T SET A = x, B = y, A = z

соответственно вопрос - а как же быть с этим, как его,
с тем что у нас значения столбцов меняются сразу, а не потом?
то есть, нельзя написать

update t set a=b, b=a
чтобы обменять местами значения столбцов.

приходится ж писать для числовых нечто вроде обмена
через арифметические действия, я не помню как там
точно, но там нечто вроде
update t set a=b-a, b=..., a=...
то есть без 2-кратного присвоения никак.


Тремя апдейтами в одной снапшот транзакции



Re: fb2 incompatibilities

2006-02-09 Пенетрантность Fynda


Dmitry Yemanov wrote:


update t set a=b-a, b=..., a=...
то есть без 2-кратного присвоения никак.



Значит, неповезло оным обменяльщикам.


Вот уж любители правильных серверов теперь поглумятся... :(



Re: fb2 incompatibilities

2006-02-09 Пенетрантность Alexander Goldun

Fynda пишет:

 Вот уж любители правильных серверов теперь поглумятся... :(

Почему поглумятся и при чем тут правильные сервера? Как раз здесь нет
никакой incompatibility. Если глянуть ANSI SQL (не помню какой),
описание update, то станет ясно, что такое двойное присвоение
неоднозначно. Проверил навскидку в ASA - тоже ругается на подобный UPDATE




Re: fb2 incompatibilities

2006-02-09 Пенетрантность Dmitri Kuzmenko


Hello, Alexander!
Alexander Goldun wrote:


Вот уж любители правильных серверов теперь поглумятся... :(


Почему поглумятся и при чем тут правильные сервера? Как раз здесь нет
никакой incompatibility. Если глянуть ANSI SQL (не помню какой),
описание update, то станет ясно, что такое двойное присвоение
неоднозначно. Проверил навскидку в ASA - тоже ругается на подобный UPDATE


так это, у нас же переприсвоение было трюком по обходу проблемы
с немедленным изменением содержимого столбцов при Update.
Если ЭТО не исправлено, в сторону совместимости с правильными серверами
и стандартом, то получаем ситуацию, что ликвидорован не bug или
wrong behavior, а workaround.

--
Dmitri Kuzmenko, www.ibase.ru, (495) 953-13-34



Re: ����� �� ���� ������ � ������� FB2?

2006-02-06 Пенетрантность ������� �.

ïÂÎÁÒÕÖÉÌ ÎÁ ÐÏÓÌÅÄÎÅÍ ÂÉÌÄÅ ÔÁËÕÀ ÐÒÏÂÌÅÍÕ,

ÅÓÔØ ÚÁÐÒÏÓ

SELECT SUM(P.PAY_SUMMA)
  FROM PAYS P
  WHERE ( P.ABONENT_ID = :ABONENT_ID)
AND ( P.PAY_DATE  :STARTDATE)
AND ( P.PAY_DATE = :SALDO_DATE)

× ÔÁÂÌÉÃÅ ÅÓÔØ ÚÁÐÉÓÉ Ó ÄÁÔÁÍÉ PAY_DATE '28.12.05','29.12.05','28.12.05'
ÔÁË ×ÏÔ ÐÒÉ ÚÎÁÞÅÎÉÉ ÐÁÒÁÍÅÔÒÁ STARTDATE='01.01.2006'
ÏÎÉ × ÒÅÚÕÌØÔÁÔ ÎÅ ÐÏÐÁÄÁÀÔ.

ðÒÉ ÉÚÍÅÎÅÎÉÉ ÕÓÌÏ×ÉÑ Ó , ÎÁ = ×ÓÅ ÒÁÂÏÔÁÅÔ ÐÒÁ×ÉÌØÎÏ.

ÔÁË, ÐÒÏÓÔÏ ÓÌÕÞÁÊÎÏ ÎÁÒ×ÁÌÓÑ.

íÁÔÁÛÉÎ á.÷.







Re: ����� ����� ������� ����� FB2?

2006-02-06 Пенетрантность ������� �.

 ðÒÏÐÉÛÉ ÒÕËÁÍÉ ÏÐÔÉÍÁÌØÎÙÅ ÐÌÁÎÙ É ÂÕÄÅÔ ÔÅÂÅ 1 ÍÉÎÕÔÁ ÎÁ ÔÅËÕÝÉÈ 
 ÓÅÒ×ÅÒÁÈ.

äÅÓÔ×ÉÔÅÌØÎÏ ÐÏÍÏÇÁÅÔ, ÐÒÏÓÔÏ ÎÅ ÏÞÅÎØ ÓÉÌÅÎ × ÎÁÐÉÓÁÎÉÉ ÐÌÁÎÏ×,
ÓÒÁ×ÎÉÌ ÐÌÁÎÙ FB2 É ÓÄÅÌÁÌ ËÁË ÏÎ Á×ÔÏÍÁÔÏÍ ÐÒÅÄÌÏÖÉÌ, ÐÏËÁ ÕÌÕÞÛÉÌ ×ÒÅÍÑ ÄÏ 
3È ÍÉÎÕÔ, ×ÉÄÉÍÏ ÍÏÖÎÏ É ÂÏÌØÛÅ. óÐÁÓÉÂÏ ÚÁ ÓÏ×ÅÔ.

íÁÔÁÛÉÎ á.÷. 





Re: ����� �� ���� ������ � ������� FB2?

2006-02-06 Пенетрантность ������� �.

 ïÂÎÁÒÕÖÉÌ ÎÁ ÐÏÓÌÅÄÎÅÍ ÂÉÌÄÅ ÔÁËÕÀ ÐÒÏÂÌÅÍÕ,

îÅ ÚÎÁÀ ÔÁËÏÇÏ. îÅÕÖÅÌÉ ÎÅÌØÚÑ ÎÏÍÅÒ ÓËÁÚÁÔØ ?

Firebird-2.0.0.12236

 ÅÓÔØ ÚÁÐÒÏÓ

 SELECT SUM(P.PAY_SUMMA)
   FROM PAYS P
   WHERE ( P.ABONENT_ID = :ABONENT_ID)
 AND ( P.PAY_DATE  :STARTDATE)
 AND ( P.PAY_DATE = :SALDO_DATE)

 × ÔÁÂÌÉÃÅ ÅÓÔØ ÚÁÐÉÓÉ Ó ÄÁÔÁÍÉ PAY_DATE '28.12.05','29.12.05','28.12.05'
 ÔÁË ×ÏÔ ÐÒÉ ÚÎÁÞÅÎÉÉ ÐÁÒÁÍÅÔÒÁ STARTDATE='01.01.2006'
 ÏÎÉ × ÒÅÚÕÌØÔÁÔ ÎÅ ÐÏÐÁÄÁÀÔ.

 ðÒÉ ÉÚÍÅÎÅÎÉÉ ÕÓÌÏ×ÉÑ Ó , ÎÁ = ×ÓÅ ÒÁÂÏÔÁÅÔ ÐÒÁ×ÉÌØÎÏ.

 ÔÁË, ÐÒÏÓÔÏ ÓÌÕÞÁÊÎÏ ÎÁÒ×ÁÌÓÑ.

äÁÊ ÐÏÌÎÙÊ DDL ÔÁÂÌÉÃÙ Ó ÉÎÄÅËÓÁÍÉ, ÞÁÓÔØ ÄÁÎÎÙÈ É ÐÌÁÎÙ ÄÌÑ  É =



ÐÏÐÒÏÂÕÀ ×ÙÒÅÚÁÔØ ËÕÓÏË × ÏÔÄÅÌØÎÕÀ ÂÁÚÕ, ÐÏÔÏÍ ×ÙÌÏÖÕ.

É ÅÝÅ ÎÅÐÒÁ×ÉÌØÎÏ ÒÁÂÏÔÁÅÔ ÎÅ ÔÏÌØËÏ SUM, ÎÏ É ÐÒÏÓÔÏ ×ÙÂÏÒËÁ.

íÁÔÁÛÉÎ á.÷.





  1   2   >