Polygon - работа с файлами SQLite3

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1196
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 26 times
Contact:

Polygon - работа с файлами SQLite3

Post by Ariman » Sun 08 Apr, 2018 10:57

Latest post of the previous page:

fps wrote:
Fri 06 Apr, 2018 17:34
А нельзя ли добавить возможность держать sqlite3.dll в папке плагина?
+1. Как то не очень держать зависимости плагина в папке Far-а.

Shmuel
Posts: 5437
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 19 times
Been thanked: 172 times

Polygon - работа с файлами SQLite3

Post by Shmuel » Sun 08 Apr, 2018 11:08

Ariman wrote:
Sun 08 Apr, 2018 10:57
Как то не очень держать зависимости плагина в папке Far-а.
Вот бы ещё кто-то объяснил, чем это плохо.
Например, зависимости плагина LuaMacro лежат в папке Фара, и никто не жалуется.
Просто мне не понятно, какая выгода в том, что sqlite3.dll (которая в любом случае не будет поставляться с плагином), будет лежать в папке плагина, а не в папке Фара.

User avatar
DrKnS
Posts: 4863
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 150 times

Polygon - работа с файлами SQLite3

Post by DrKnS » Sun 08 Apr, 2018 12:10

Shmuel, LuaMacro не очень подходящий пример, т.к. входит в дистрибутив.
Для "сторонних" плагинов раскладывание зависимостей в неожиданные места может быть неудобно тем, что о них же ещё надо помнить - поставил, поигрался, удалил, а мусор остался.

Shmuel
Posts: 5437
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 19 times
Been thanked: 172 times

Polygon - работа с файлами SQLite3

Post by Shmuel » Sun 08 Apr, 2018 12:35

Выложил версию 0.4.2, которая поддерживает работу sqlite3.dll из папки плагина (из прежних мест тоже работает).
Всем спасибо, убедили.

tstr
Posts: 521
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 7 times
Been thanked: 5 times

Polygon - работа с файлами SQLite3

Post by tstr » Sun 08 Apr, 2018 14:36

Shmuel» да, по ffi.load("sqlite3") и так работало… ;)

хотел поэкспериментировать с подгрузкой расширений sqlite и посмотреть кто-как ищет модули/библиотеки.
захожу в базу сабжем, жму Ф6, ввожу
SELECT load_extension('mod_spatialite.dll', 'sqlite3_modspatialite_init');
получаю

Code: Select all

╔═════════ Polygon ═════════╗
║  Error reading database   ║
║ Error: [1] not authorized ║
╟───────────────────────────╢
║           {OK}            ║
╚═══════════════════════════╝
полные пути в первом параметре ситуацию не меняют.
в плагине SQLiteDB ситуация аналогична.
расширение лежит тутже, в папке с базой в которую вхожу.
но по мониторингу файлов видно что до загрузки расширения и зависимостей файлов дело вообще не доходит.

если тутже в папке запускаю sqlite3.exe - расширение грузится как ожидалось.

Shmuel
Posts: 5437
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 19 times
Been thanked: 172 times

Polygon - работа с файлами SQLite3

Post by Shmuel » Sun 08 Apr, 2018 16:25

tstr, в документации SQLite (https://www.sqlite.org/loadext.html) сказано, что по умолчанию загрузка расширений запрещена из соображений безопасности, а в утилите шелла (sqlite3.exe) разрешена.

В коде мне удалось загрузить это расширение, а как это сделать через F6 (и вообще всю тему расширений), буду изучать.

tstr
Posts: 521
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 7 times
Been thanked: 5 times

Polygon - работа с файлами SQLite3

Post by tstr » Sun 08 Apr, 2018 17:15

ясно,
спасибо и удачи!

Shmuel
Posts: 5437
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 19 times
Been thanked: 172 times

Polygon - работа с файлами SQLite3

Post by Shmuel » Mon 09 Apr, 2018 08:35

Почитал про расширения, склоняюсь к тому, чтобы они были по умолчанию разрешены в плагине, наподобие как это сделано в sqlite3.exe.
Сначала думал это сделать опцией, но поскольку плагин поддерживает "пользовательские модули" (пока не документировано), а в них можно что угодно разрешать или запрещать и вообще делать с базами что угодно, то в такой опции, вроде бы, нет смысла.

Shmuel
Posts: 5437
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 19 times
Been thanked: 172 times

Polygon - работа с файлами SQLite3

Post by Shmuel » Tue 10 Apr, 2018 15:35

tstr, для расширений сделана опция в диалоге конфигурации. Само расширение должно быть, например, на PATH.
При выполнении команды SELECT load_extension(.....) - если нет окошка с ошибкой - значит загрузилось.

Post Reply

Return to “Обсуждение плагинов”