Re: удалено мнго записей(около 1000000)

2008-07-21 Пенетрантность Oleg LOA
Dmitri Kuzmenko [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED]
 
 Hello, Alexey!
 нормально ли что статистика, бакуп без сборки мусора, сборка мусора, 
 статистика - идут около 4-х часов на субд 9 гиг размером?
 
 ненормально. это ВСЕ перечисленное длится на базе в 9 гиг?
 а что за диски? Кэш записи отключен?

Статистика по какому количеству индексов собирается?

P.S. Недавно смотрел БД - размер под два гига, 90 процентов страниц - индексные 
;-)

Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Kovalenko Dmitry



для нее пришлось парсер писать, чтоб вычислить имя таблицы.


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


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





Re: Firebird 2.5 alpha 1

2008-07-21 Пенетрантность Khorsun Vlad



2.Хотелось бы на русском описание SIMILAR дайте ссылку


   translate.ru


3.Подключение к внешним базам данных только через EXECUTE STATEMENT?


   Да

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





Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Khorsun Vlad


Roman Rokytskyy ...


Привет!

Я выпустил новую версию драйвера. Поскольку там фикснут баг, который я сделал в 2.1.2 и который приводит к порче данных в таблицах 
с композитным первичным ключем, когда используется ResultSet.updateRow(),


   Сервер портит ? Не верю (ц)

   Или клиент путается в ключах и апдейтит не то ?

--
Хосун Влад 





Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Roman Rokytskyy


Я выпустил новую версию драйвера. Поскольку там фикснут баг, который я 
сделал в 2.1.2 и который приводит к порче данных в таблицах с 
композитным первичным ключем, когда используется ResultSet.updateRow(),


   Сервер портит ? Не верю (ц)

   Или клиент путается в ключах и апдейтит не то ?


Да клиент, клиент... битовую маску неправильно собирал... Я ж бы не 
говорил, что Jaybird надо апгрейднуть, я бы бучу поднял о критическом 
баге в сервере! :)


Роман



Re: Firebird 2.5 alpha 1

2008-07-21 Пенетрантность Tonal


Khorsun Vlad пишет:

2.Хотелось бы на русском описание SIMILAR дайте ссылку

   translate.ru

Лучше http://translate.google.com/translate_t
--
Александр Замараев



Переход с 1.5 - 2.1 реально?

2008-07-21 Пенетрантность plasmorf
Привет всем.
Возникла задача портирования БД с 1.5 на 2.1 и тут же проявиласть
проблема:
при выполнении скрипта преобразования метадаты
select * from rdb$fix_metadata('WIN1251');
вываливается ошибка

invalid request BLR at offset 2581. as approximate floating-point
values in SQL dialect 1, but as 64-bit.

хотя сама БД создана и работает в 3-м диалекте.
Добавление SET SQL DIALECT 3; не помогает.
При этом бэкап поднялся без проблем.

Сервер 2.1.1 (Firebird-2.1.1.17910 Release)

Кто что подскажет?

Re: Переход с 1.5 - 2.1 реально?

2008-07-21 Пенетрантность Khorsun Vlad


plasmorf ...

Привет всем.
Возникла задача портирования БД с 1.5 на 2.1 и тут же проявиласть
проблема:
при выполнении скрипта преобразования метадаты
select * from rdb$fix_metadata('WIN1251');
вываливается ошибка

invalid request BLR at offset 2581. as approximate floating-point
values in SQL dialect 1, but as 64-bit.

хотя сама БД создана и работает в 3-м диалекте.
Добавление SET SQL DIALECT 3; не помогает.


   Куда добавлял ?


При этом бэкап поднялся без проблем.


   Он не проверяет BLR

   В крайнем случае - создай скрипт со всеми метаданными, кроме таблиц.
Убей метаданные в копии БД. Эту копию апгрейди до ODS 11.1. Накати на
ней скрипт с метаданными.

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





Re: [USUS] К пятнице

2008-07-21 Пенетрантность Oleg LOA
Kovalenko Dmitry [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED]
 Мы завязали с ним в декабре, в апреле они пересели на другую (то ли 
 ростовскую, толи таганрогскую систему). Жаль не АйТеко. Я бы тогда не только 
 usus от смеха ...

Теперь они пытаются в неё данные с БТИ по XML-схемам ЕГРОКС загружать :-). 
Слова я плакатЪ  в данном контексте не уместны :-):-)
 141. TYPE_PHONE - 3
 142. TYPE_SCRIPTS_COMMON_ATTRIBUTE - 12

Дим, а что будет с системой?  Ты столько души и интеллекта в неё вложил?


Re: Firebird 2.5 alpha 1

2008-07-21 Пенетрантность Khorsun Vlad


Tonal ...


Khorsun Vlad пишет:

2.Хотелось бы на русском описание SIMILAR дайте ссылку

   translate.ru

Лучше http://translate.google.com/translate_t


   Отвратительное кач-во перевода. Это по сравнению с translate.ru
Хотя и нет дурацких ограничений на р-р текста.

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





Re: Переход с 1.5 - 2.1 реально?

2008-07-21 Пенетрантность Tonal



Возникла задача портирования БД с 1.5 на 2.1 и тут же проявиласть
проблема:
при выполнении скрипта преобразования метадаты
select * from rdb$fix_metadata('WIN1251');
вываливается ошибка

invalid request BLR at offset 2581. as approximate floating-point
values in SQL dialect 1, but as 64-bit.

хотя сама БД создана и работает в 3-м диалекте.

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

Да, rdb$fix_metadata вроде должна писать на каком объекте обламалась...
--
Александр Замараев



Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Roman Rokytskyy



для нее пришлось парсер писать, чтоб вычислить имя таблицы.


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


Я только за! Мне надо метод, который бы делал следующее:

ISC_STATUS ISC_EXPORT isc_dsql_prepare(ISC_STATUS*,
  isc_tr_handle*,
  isc_stmt_handle*,
  unsigned short,
  const ISC_SCHAR*,
  unsigned short,
  XSQLDA*,
  GENKEYS*);

где GENKEYS - структура, в которой можно указать

а) либо возвращать все автогенерированые ключи (на усмотрение сервера, 
какие - он мне сам об этом в isc_dsql_describe скажет)


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


в) либо возвращать мне те поля, имена которых я указал.

Вот такой метод сэкономил бы мне:

- парсинг INSERTа, чтоб узнать имя таблицы;
- исполнение запроса к системным таблицам, чтоб узнать список полей этой 
таблицы;

- модификации запроса добавлением RETURNING field1 [, field2 ...]

Роман



Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Roman Rokytskyy



для нее пришлось парсер писать, чтоб вычислить имя таблицы.


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


проверка связи... я тут уже 2 раза попробовал предложение для API 
опубликовать, но мои заметки куда-то делись...


Роман



Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Oleg Matveyev

 ISC_STATUS ISC_EXPORT isc_dsql_prepare(ISC_STATUS*,
 ...
   GENKEYS*);

Ñ Â ÔÏÖÅ ÚÁ ÔÁËÕÀ ÆÉÞÕ ÚÁÃÅÐÉÌÓÑ :-) 





Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Khorsun Vlad


Roman Rokytskyy ...



для нее пришлось парсер писать, чтоб вычислить имя таблицы.


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


Я только за! Мне надо метод, который бы делал следующее:

ISC_STATUS ISC_EXPORT isc_dsql_prepare(ISC_STATUS*,
  isc_tr_handle*,
  isc_stmt_handle*,
  unsigned short,
  const ISC_SCHAR*,
  unsigned short,
  XSQLDA*,
  GENKEYS*);

где GENKEYS - структура, в которой можно указать

