RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.
Утилита dbhash.exe

1. Обзор

dbhash (dbhash.exe в Windows) это утилита, командной строки, которая вычисляет хэш SHA1 схемы и содержания для базы данных SQLite.

Dbhash игнорирует посторонние детали форматирования и хэширует только схему базы данных и содержание. Следовательно, хэш постоянен, даже если файл базы данных изменяется с помощью:

Операции выше могут потенциально вызвать обширные изменения сырого файла базы данных, и следовательно вызвать совсем другие хэши SHA1 на уровне файла. Но так как содержание, представленное в файле базы данных, неизменно этими операциями, хэш, вычисленный dbhash, прежний.

Dbhash может использоваться, чтобы сравнить две базы данных, чтобы подтвердить, что они эквивалентны, даже при том, что их представление на диске очень отличается. Dbhash мог бы также использоваться, чтобы проверить содержание удаленной базы данных, не имея необходимость передавать все содержание базы данных по медленной связи.

2. Использование

Dbhash это утилита командной строки. Введите "dbhash" в командной строке, сопровождаемое названиями одного или более файлов базы данных SQLite, которые должны хэшироваться. Хэши баз данных будут показаны в стандартном выводе. Например:

drh@bella:~/sqlite/bld$ dbhash ~/Fossils/sqlite.fossil
8d3da9ff87196312aaa33076627ccb7943ef79e3 /home/drh/Fossils/sqlite.fossil

Dbhash поддерживает параметры командной строки, которые могут ограничить таблицы файла базы данных, которые хэшируются, или ограничивают хэш только содержанием или только схемой. Для справки используйте "dbhash --help".

3. Сборка

Чтобы построить копию dbhash в unix, получите копию канонического исходного кода SQLite и введите:

./configure
make dbhash

В Windows:

nmake /f makefile.msc dbhash.exe

dbhash осуществляется единственным файлом C-кода dbhash.c. Чтобы построить программу dbhash вручную, просто соберите исходный файл dbhash.c и скомпонуйте его с библиотекой SQLite.