[WLX] SQLite Viewer

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

ProgMan13
Все тот же places.sqlite, выделил строку, жмакнул Ctrl+C по привычке и - ничего :) Так и должно быть?
ProgMan13
Сообщения: 341
Зарегистрирован: Ср авг 19, 2009 16:07

Сообщение ProgMan13 »

Skif_off писал(а):выделил строку, жмакнул Ctrl+C по привычке и - ничего :) Так и должно быть?
Теперь есть пункт меню.

CaptainFlint
1. Это файлы журналов, так создана база данных. Из источников только для чтения такая база не откроется:
http://www.sqlite.org/tempfiles.html#walfile
http://www.sqlite.org/wal.html
7. Чуть-чуть подправил, но всё равно эти "нетипичные перемещения" остались.
9. SQLiteViewer.ini - [SQLiteViewer] - ShowTablesPanel=1
10. Тоже в ini: BlobAsText=1, BlobAsTextLimit=150
Аватара пользователя
Schumi
Сообщения: 7
Зарегистрирован: Пт апр 28, 2006 14:58

Сообщение Schumi »

Автору большое спасибо. Пользовался до этого старым 2009 года (xBaseView не хотел работать). А здесь и имена в utf и шрифт приятный.

Я так понимаю ini файл поддерживает пока только ShowTablesPanel/BlobAs? Просто интересно узнать все параметры для настройки.

Было бы здорово, если бы фокус был сразу на панели таблиц, чтобы без мыши можно было перейти к нужной таблице. А если бы ещё запоминалась последняя открытая таблица по каждой базе, вообще замечательно.
Knowledge itself power (F.Bacon)
Аватара пользователя
Schumi
Сообщения: 7
Зарегистрирован: Пт апр 28, 2006 14:58

Сообщение Schumi »

Плюс хорошо бы режим "Fit columns to window" сделать более интелектуальным. Не просто делать ширину всех колонок одинаковыми, а если для ряд колонок этот одинаковый размер избыточен, то подстраивать их ширину под необходимый текст.
Knowledge itself power (F.Bacon)
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

ProgMan13
Сорри, что долго не реагировал, всё руки не доходили.

Посмотрел 1.7, доработки отличные!
1. По спец-файлам и read-only — OK, понял.
2. detect-строка: в 1.5 почему-то не появилась, но в 1.7 всё нормально.
3. Теперь то, что надо. По поводу вопроса на почту (дефолтное ограничение): в текущей ситуации больше, чем размер экрана, выставлять колонки смысла нет (отдельно опишу проблему ниже, см. пункт 13).
4. Выставление ширины по двойному щелчку подтверждаю, глюков пока не заметил.
6. Сортировку по щелчку подтверждаю, глюков не заметил.
7. Да, с прокруткой стало чуточку лучше.
9. Список таблиц: отлично! Единственное, выпадающий список в таком варианте, наверное, всё-таки лишний.
10. Текстовый блоб показывается, но вместо двоичного теперь просто пустые ячейки (файл places.db, таблица moz_favicons, колонка data). Непонятно, почему, уж текст ‰PNG для PNG-содержимого в виде текста должен был бы отобразиться.
11. Структура таблиц — подтверждаю.

Спасибо за улучшения! Теперь немножко новых репортов. :)
12. Плагин, как я понял, ищет INI-файл только в своём каталоге. Хорошо бы предусмотреть его расположение в каталоге рядом с wincmd.ini, чтобы нормально работать в системах, где TC установлен в защищённое от записи местоположение.
13. Прокрутка ведётся строго по границам ячеек, а не плавно. В результате мы не имеем вообще никакой возможности посмотреть содержимое ячейки с длиной, превышающей ширину окна (а по максимуму — ширину экрана). Если контрол совершенно невозможно заставить прокручиваться по-людски, то, может, получится в таких ячейках отображать текст в несколько строк, добавляя переносы по правой границе ячейки?
14. Присоединяюсь к пожеланию:
Schumi писал(а):Плюс хорошо бы режим "Fit columns to window" сделать более интелектуальным.
Почему же, ё-моё, ты нигде не пишешь "ё"?
ProgMan13
Сообщения: 341
Зарегистрирован: Ср авг 19, 2009 16:07

Сообщение ProgMan13 »

Schumi писал(а):Было бы здорово, если бы фокус был сразу на панели таблиц, чтобы без мыши можно было перейти к нужной таблице. А если бы ещё запоминалась последняя открытая таблица по каждой базе, вообще замечательно.
В будущем, в принципе, возможно
Плюс хорошо бы режим "Fit columns to window" сделать более интелектуальным
Это простая функция, она не проверяет размер текста. В новой версии она отталкивается от размера колонок.

CaptainFlint
9. Пусть [пока] будет
10. Это движок SQLite. Видимо, зависит от символов в таком поле
12. В следующей версии
13. Если честно, мы не сможем увидеть текст длиннее 255 символов. Так что, на некоторых разрешениях можно увидеть весь текст. С переносом текста я совершенно не уверен из-за реализации. На всякий случай добавил пункт меню Record View.

В попытках исправить перескоки на первую колонку при изменении размера колонки вручную, при щелчке по колонке и даже просто при щелчке в таблице, если левая колонка не первая, добавил новых ключей.