а) либо возвращать все автогенерированые ключи (на усмотрение сервера, какие 
- он мне сам об этом в isc_dsql_describe скажет)

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

в) либо возвращать мне те поля, имена которых я указал.

Вот такой метод сэкономил бы мне:

- парсинг INSERTа, чтоб узнать имя таблицы;
- исполнение запроса к системным таблицам, чтоб узнать список полей этой 
таблицы;
- модификации запроса добавлением RETURNING field1 [, field2 ...]


   Вот же ж любят Java-исты создавать себе проблемы на пустом месте :)

   Почему на прикладном уровне нельзя написать INSERT ... RETURNING и выполнить
его как запрос, возвращающий значения (ResultSet) ? Зачем все эти парсеры и 
прочие
накладные расходы ?

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

PS у меня тоже не все сообщения сегодня сюда пришли. А некоторые - с задержкой
   на пару часов.




Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Roman Rokytskyy




   Вот же ж любят Java-исты создавать себе проблемы на пустом месте :)

   Почему на прикладном уровне нельзя написать INSERT ... RETURNING и 
выполнить его как запрос, возвращающий значения (ResultSet) ? Зачем 
все эти парсеры и прочие накладные расходы ?


Поскольку JDBC имеет цель стандартизировать интерфейс к различным БД, а 
они, как я понимаю, не всегда INSERT...RETURNING поддерживают, то и 
придумали новый метод... А может просто решили нам жизнь усложнить :)


Ну так что, делать мне feature request или же сперва в Architect-е 
немного подискутируем?


Роман



Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Khorsun Vlad


Roman Rokytskyy ...




   Вот же ж любят Java-исты создавать себе проблемы на пустом месте :)

   Почему на прикладном уровне нельзя написать INSERT ... RETURNING и выполнить его как запрос, возвращающий значения (ResultSet) 
? Зачем все эти парсеры и прочие накладные расходы ?


Поскольку JDBC имеет цель стандартизировать интерфейс к различным БД, а они, как я понимаю, не всегда INSERT...RETURNING 
поддерживают, то и придумали новый метод... А может просто решили нам жизнь усложнить :)


   Мне эта фраза ничего не говорит, увы.

   Какой новый метод ? Statement.getGeneratedKey() ? А если в statement
SELECT написан, это ничё ? :) А если СУБД не поддерживает этот метод, то
что делают java-писатели ? Ручками вынимают ключики ? Так не проще ли сразу
написать INSERT ... RETURNING ?

:-D


Ну так что, делать мне feature request или же сперва в Architect-е немного 
подискутируем?


   Максимум, что тут можно сделать без смены АПИ, это расширение
isc_dsql_sql_info, IMHO.

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





Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Roman Rokytskyy


Ну так что, делать мне feature request или же сперва в Architect-е 
немного подискутируем?


   Максимум, что тут можно сделать без смены АПИ, это расширение
isc_dsql_sql_info, IMHO.


Не выйдет. Поскольку чтоб от тебя получить isc_dsql_sql_info, мне надо 
сначала stmt handle иметь. А для этого мне надо сделать 
isc_dsql_prepare, а для этого мне надо знать, какие поля я хочу 
получить, а это как раз можно, как ты говоришь, максимум через 
isc_dsql_sql_info, для которого мне нужен stmt handle :)


Если б все так просто было - я б уже давно к тебе пристал. Это ведь мой 
первый полноценный парсер через BNF-нотацию - в этом плане я неуч :)


Роман



Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Kovalenko Dmitry


проверка связи... я тут уже 2 раза попробовал предложение для API 
опубликовать, но мои заметки куда-то делись...


Это гугла тупит. Все твои сообщения видно через WEB-морду к форуму.

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





Re: Firebird 2.5 alpha 1

2008-07-21 Пенетрантность Boltik Evgeny



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



2.Хотелось бы на русском описание SIMILAR дайте ссылку


   translate.ru



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





Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Roman Rokytskyy



