powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Сравнение двух баз - есть отличие хотя метаданные одинаковые
20 сообщений из 20, страница 1 из 1
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39074605
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://drive.google.com/file/d/0B-o0lV3HGn-JWDljbGhSWjZuLXM/view?usp=sharing
Есть две базы, с одинаковыми метаданными.
Однако, если их сравнивать (Database comparer) при помощи IBExpert 2013.2.15.1, то находятся какие-то различия в триггерах и ХП.

В чем проблема?
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39074708
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема в больших переделках в компарере.

Базы твои на гуглодрайве под какой версией сервера живут?
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39074776
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

А там случайно окончания строк не отличаются (#13#10 <> #10)? Помнится мне Diff может посчитать такие различия как различия (сорри за тавтологию).
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39074784
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

Базы живут под 2.1.5
*перезалил именно под 2.1.5*
https://drive.google.com/file/d/0B-o0lV3HGn-JZnBMUDNWcnRvNms/view?usp=sharing (TwoBases_2.7z 944 кб)

IBExpertПроблема в больших переделках в компарере.
Вы хотите сказать, что это бага компаратора, что он может найти разницу в двух базах при одинаковых метаданных?

Есть ли какой-то обходной путь, чтобы сравнение новой базы со старой показало отсутствие различий (без выгрузки метаданных баз и сравнения только их)?
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39074793
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747Вы хотите сказать, что это бага компаратора, что он может найти разницу в двух базах при одинаковых метаданных?


А что же это, если метаданные действительно одинаковы? Посмотрю твои базы - скажу точно.

Cobalt747Есть ли какой-то обходной путь, чтобы сравнение новой базы со старой показало отсутствие различий (без выгрузки метаданных баз и сравнения только их)?

Я не понял вопроса.
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39074802
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты точно те базы выложил? Там миллион различий.
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39074803
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterА там случайно окончания строк не отличаются (#13#10 <> #10)? Помнится мне Diff может посчитать такие различия как различия (сорри за тавтологию).

Посмотрим, проверим...
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39074817
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

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

Проблема в том, что если пользователь пришлет базу, которая сделана с 0, и мы её сравним (напрямую файл с файлом) с эталонной (старой), то вылезут различия.
Это лишний гемор - выгружать из каждой базы метаданные, и сравнивать их отдельно, чтобы понять что пользователь поменял в базе.

Т.е. вместо 1 сравнения мы получим 1 сравнение + 2 выгрузки метаданных + еще 1 сравнение.
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39074824
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елы-палы, только сейчас обратил внимание на версию эксперта в первом сообщении...

Короче, ты а) обновляешь эксперт до актуальной версии (подожди минут 10-15, я выложу свежий билд); б) сравниваешь в нем свои базы без выгрузки метаданных; в) если возникают вопросы - излагаешь их.
Пока я тебя плохо понимаю.
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39074950
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

Personal Edition Current Version: 2015.06.01 ?
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39074959
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется я случайно выложил базу в win1251?
Вот точно те самые.
https://drive.google.com/file/d/0B-o0lV3HGn-JbzFVb3RxTGhUM1U/view?usp=sharing
MAIN_Converted.GDB
и
MAIN_Distr.GDB
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39075026
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747Personal Edition Current Version: 2015.06.01 ?

www.ibexpert.com/rus/ibe_sfx.exe
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39075040
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

Сравнил. Находит отличия в ХП и триггерах в прежнем объеме.
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39075084
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747,

Проверь подозрения DarkMaster:
http://www.sql.ru/forum/1179592/sravnenie-dvuh-baz-est-otlichie-hotya-metadannye-odinakovye

Мне пока некогда твои базы смотреть, так что исключи или подтверди этот вариант сам.
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39075416
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747,

В общем выдернул я твои БД, развернул у себя. Сделал по первому найденному у меня отличию такое:

Код: plsql
1.
2.
select rdb$procedures.rdb$procedure_source from rdb$procedures
where rdb$procedures.rdb$procedure_name='APPENDACCOMPANYINGWARE'


для обоих баз.

Так вот в базе xxxxDISTR в rdb$procedure_source в блоке:
IF (DID IS NULL) THEN
...... тут пропустил ....
END

После "END" лежат дополнительные пробелы. В xxxxCONVERTED - сразу перевод строки.

Для следующего расхождения - опять лишний пробел. И т.п.

В общем такое впечатление что в IBE при сравнении опция у TDiff (если я правильно угадал) "игнорировать пробелы" - поломатая либо не включена.

И да, насчет перевода строк - строки нормальные, вроде везде Windows перевод строки. А вот с пробелами хз что такое - может какое-то выравнивание скриптов вмешивается при пересоздании БД.
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39075491
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

Спасибо большое!
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39075509
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterВ общем такое впечатление что в IBE при сравнении опция у TDiff (если я правильно угадал) "игнорировать пробелы" - поломатая либо не включена.

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

А пробелы при сравнении игнорировать нельзя.
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39075538
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

Ну тогда метаданные у ТС никак не одинаковые.

P.S. Под TDiff я понимаю вот это:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
(*******************************************************************************
* Component         TDiff                                                      *
* Version:          3.1                                                        *
* Date:             7 November 2009                                            *
* Compilers:        Delphi 7 - Delphi2009                                      *
* Author:           Angus Johnson - angusj-AT-myrealbox-DOT-com                *
* Copyright:        © 2001-200( Angus Johnson                                  *
*                                                                              *



Использовал у себя, помню, что есть у него опция "игнорирования пробелов". Если ее включать - то TDiff НЕ находит различий (пробелы идут лесом). Если отключать - получаем ровно те же отличия, который показывает IBE.

О том, что и как работает внутри IBE в этом случае - только ты представление и имеешь - я могу только догадываться ;)
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39077745
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertПри сравнении метаданных никакие пробелы не игнорируются, тупо сравниваются две строки, если это тексты
[...skipped...]
А пробелы при сравнении игнорировать нельзя.

Я вот тут прикинул - а может перед сравнением строк еще TrimRight() прилепить, чтобы концевые пробелы/табы скипнуть? По идее будет бяка только при формировании длинных строк в виде:
Код: plsql
1.
2.
  S='     
       ';
...
Рейтинг: 0 / 0
Сравнение двух баз - есть отличие хотя метаданные одинаковые
    #39077955
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterЯ вот тут прикинул - а может перед сравнением строк еще TrimRight() прилепить, чтобы концевые пробелы/табы скипнуть?

Можно, но не вижу смысла этим заморачиваться.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Сравнение двух баз - есть отличие хотя метаданные одинаковые
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]