Tonal wrote:
Выполнение этого скрипта в IBExpert убивает сервер на последнем комите.
Подтверждаю, будем посмотреть. Однако:
N1blob sub_type 1 segment size 80,
create index T_IDX on T computed by (substring(N1 from 1 for 100));
вот это рекомендую переделать. SUBSTRING для блоба
Serge Buzadzhy wrote:
Сервер соображает только запросы с непоименованными параметрами. Запросы
в клиентских прогах в основном пишутся с поименованными параметрами...
да еще и обозначенными через двоеточие, а не через знак вопроса. А
теперь просвети как обойтись без хотя бы примитивного
Hello, Dmitry!
Dmitry Yemanov wrote:
вот это рекомендую переделать. SUBSTRING для блоба сейчас возвращает
строку, но уже в версии 2.1 будет возвращать блоб, как и положено по
стандарту. А блоб индексировать нельзя.
то есть, если сейчас можно добавить строковый столбец,
в триггере написать
Dmitri Kuzmenko wrote:
то есть, если сейчас можно добавить строковый столбец,
в триггере написать получение куска блоба в этот столбец,
и столбец проиндексировать, то потом это работать не будет?
В вышеприведенном примере проблема в результате SUBSTRING, который суть
есть блоб, то бишь
да еще и обозначенными через двоеточие, а не через знак вопроса. А
теперь просвети как обойтись без хотя бы примитивного парсинга текста на
клиенте? :) Ик как сделать комильфо?
Реализовать именованные параметры в сервере :-) Правда, это все равно не
даст избежать парсинга в общем
Dmitry Yemanov wrote:
проблема в результате SUBSTRING, который суть есть блоб
Точнее, который суть им станет в 2.1 :-)
--
Дмитрий Еманов
Привет.
N1blob sub_type 1 segment size 80,
create index T_IDX on T computed by (substring(N1 from 1 for 100));
вот это рекомендую переделать. SUBSTRING для блоба сейчас возвращает
строку, но уже в версии 2.1 будет возвращать блоб, как и положено по
стандарту. А блоб индексировать
Horsun Vlad á ÎÅ ÎÁÄÏ ÄÕÍÁÔØ. îÁÄÏ ÓËÁÞÁÔØ É ÐÒÏ×ÅÒÉÔØ
÷ÅÒÎÏ!
óËÁÞÁÌ É ÐÒÏ×ÅÒÉÌ.
äÁ.
Мадорский Г.В. wrote:
Дима, а может оставить? Ну не как SUBSTRING коли стандарт требует,
пускай под другим именем. Удобная вещь...
Тебе CAST лень написать? Либо внутри SUBSTRING'а, либо снаружи?
Кроме того, проблема есть только для индексов и, пожалуй, только для
COMPUTED BY. В обычных
Dmitry Yemanov [EMAIL PROTECTED]
сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED]
Мадорский Г.В. wrote:
Дима, а может оставить? Ну не как SUBSTRING коли стандарт требует, пускай
под другим именем. Удобная вещь...
Тебе CAST лень написать? Либо внутри SUBSTRING'а, либо
Dmitry Yemanov пишет:
А чего-б тогда и на индексы эту прозрачность не распостранить? :)
Нет уж, спасибо.
А можно поподробней, почему?
Dmitry Yemanov пишет:
вот это рекомендую переделать. SUBSTRING для блоба сейчас возвращает
строку, но уже в версии 2.1 будет возвращать блоб, как и положено по
стандарту. А блоб индексировать нельзя.
А SUBSTRING работает в символах или в байтах?
И имеется ли в этом различие для CHAR, VARCHAR
Tonal wrote:
А можно поподробней, почему?
Потому что для кода индексов пофиг, SUBSTRING стоит там или что еще. Им
на вход идет блоб потенциально любой длины. А делать возврат строки
только если SUBSTRING стоит в кляузе COMPUTED BY - это жуткий изврат, на
такое мы никогда не пойдем. Если
Tonal wrote:
Вот присмерчик запроса:
select T.ID, T.N1, T.N2
from T
/*1*/where substring(T.N1 from 1 for 100) = 'www'
--/*2*/where cast(substring(T.N1 from 1 for 100) as varchar(100)) = 'ddd'
Сейчас вариант 1 возвращает строку, а вариант 2 - ничего.
Вне зависимости от наличия вычисляемого
Dmitry Yemanov пишет:
А если так?
--/*3*/where cast(substring(T.N1 from 1 for 100) as char(100)) = 'ddd'
Overflov occured during data type conversion.
conversion error from string BLOB
ЗЫ. Я надеюсь, что 'www' и 'ddd' - сознательно было написано :-)
В таблице эти данные есть. ;-)
J Привет.
Несколько лет назад в e.p.i. кто-то писал, что у него один генератор на всю
базу. Может, и тебе забить на это дело (я про генерацию генераторов для
каждой лаборатории). И добавить поле для разделения по лабораториям.
Tonal ...
OS WinXP Home Ru + sp2
Firebird 2.0 rc5 (WI-T2.0.0.12745)
icudt30.dll от rc4 [3.0.0.0]
Выполнение этого скрипта в IBExpert убивает сервер на последнем комите.
В трекер внесёшь ?
--
Хорсун Влад
Janex [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED]
А сам UDF уже лезит в какоито dbf, текст фаили или чтото подобное
и выдаёт номера, только как в таком случае сделать так
чтоб изключить выдачy только уникальных номеров при много юзеров и
одновременых запросов ?
Сделай UDF
Сделай UDF потокобезопасной и всё
Ну ето ясное дело, значит, если всё правильно понемаю, то копия
УДФ-а в памяти одна и все юзери дёргают одну и туже в порядке очереди?
А как ето будет работать если на классик переиду ?
Regards
Janex
Андрій Жук wrote:
Зашел спор у нас про многопоточность fbclient.dll. Такой вопрос: в
каждом потоке нужно создавать отдельный коннект, или хватит создания в
каждом потоке своей собственной транзакции, а коннект остается один?
Коннект на поток. Причем установку коннекта придется
Hello, Janex!
Janex wrote:
Ну ето ясное дело, значит, если всё правильно понемаю, то копия
УДФ-а в памяти одна и все юзери дёргают одну и туже в порядке очереди?
А как ето будет работать если на классик переиду ?
никак в классике пользователь = процесс, соответственно
dll грузится для
Hello, Андрий!
Андрій Жук wrote:
Зашел спор у нас про многопоточность fbclient.dll. Такой вопрос: в
каждом потоке нужно создавать отдельный коннект, или хватит создания в
каждом потоке своей собственной транзакции, а коннект остается один?
чего спорить. внутри сокета параллельно можно
Horsun Vlad пишет:
В трекер внесёшь ?
CORE-953
Что же он так тормозит...
Tonal ...
Horsun Vlad пишет:
В трекер внесёшь ?
CORE-953
Поздно - CORE-952 :)))
Но всё равно - сенкс. В следующий раз уже будешь знать,
куда писать ;) Надеюсь, следующего раза не будет ;)
Что же он так тормозит...
Вроде терпимо работает.
--
Хорсун Влад
Dmitry Yemanov wrote:
Коннект на поток. Причем установку коннекта придется сериализовать.
А можно немного уточнить про
сериализацию коннекта. Зачем она
нужна. А то второй раз слышу про это, но
ни где не нашел объяснений для чего. Да
и в примерах по много- поточной работе
что то не видно
Вадим wrote:
А можно немного уточнить про
сериализацию коннекта. Зачем она
нужна.
Чтобы не было мучительно больно.
Вот, например, если используем FibPlus и в
Я говорил про работу напрямую с API.
каждом потоке есть свой экземпляр
pFIBDatabase, то для сериалзации коннекта
нужно в каждом
Hello, Alexandr!
You wrote to Horsun Vlad on Tue, 17 Oct 2006 12:31:36 +0700:
HV только иногда LOA на верблюде мимо пробегает :)
HV На Ниве он проезжает ;))) И - брызгаеццо ;)))
AK В пустыне брызгается? круто.
Ну так
в) Я пол ночи реанемировал гидросистему
ЗЫ меня один раз искупало из
Привет всем.
Решил в старую ветку больше не писать -
позиция по вопросу наличия парсера в
компонентах доступа более чем ясна :)
Если определение типа запроса мы
перекладываем на сервер, то предлагаю
в новой isc_dsql_prepare сразу возвращать
не-мимикрированный тип.
Потому что один хрен - для
Разбирался со старым глюком в своей
программе и наткнулся на странное
поведение селекта со вложенным
подзапросом.
Есть 2 таблицы (master-detail, хотя потом для
воспроизведения данного поведения
оказалость достаточно одной detail):
CREATE TABLE MASTER_TABLE (
ID INTEGER NOT NULL,
Janex [EMAIL PROTECTED] сообщил/сообщила в
новостях следующее: news:[EMAIL PROTECTED]
Если правильно догадываюсь как ето работает, то ето мне неподходит,
потому что ети номера в разных лабораториях может (и должны) пересекатся
:(
Например, если имеем 4 лаборатории, то нумерация ихних
Kovalenko Dmitry wrote:
Если определение типа запроса мы
перекладываем на сервер, то предлагаю
в новой isc_dsql_prepare сразу возвращать
не-мимикрированный тип.
Возможно :-)
Более того, это сократит число
телодвижений при вычислении RowsAffected -
нам не нужно будет каждый раз
запрашивать
3) Все объеты создавать под пользователем с самым сложным паролем который
только можно придумать
(жаль что ограничени на длинну 8 символом, на сколько помню);
Пока писать собираюсь на 1.5.3, но могу перейти и на 2.0
в 1.5.3 есть прямой доступ к хешу пароля, перебор займет часа 2
есть
ВВЕВ общем хочеться
ВВЕ узнать у участников конференции кто и как обеспечивает защиту БД от
Я написал свое приложение, в котором можно выборочно зашифровывать поля таблиц
базы Firebird.
В приложении, которое работает с этой базой я соответственно эти поля
расшифровываю.
А что страшного в том, что у какой-то
лаборатории нумерация начнется с N 0 ?
Count для каждой лаборатории всегда
можно посчитать.
Ои ... ты НАШИХ лабораторных гуру незнаеш :)
Они нетолько хотят, чтоб нумерация было с нуля, ешё хотаят, и при етом
мучаются, чтоб номера невыподали, к тому ешё
Более того, это сократит число
телодвижений при вычислении RowsAffected -
нам не нужно будет каждый раз
запрашивать тип запроса.
Тебе это очень сложно? Ведь по сетке это все равно уже не гоняется.
Я это спрашивал у тебя по email, но тогда
ответа на этот вопрос не было :(
Если по
Запросы разные
Не нужно путать where в левом джойне с внутренним
условием в derived table
Н-да. Поторопился я чего-то.
Я же подзапросом уже отобрал все, что
надо, и для всех этих строк есть
соответствие между таблицами. То бишь
нужен мне был просто join.
А left join, естественно,
Dmitry Yemanov wrote:
Это ты у Бузза спроси. Думаю, что там за тебя уже подумали.
В новостной ленте по fibplus я задал этот
вопрос, но ответят там думаю, может
этак дня через два, а то может и вовсе
вопрос оставят без ответа.
Хотелось бы узнать причину, из-за
которой нужна сериализация при
Janex
ïÉ ... ÔÙ îáûéè ÌÁÂÏÒÁÔÏÒÎÙÈ ÇÕÒÕ ÎÅÚÎÁÅÛ :)
ïÎÉ ÎÅÔÏÌØËÏ ÈÏÔÑÔ, ÞÔÏ ÎÕÍÅÒÁÃÉÑ ÂÙÌÏ Ó ÎÕÌÑ, ÅÛ£ ÈÏÔÁÑÔ, É ÐÒÉ ÅÔÏÍ
ÍÕÞÁÀÔÓÑ, ÞÔÏ ÎÏÍÅÒÁ ÎÅ×ÙÐÏÄÁÌÉ...
÷ÏÔ. óÁÍÏÅ ÔÁ ÐÏÞ×Á, ÞÔÏÂÙ ÐÒÉÕÞÁÔØ ÉÈ Ë GUID's. ëÏÇÏ ËÏÎÄÒÁÔÉÊ ÎÅ È×ÁÔÉÔ -
ÔÏÔ ×ÙÖÉ×ÅÔ.
:)
Вадим wrote:
Хотелось бы узнать причину, из-за
которой нужна сериализация при
коннекте.
Из-за того, что клиент непотокобезопасен и при аттаче используются
глобальные структуры.
Если, например, несколько приложений
запущенных на одной машине работают c
БД, то могут они одновременно
Hi Malinovsky Vladimir !
MV Вот. Самое та почва, чтобы приучать их к GUID's. Кого
MV кондратий не хватит - тот выживет.
MV :)
Зачем ГУИД, когда им *номер* нужен ?
--
Karabas Barabas
úÁÞÅÍ çõéä, ËÏÇÄÁ ÉÍ *ÎÏÍÅÒ* ÎÕÖÅÎ ?
äÙË, Ï ÞÅÍ É ÒÅÞØ: ÎÏÍÅÒ × ×ÉÄÅ çõéäÁ.
îÉËÔÏ É ÍÑËÎÕÔØ ÎÅ ÐÏÓÍÅÅÔ, ÞÔÏ ÎÏÍÅÒÁ ×ÒÁÚÎÏÂÏÊ.
Hello, lvv!
[EMAIL PROTECTED] wrote:
Обычный запрос с left outer join:
select
dt.id,
dt.id_master,
dt.name
from
DETAIL_TABLE dt LEFT OUTER JOIN MASTER_TABLE mt
on dt.id_master = mt.id
where
mt.status = 1
order by dt.id_master, id
прочитай www.ibase.ru/devinfo/joins.htm
Hello, Cattus!
Cattus Nocturnus wrote:
Уважаемые комрады объясните мне
пожалуйста такую вещь: почему запрос
`select (-1) / 2 from rdb$database` возвращает 0, а не
минус единицу, как это «положено»
положено вернуть -0. Потому что в целочисленной
арифметике 1/2 = 0.
(практически везде
Hi Malinovsky Vladimir !
MV номер в виде ГУИДа.
Это уже юмор какой-то :)
--
Karabas Barabas wrote:
Hi Malinovsky Vladimir !
MV номер в виде ГУИДа.
Это уже юмор какой-то :)
Ешё бы юмор ...
Не у всех штрихкодовые сканери (и штрихкод с 32-36 цифрами :) ) и
попробуи комуто сказать чтоб они проводили поиск по номеру где
32-36 цифр ... убют моментально :) :) :)
Сорри за офтоп.
Кто имел опыт работы скрещивания сабжа
с компом и может проконсультировать
по вопросам как это делается прошу
помочь. Письма в приват [EMAIL PROTECTED]
óÏÚÄÁÅÛØ ÉÎÄÅËÓ, ÕÎÉËÁÌØÎÙÊ ÐÏ #îÏÍÅÒìÁÂÏÒÁÔÏÒÉÉ_#îÏÍÅÒîÁÐÒÁ×ÌÅÎÉÑ.
÷ ÍÏÍÅÎÔ ÓÏÚÄÁÎÉÑ ÎÏ×ÏÊ ÚÁÐÉÓÉ ÂÅÒÅÛØ ÍÁËÓÉÍÁÌØÎÙÊ ÎÏÍÅÒ, ÉÎËÒÅÍÅÎÔÉÒÕÅÛØ
ÅÇÏ,
É ÐÙÔÁÅÛØÓÑ ÚÁÐÏÓÔÉÔØ.
åÓÌÉ ÐÏÌÕÞÉÌ ÜËÓÃÅÐÛÎ ÐÏ ÎÅÕÎÉËÁÌØÎÏÓÔÉ - ÅÝÅ ÒÁÚ ÉÎËÒÅÍÅÎÔÉÒÕÅÛØ.
ðÏÓÔÉÛØ ÓÎÏ×Á.
óÍÙÔØ, ÐÏ×ÔÏÒÉÔØ.
Tonal [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Vladimir A.Bakhvaloff ÐÉÛÅÔ:
T ÷ÙÐÏÌÎÅÎÉÅ ÜÔÏÇÏ ÓËÒÉÐÔÁ × IBExpert ÕÂÉ×ÁÅÔ ÓÅÒ×ÅÒ ÎÁ ÐÏÓÌÅÄÎÅÍ
ËÏÍÉÔÅ.
- á ×Ù ÷ïô ôáë ÷ïô ÎÅ ÄÅÌÁÊÔÅ...
ôÅÍ ÎÅ ÍÅÎÅÅ, ÐÁÄÁÔØ ÎÅ ÄÏÌÖÅÎ.
íÎÅ ÔÁË ËÁÖÅÔØÓÑ. ;-)
ëÔÏ ÔÕÔ ÇÏ×ÏÒÉÌ, ÞÔÏ ËÌÁÓÓÉË
Hi Eugene.
E Кто тут говорил, что классик не нужен потому что сервер
E никогда не падает?
Говорил КДВ, по-моему. И говорил он не про клиентские процессы, а про
слушатель
-
Hello, Malinovsky!
You wrote on Tue, 17 Oct 2006 19:13:41 +0400:
MV Создаешь индекс, уникальный по
MV #НомерЛаборатории_#НомерНаправления. В момент создания
MV новой записи берешь максимальный номер, инкрементируешь его,
MV и пытаешься запостить.
MV Если получил эксцепшн по неуникальности -
Hello, Janex!
You wrote on Tue, 17 Oct 2006 15:22:21 +0300:
А что страшного в том, что у какой-то
лаборатории нумерация начнется с N 0 ?
Count для каждой лаборатории всегда
можно посчитать.
J Ои ... ты НАШИХ лабораторных гуру незнаеш :)
J Они нетолько хотят, чтоб нумерация было с нуля,
Roman V. Babenko пишет:
Письма в приват [EMAIL PROTECTED]
см. почту
--
Regards,
Ovchinnikov Vasily
ova at tkvc ru
52 matches
Mail list logo