для нее пришлось парсер писать, чтоб вычислить имя таблицы.


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


Я только за! Мне надо метод, который бы делал следующее:

ISC_STATUS ISC_EXPORT isc_dsql_prepare(ISC_STATUS*,
  isc_tr_handle*,
  isc_stmt_handle*,
  unsigned short,
  const ISC_SCHAR*,
  unsigned short,
  XSQLDA*,
  GENKEYS*);

где GENKEYS - структура, в которой можно указать

а) либо возвращать все автогенерированые ключи (на усмотрение сервера, 
какие - он мне сам об этом в isc_dsql_describe скажет)


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


в) либо возвращать мне те поля, имена которых я указал.

Вот такой метод сэкономил бы мне:

- парсинг INSERTа, чтоб узнать имя таблицы;
- исполнение запроса к системным таблицам, чтоб узнать список полей этой 
таблицы;

- модификации запроса добавлением RETURNING field1 [, field2 ...]

Роман



Re: удалено мнго записей(около 1000000)

2008-07-21 Пенетрантность Khorsun Vlad


Oleg LOA ...


P.S. Недавно смотрел БД - размер под два гига, 90 процентов страниц - индексные 
;-)


   Крейзи. Однозначно. Или на 90% чтение, OLAP. Но всё равно - крейзи.

   Или это был не IB\FB\Ya ? :)

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





Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Khorsun Vlad


Kovalenko Dmitry ...



для нее пришлось парсер писать, чтоб вычислить имя таблицы.


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


   Он всё слышит. И видит.

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

PS Боисся ? Уважаешь ?  :-D 





Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Roman Rokytskyy



   Гм :) Напиши, плс, последовательность вызовов JDBC для этого дела,
т.е. то, что юзер пишет в программе. А то я чего-то не понимаю\не вижу.


пусть у нас имеется табличка some_table с двумя полями - id и name, при 
чем если id при вставке NULL, то триггер присваивает новое значение из 
генератора.


Вариант 1:

  Connection c = getMyConnection();
  String sql = INSERT INTO some_table VALUES(?);

  PreparedStatement s = c.prepareStatement(sql,
Statement.RETURN_GENERATED_KEYS);

  s.setString(1, some value);
  s.execute();

  ResultSet rs = s.getGeneratedKeys();
  rs.next();

  int id = rs.getInt(id);

Вариант 2:

  Connection c = getMyConnection();
  String sql = INSERT INTO some_table VALUES(?);

  PreparedStatement s = c.prepareStatement(sql,
new int[]{1});

  s.setString(1, some value);
  s.execute();

  ResultSet rs = s.getGeneratedKeys();
  rs.next();

  int id = rs.getInt(1);

Вариант 3:

  Connection c = getMyConnection();
  String sql = INSERT INTO some_table VALUES(?);

  PreparedStatement s = c.prepareStatement(sql,
new String[]{id});

  s.setString(1, some value);
  s.execute();

  ResultSet rs = s.getGeneratedKeys();
  rs.next();

  int id = rs.getInt(id);



Re: Jaybird 2.1.6 released

2008-07-21 Пенетрантность Khorsun Vlad


Roman Rokytskyy ...



Ну так что, делать мне feature request или же сперва в Architect-е немного 
подискутируем?


   Максимум, что тут можно сделать без смены АПИ, это расширение
isc_dsql_sql_info, IMHO.


Не выйдет. Поскольку чтоб от тебя получить isc_dsql_sql_info, мне надо сначала stmt handle иметь. А для этого мне надо сделать 
isc_dsql_prepare, а для этого мне надо знать, какие поля я хочу получить, а это как раз можно, как ты говоришь, максимум через 
isc_dsql_sql_info, для которого мне нужен stmt handle :)


   Гм :) Напиши, плс, последовательность вызовов JDBC для этого дела,
т.е. то, что юзер пишет в программе. А то я чего-то не понимаю\не вижу.

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