Re: [pgsql-ru-general] Re: [pgsql-ru-general] Отладка расширений Pg (C) - Mailing list pgsql-ru-general

From Миша Тюрин
Subject Re: [pgsql-ru-general] Re: [pgsql-ru-general] Отладка расширений Pg (C)
Date
Msg-id 1400537245.537458088@f374.i.mail.ru
Whole thread Raw
In response to Re: [pgsql-ru-general] Отладка расширений Pg (C)  (Миша Тюрин <tmihail@bk.ru>)
List pgsql-ru-general


или даже лоада не надо. на свежую сесиию и так свежая либа загрузится


Tue, 20 May 2014 02:05:26 +0400 от Миша Тюрин <tmihail@bk.ru>:

еще вам в тему 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








pgsql-ru-general by date:

Previous
From: Миша Тюрин
Date:
Subject: Re: [pgsql-ru-general] Отладка расширений Pg (C)
Next
From: Alexander Bruy
Date:
Subject: Мультимастер репликация