Должен в некоторых случаях устранять мерцание:
FixDrawErrors=1

Не даёт перескакивать к первой колонке при прокрутке за бегунок:
FixScrollError=0
При этом должен в некоторых случаях устранять мерцание (на медленных компьютерах - хм, медленно):
FixScrollDrawError=0

У чётной строки другой цвет:
GridOddRowOtherColor=1
Сам цвет чётной строки:
GridOddRowColor=$00F4F4F4

http://progman13.totalcmd.net/downloads ... _1.7.5.zip
Аватара пользователя
Schumi
Сообщения: 7
Зарегистрирован: Пт апр 28, 2006 14:58

Сообщение Schumi »

ProgMan13 а на чём написан плагин? Делфи?
Knowledge itself power (F.Bacon)
ProgMan13
Сообщения: 341
Зарегистрирован: Ср авг 19, 2009 16:07

Сообщение ProgMan13 »

Schumi
Да, Delphi.

Ошибка в ключах ini:
Не FixScrollDrawError=0, а
FixDrawScrollError=0
ProgMan13
Сообщения: 341
Зарегистрирован: Ср авг 19, 2009 16:07

Сообщение ProgMan13 »

Версия 1.8:
* обновлён движок SQLite;
* базы данных сейчас открываются в режиме "только для чтения" (PRAGMA query_only);
* исправлен показ таблиц с пробелом в имени;
+ двойной щелчок по записи открывает окно её просмотра (Record View);
* BlobAsTextLimit может быть увеличен до 2000 знаков (20..2000, по умолчанию 150);
+ SQLiteViewer.ini для ручной настройки:
[SQLiteViewer]
ShowTablesCombobox=1 - вкл/выкл выпадающий список таблиц (по умолчанию 1)
StringLengthLimit=255 - лимит символов для отображения строк (20..2000, по умолчанию 255)
SkipSystemTables=0 - не добавлять в список таблиц системные таблицы (начинаются на "sqlite_") (по умолчанию 0).

Предупреждение. После увеличения лимита символов для Blob полей (да и для строковых) большие базы могут не открываться из-за нехватки памяти.

http://progman13.totalcmd.net/downloads ... er_1.8.zip
ProgMan13
Сообщения: 341
Зарегистрирован: Ср авг 19, 2009 16:07

Сообщение ProgMan13 »

Версия 1.8.2:
* обновлён движок SQLite;
* плагин перекомпилирован в Delphi XE4 для улучшения стабильности 64-битной версии;
+ информация о таблице БД в формате SQL;
* ошибочная сортировка после клика по заголовку таблицы правой кнопкой, а затем в любом её месте;
* разные исправления.

http://progman13.totalcmd.net/downloads ... _1.8.2.zip
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

ProgMan
Если сделаешь открытый сорс, то в случае чего я смогу перекомпилировать. А так мало ли что. Пропадет исходник и - тютю
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

ProgMan13
можешь в выпадающем списке добавить [2/3] table_name ?
Т.е. какая сейчас открыта и сколько всего их в списке
TC 9.51 | Win10 1903
wOxxOm
Сообщения: 30
Зарегистрирован: Вс фев 12, 2006 22:10

Сообщение wOxxOm »

  • В дополнение к предыдущему предложению - в списке таблиц опционально/всегда показывать кол-во записей каждой таблицы после ее названия.
  • Думаю, не помешал бы хоткей для фокусирования с раскрытием дропдаун-селектора таблиц, работающий сразу (без перехода в этот контрол). Теоретически подойдет стандартный виндовый для раскрытия списков - F4. Сейчас приходится нажимать Tab, Alt-Down.
  • Хоткей для перехода к следующей/предыдущей таблице без фокусирования списка тоже был бы удобен (возможно, Ctrl-Tab + Ctrl-Shift-Tab).
  • Неплохо бы быть подружелюбнее к пользователю при выборе огромных таблиц - не ждать обработки всей таблицы перед показом, а сразу показывать первую страницу и уже дальше в фоне (кодом в таймере/треде) догружать остальное.
  • В статусной строке полезно было бы видеть номер текущей выбранной строки
  • Ну, и самое вкусное: сделать возможность стандартной мультиселекции (с Shift, Ctrl-Shift, Ctrl и т.д. как обычно в списках) с последующим копированием по Ctrl-C в TSV/CSV виде - поля разделены табами/запятыми (выбирается в опциях или можно сделать два разных хоткея)
P.S. Спасибо за обалденный плагин!
ProgMan13
Сообщения: 341
Зарегистрирован: Ср авг 19, 2009 16:07

Сообщение ProgMan13 »

wOxxOm, mrmerak
1. Перегружать список лишней информацией я не хочу. И сейчас ровно эти строки используются для всех запросов. Получение кол-ва записей для каждой таблицы занимает время.

wOxxOm
2, 3. Вполне может быть.
4. При текущей реализации это невозможно.
5, 6. Это не так просто.
Аватара пользователя
AKR
Сообщения: 64
Зарегистрирован: Пт мар 16, 2007 12:25
Откуда: Russian

Сообщение AKR »

Нельзя ли сортировать список таблиц по имени?
А то искать очень трудно когда их с три десятка.
Жизнь это игра для которой нет Tutorial`а
Ответить