Re: in C trigger function find out if column is part of primary key
В списке pgsql-general по дате отправления:
| От | Marko Kreen |
|---|---|
| Тема | Re: in C trigger function find out if column is part of primary key |
| Дата | |
| Msg-id | 20130401072510.GA25503@gmail.com обсуждение исходный текст |
| Ответ на | in C trigger function find out if column is part of primary key ("Enke, Dr., Michael" <michael.enke@wincor-nixdorf.com>) |
| Список | pgsql-general |
On Mon, Apr 01, 2013 at 12:06:25AM +0200, Enke, Dr., Michael wrote: > I have to find out if a column ( i = 0, ..., tupdesc->natts-1 ) is part of a primary key > but for performance reasons I do not want to execute another query via SPI. > Is this possible? Simpler and probably even faster approach would be to do catalog lookup via SPI and then cache the result. The trick here is to get cache invalidation right, so on any table change cache is refreshed. You can use PgQ triggers as example: https://github.com/markokr/skytools/blob/master/sql/pgq/triggers/common.c It implements various unrelated features, but basics are in find_table_info() which loads cached data and relcache_reset_cb() which invalidates. -- marko
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера