Re: OFF: сдох винт
Vlad Nepomnjashy пишет: Прошу прощения за явный офтопик. Утром сдох винт (Maxtor 10Gb) : при загрузке W2K выдает BSD (STOP code 0x0024 NTFS_FILE_SYSTEM). Попробуй загрузиться в консоль восстановления и там запусти chkdsk. В большинстве случаев помогает -- там чекдиск какой-то нестандартный, гораздо более эффективный, чем обычный. Дистрибутивный компакт лучше взять от windows xp pro с sp2. -- wbr, ps ps-at-azs-ru
Re: OFF: сдох винт
Vlad Nepomnjashy пишет: Посоветуйте что-нибудь умное А неумное задним умом, которым мы все сильны, можно? :) Когда-то в досовские времена, когда NDD не мог справиться с восстановлением, он выдавал красную табличку с нравоучительной надписью Backup often. Если не помогут предложенные ранее инструменты, можно ради интереса попробовать загрузиться с какого-нибудь свежего Live CD с Linux, например ASPLinux 10 GreenHorn. Насколько я помню, он монтирует NTFS разделы ro. Вдруг поможет. или пошлите куда-нибудь, где могут помочь. http://www.datarecovery.ru/
grpe for Pascal/Delphi
Есть ли такое?
Re: grpe for Pascal/Delphi
Привет, andriy! Вы пишешь 15 марта 2006: a Есть ли такое? Нет. На заре цивилизации, когда компьютеры были большими, для Паскаля вродь как был. Но это было очень давно и неправда... (С) -- With best regards, Alex Cherednichenko.
Re: ���� ���
Vlad Nepomnjashy [EMAIL PROTECTED] ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:[EMAIL PROTECTED] õÔÒÏÍ ÓÄÏÈ ×ÉÎÔ (Maxtor 10Gb) : ÐÒÉ ÚÁÇÒÕÚËÅ W2K ×ÙÄÁÅÔ BSD (STOP code 0x0024 NTFS_FILE_SYSTEM). ÷ ÁÎÁÌÏÇÉÞÎÏÊ ÓÉÔÕÁÃÉÉ ÎÁÍ ÐÏÍÏÇ Ontrack EasyRecovery Pro v6.0 ó Õ×ÁÖÅÎÉÅÍ, áÒÔÕÒ çÁÌÉÍÏ×. æë æíó (óÏÞÉ).
Re: Поведение сервера, если на диске кончилось место.
Kull Damned wrote: Ну прости, Деда :) Ты чего, действия модера не обсуждаются :) Да со стороны оно обычно и виднее, когда кто-то выходит за рамки. Меня, кстати, в последнее время частенько заносит :( А сюда написал, потому что не знал, может там Олег меня не узнал и из-за этого поста свалка началась и её всю и побили :) Я ж там не висю, на перекурах заглядываю. -- Regards. Ded.
Re: NETProvider: ошибочка в GdsStatement.Fetch() или кто пнёт Карлоса?
Рано обрадовался. :( Там Карлос пока одну исправлял в этом методе, другую ошибку сделал. У него: else if (fetchResponse.Status == 100) { this.allRowsFetched = true; } Ошибка: после получения всех данных не выходит из цикла и на следующей итерации пытается получить от сервера данные, которых ессно нет. надо: else { if (fetchResponse.Status == 100) this.allRowsFetched = true; break; } -- Oleg
Re: grpe for Pascal/Delphi
Привет, Konstantin! Вы пишешь 15 марта 2006: KK а что значит опции configure при сборке FB KK --with-gpre-pascal --with-gpre-cobol with-gpre-fortran KK или это на маленьких компах (с виндой) не работает? А я знаю? Последний раз пытался пользовать gpre на 5-ке. Подружить с паскалем не получилось. -- With best regards, Alex Cherednichenko.
Re: grpe for Pascal/Delphi
Alex Cherednichenko [EMAIL PROTECTED] wrote: На заре цивилизации, когда компьютеры были большими, для Паскаля вродь как был. Он есть и сейчас, но по-дефолту отключен. Кое-кто его юзал в приватных целях, но для широкой публики его вроде надо долго причесывать напильником. -- Дмитрий Еманов
Наверное просто warning.
Наверное просто из человеколюбия, ибо тема обсуждалась с ДЕ неоднократно, и в аське по горячим следам, и в кабаке под водочку, прекрасно понимаю, что эту заразу не изловить, не надеюсь, не ропщу, не плачу. Но только что опять наступил. Текст процедуры привожу полностью, во избежание сомнений насчёт утаенных деталей. Create Procedure Fill_Sebg As Declare Variable ArcCode Int; Declare Variable Code Int; Declare Variable ValPrice Numeric (15,2); Declare Variable FxCnRate Numeric (15,4); Declare Variable VaiTonn Numeric (15,3); Declare Variable PUsrPrice Numeric (15,2); Declare Variable VUsrPrice Numeric (15,2); Declare Variable OUsrPrice Numeric (15,2); Declare Variable CandUc Char (1); Declare Variable Otkuda Char (1); Declare Variable Hidden Char (1); Declare Variable Raw Char (1); Declare Variable Import Char (1); Declare Variable UpdCode Int; Declare Variable ProcCorrCP Numeric (15,2); Declare Variable DateReg TimeStamp; Declare Variable NumReg Char (6); Declare Variable DateIzm TimeStamp; Declare Variable NumIzm Char (6); Declare Variable Name VarChar (191); Declare Variable TPVar Numeric (15,2); Declare Variable BUTPVar Numeric (15,2); Declare Variable LVStPrice Numeric (15,2); Declare Variable SpbTon Numeric (15,3); Declare Variable BuTon Numeric (15,3); Declare Variable LVTon Numeric (15,3); Declare Variable SpbRCnPrice Numeric (15,2); Declare Variable BURCnPrice Numeric (15,2); Declare Variable LVCnPrice Numeric (15,2); Declare Variable SpbCStoim Numeric (15,2); Declare Variable BUCStoim Numeric (15,2); Declare Variable LVCStoim Numeric (15,2); Declare Variable KFxSebSpb Numeric (15,2); Declare Variable KFxSebBU Numeric (15,2); Declare Variable KFxSebV Numeric (15,2); Declare Variable DopSMarga Numeric (15,2); Declare Variable DopUMarga Numeric (15,2); Declare Variable DopFMarga Numeric (15,2); Declare Variable KTTag Int; Declare Variable TTag Int; Declare Variable List Int; Declare Variable Valuta Int; Begin For Select Code, Name, List, Valuta, FxCnRate, ValPrice, VaiTonn, PUsrPrice, VUsrPrice, OUsrPrice, CandUc, Otkuda, UpdCode, Hidden, Import, Raw, ProcCorrCP, ArcCode, DateReg, DateIzm, NumReg, NumIzm, /**/ TPVar, BUTPVar, LVStPrice, SpbTon, BuTon, LVTon, SpbRCnPrice, BURCnPrice, LVCnPrice, SpbCStoim, BUCStoim, LVCStoim, KFxSebSpb, KFxSebBU, KFxSebV, DopSMarga, DopUMarga, DopFMarga, KTTag, TTag From UA_Grupp Into :Code, :Name, :List, :Valuta, :FxCnRate, :ValPrice, :VaiTonn, :PUsrPrice, :VUsrPrice, :OUsrPrice, :CandUc, :Otkuda, :UpdCode, :Hidden, :Import, :Raw, :ProcCorrCP, :ArcCode, :DateReg, :DateIzm, :NumReg, :NumIzm, /**/ :TPVar, :BUTPVar, :LVStPrice, :SpbTon, :BuTon, :LVTon, :SpbRCnPrice, :BURCnPrice, :LVCnPrice, :SpbCStoim, :BUCStoim, :LVCStoim, :KFxSebSpb, :KFxSebBU, :KFxSebV, :DopSMarga, :DopUMarga, :DopFMarga, :KTTag, :TTag Do begin if (Otkuda Is Null) then Otkuda='Y'; if (KTTag Is Null) then KTTag=0; if (KTTag Is Null) then KTTag=0; Insert Into Seb_Grupp (Code, Name, List, Valuta, FxCnRate, ValPrice, FirmTon, FirmUsrPrice, LInvPrice, OUsrPrice, CandUc, Otkuda, UpdCode, Hidden, Import, Raw, ProcCorrCP, ArcCode, DATEREG, TABREG, DATEIZM, TABIZM, Zaliv) Values (:Code, :Name, :List, :Valuta, :FxCnRate, :ValPrice, :VaiTonn, :PUsrPrice, :VUsrPrice, :OUsrPrice, :CandUc, :Otkuda, :UpdCode, :Hidden, :Import, :Raw, :ProcCorrCP, :ArcCode, :DateReg, :NumReg, :DateIzm, :NumIzm, 'Д'); Insert Into SebG_UslProd (Code, GArcCode, FOtgr_Usl, TpVar, SklTon, SklVCPrice, SklVCStoim, KFxSebBaks, FxCnRate, DopMarga, ArcCode, Otkuda, UpdCode, KTag, TTag, DATEREG, TABREG, DATEIZM, TABIZM, Zaliv) Values (:Code, :ArcCode, 1, :TPVar, :SpbTon, :SpbRCnPrice, :SpbCStoim, :KFxSebSpb, :FxCnRate, :DopSMarga, 0, :Otkuda, :UpdCode, :KTTag, :TTag, :DateReg, :NumReg, :DateIzm, :NumIzm, 'Д'); Insert Into SebG_UslProd (Code, GArcCode, FOtgr_Usl, TpVar, SklTon, SklVCPrice, SklVCStoim, KFxSebBaks, FxCnRate, DopMarga, ArcCode, Otkuda, UpdCode, KTag, TTag, DATEREG, TABREG, DATEIZM, TABIZM, Zaliv) Values (:Code, :ArcCode, 2, :LVStPrice, :LVTon, :LVCnPrice, :LVCStoim, :KFxSebV, :FxCnRate, :DopFMarga, 0, :Otkuda, :UpdCode, :KTTag, :TTag, :DateReg, :NumReg, :DateIzm, :NumIzm, 'Д'); Insert Into SebG_UslProd (Code, GArcCode, FOtgr_Usl, TpVar, SklTon, SklVCPrice, SklVCStoim, KFxSebBaks, FxCnRate, DopMarga, ArcCode, Otkuda, UpdCode, KTag, TTag, DATEREG, TABREG, DATEIZM, TABIZM, Zaliv) Values (:Code, :ArcCode, 6, :BUTPVar, :BUTon, :BURCnPrice, :BUCStoim, :KFxSebBU, :FxCnRate, :DopUMarga, 0, :Otkuda, :UpdCode, :KTTag, :TTag, :DateReg, :NumReg, :DateIzm, :NumIzm, 'Д'); end End Таблица SebG_UslProd имеет FK на Seb_Grupp, Code - Code. Процедура создаётся,
Re: Возможно бажок в FB2
sasha [EMAIL PROTECTED] wrote: Судя по всему так и не проверил ;-) Проверил. Моя погорячилась - не должны они работать. Там просто код не написан для этого :-) Если успею до RC дописать - гуд, но я бы не стал на это особо рассчитывать. -- Дмитрий Еманов
Что-то странное с составными индексами
Привет! Сразу оговорюсь - всё проверял на свежеперестроенных индексах. Дело в следующем: есть у меня табличка RssFeedItems в которой есть поле FeedId, являющееся по смыслу внешним ключём. В этой таблице записи накапливаются в течении суток и в полночь 90% из них удаляется. Кол-во записей от нескольких тысяч до сотен тысяч. В процессе накапливания записей в таблице появляется огромное количество записей зо значением NULL в поле FeedId (до 90%), т.е. индекс по внешнему ключу получался очень плохой. Погоняв базу анализистом мы покумекали и решили внешний ключ заменить на триггеры + составной индекс. Код таблицы и индекса такой: CREATE TABLE RssFeedItems ( Id INTEGER NOT NULL PRIMARY KEY, FeedId INTEGER, ... ); CREATE INDEX RssFeedItems_IDX2 ON RssFeedItems (FeedId, Id); Есть ещё у меня связанная таблица, с которой мне часто надо джойнить первую: CREATE TABLE RssCacheElements ( Id INTEGER NOT NULL PRIMARY KEY, RssFeedId INTEGER, FeedDefinitionIdINTEGER NOT NULL, ... ); ALTER TABLE RssCacheElements ADD CONSTRAINT FK_RSSCACHEELEMENTS_0 FOREIGN KEY (FeedDefinitionId, Type) REFERENCES FeedDefinitions (Id, Type) ON DELETE CASCADE; ALTER TABLE RssCacheElements ADD CONSTRAINT FK_RssCacheElements_1 FOREIGN KEY (RssFeedId) REFERENCES RssFeeds (Id) ON DELETE SET NULL; Теперь интересное. вот запрос не вызывающий никаких нареканий: SELECT COUNT(*) FROM RssCacheElements RCE JOIN RssFeedItems RFI ON RCE.RssFeedId = RFI.FeedId WHERE RCE.FeedDefinitionId = 279 -- OR RCE.FeedDefinitionId = 280 PLAN JOIN (RCE INDEX (FK_RSSCACHEELEMENTS_0), RFI INDEX (RssFeedItems_IDX2)) Этот запрос извлекает 15 записей. При этом записей с RCE.FeedDefinitionId = 280 не существует, а записей с RCE.FeedDefinitionId = 279 одна штука. Теперь я раскоментирую -- OR RCE.FeedDefinitionId = 280. В результате получаю план PLAN JOIN (RCE INDEX (FK_RSSCACHEELEMENTS_0, FK_RSSCACHEELEMENTS_0), RFI INDEX (RssFeedItems_IDX2)) Но при этом из таблицы RssFeedItems получаю 57767 индексированных чтений Пробую создать простой индекс: CREATE INDEX RssFeedItems_IDX3 ON RssFeedItems (FeedId); Запускаю: SELECT COUNT(*) FROM RssCacheElements RCE JOIN RssFeedItems RFI ON RCE.RssFeedId = RFI.FeedId WHERE RCE.FeedDefinitionId = 279 OR RCE.FeedDefinitionId = 280 получаю план: PLAN JOIN (RCE INDEX (FK_RSSCACHEELEMENTS_0, FK_RSSCACHEELEMENTS_0), RFI INDEX (RssFeedItems_IDX3)) И при этом уже 15 индексированных чтений из RssFeedItems вместо 57767, как я и ожидаю. Вот, собственно, возникает вопрос, почему так и можно ли это пофиксить?
Re: Что-то странное с составными индексами
sasha [EMAIL PROTECTED] wrote: Сразу оговорюсь Давай ты не будешь постить обрывков мысли, а приведешь нормальный скрипт. Или забросишь пример мне в мыло. -- Дмитрий Еманов
Re: Наверное просто warning.
Vlad Horsun wrote: Действительно можно ? Большая она ? Влад, ты меня неправильно понял :) Я имел в виду, что я каждый раз при наступании пытался воспроизвести всеми способами и ни фига не получалось. В том числе и проделыванием того же на идентичной копии. У меня меньше 5 копий базы под руками не бывает. А база средняя, 11 гиг. Имхо тут дело не в бобине, а в состоянии кеша коннекта (я ж на классике), подгаженном предысторией, какими-то предшествующими действиями в нём. А их у меня мало не бывает, как с утра, часиков в 12, запущу WISQL, так к вечеру, около 0 и погашу, а весь день тыркаю. -- Regards. Ded.
Re: Наверное просто warning.
Ded wrote: Имхо тут дело не в бобине, а в состоянии кеша коннекта Вдогонку: не помню насчёт предыдущих разов, но сейчас эти таблицы были созданы в том же коннекте. Гарантированно всё своевременно комиченно - во-первых, у меня в WISQL всегда включен autocommit DDL, во-вторых, я как монашка, одевающая презерватив на свечку, перед переходом DDL-DML и обратно всегда давлю явный коммит на рефлексе. -- Regards. Ded.
Re: Що, опять?!
Привет, Ded! D Кодировки? А что не так ?
Re: сдох винт
Vlad Nepomnjashy [EMAIL PROTECTED] сообщил/сообщила в новостях следующее: Спасибо всем откликнувшимся. К сожалению, восстановить данные не удалось. Попробовал бы все-таки GetDataBack - у меня он смог вытащить почти половину данных из развалившегося RAID-массива Grue