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

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

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

А там случайно окончания строк не отличаются (#13#10 <> #10)? Помнится мне Diff может посчитать такие различия как различия (сорри за тавтологию).
...
Рейтинг: 0 / 0
12.10.2015, 17:51
    #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
12.10.2015, 17:58
    #39074793
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение двух баз - есть отличие хотя метаданные одинаковые
Cobalt747Вы хотите сказать, что это бага компаратора, что он может найти разницу в двух базах при одинаковых метаданных?


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

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

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

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

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

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

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

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

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

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

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

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

Мне пока некогда твои базы смотреть, так что исключи или подтверди этот вариант сам.
...
Рейтинг: 0 / 0
13.10.2015, 12:47
    #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
13.10.2015, 13:22
    #39075491
Cobalt747
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение двух баз - есть отличие хотя метаданные одинаковые
DarkMaster,

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

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

А пробелы при сравнении игнорировать нельзя.
...
Рейтинг: 0 / 0
13.10.2015, 13:49
    #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
15.10.2015, 15:13
    #39077745
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение двух баз - есть отличие хотя метаданные одинаковые
IBExpertПри сравнении метаданных никакие пробелы не игнорируются, тупо сравниваются две строки, если это тексты
[...skipped...]
А пробелы при сравнении игнорировать нельзя.

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

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


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