Re: [pgsql-ru-general] Отладка расширений Pg (C)
От | Миша Тюрин |
---|---|
Тема | Re: [pgsql-ru-general] Отладка расширений Pg (C) |
Дата | |
Msg-id | 1400537126.645529797@f415.i.mail.ru обсуждение исходный текст |
Ответы |
Re: [pgsql-ru-general] Re: [pgsql-ru-general] Отладка расширений Pg (C)
|
Список | pgsql-ru-general |
еще вам в тему LOAD, он на сессию http://www.postgresql.org/docs/9.3/static/sql-load.html
через лоад я работаю, например, с http://www.postgresql.org/docs/9.3/static/auto-explain.html
http://www.postgresql.org/docs/9.3/static/xfunc-c.html#XFUNC-C-DYNLOAD
"If you need to force a reload of an object file, for example after recompiling it, begin a fresh session."
Sat, 10 May 2014 00:22:19 +0400 от "Dmitry E. Oboukhov" <unera@debian.org>:
что сделал:
написал make который собирает расширение
далее написал пару C-шных функций
make install - расширение ставится
далее в psql
CREATE EXTENSION "myext"
его регистрирует (вызывается по сути myext--VERSION.sql)
DROP EXTENSION "myext"
его разрегистрирует.
Все вроде бы хорошо, но хочется автоматических тестов
Кроме того я не очень понял можно ли выгрузить загруженную в Pg so-шку
с расширением.
полазил по коду в contrib там этого нет.
вычитал что Pg оставляет so загруженным до конца жизни Pg.
то есть цикл тестирования получается примерно такой:
1. исправляем код
2. пересобираем расширение
3. запускаем sql которая делает CREATE EXTENSION, тесты и DROP EXTENSION
4. рестарт постгри
В целом работать можно, но напрягают довольно сильно рестарты постгри
и ручное разгребание проблем в постгре если в скрипте удаления,
например ошибка
может есть готовая тестовая оснастка для проведения подобных итераций
в более удобной форме?
--
. ''`. Dmitry E. Oboukhov
: :’ : email: unera@debian.org jabber://UNera@uvw.ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
написал make который собирает расширение
далее написал пару C-шных функций
make install - расширение ставится
далее в psql
CREATE EXTENSION "myext"
его регистрирует (вызывается по сути myext--VERSION.sql)
DROP EXTENSION "myext"
его разрегистрирует.
Все вроде бы хорошо, но хочется автоматических тестов
Кроме того я не очень понял можно ли выгрузить загруженную в Pg so-шку
с расширением.
полазил по коду в contrib там этого нет.
вычитал что Pg оставляет so загруженным до конца жизни Pg.
то есть цикл тестирования получается примерно такой:
1. исправляем код
2. пересобираем расширение
3. запускаем sql которая делает CREATE EXTENSION, тесты и DROP EXTENSION
4. рестарт постгри
В целом работать можно, но напрягают довольно сильно рестарты постгри
и ручное разгребание проблем в постгре если в скрипте удаления,
например ошибка
может есть готовая тестовая оснастка для проведения подобных итераций
в более удобной форме?
--
. ''`. Dmitry E. Oboukhov
: :’ : email: unera@debian.org jabber://UNera@uvw.ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
В списке pgsql-ru-general по дате отправления: