|
|
|
хочу странного: hstore(record except keys[])
|
|||
|---|---|---|---|
|
#18+
Если заглянет кто-то из hstore--писателей -- хочу [в весьма отдалённом будущем] что-то типа: Код: sql 1. т.е. пропустить уже на этапе заворачивания Код: sql 1. -- а то неприятная дилемма -- то ли вычитывать из системников состав полей, и собирать весь hstore самому, руками на коленке, со всеми вычетами [так и сделаю, кажется], то ли через упомянутый delete чистить результат полного заворачивания. (в исключаемых полях предполагаются БЛОБ-ы -- зачем мне их сначала класть в hstore, чтобы потом подропать из него же ? ) или же хочу операцию/функцию обратную Код: sql 1. 2. 3. (заполнить предопределенный поля hstore тем, что найдётся в record-е, оставив бесхозные поля необработанными. PS если кто видит третий путь -- намекните. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 16:49 |
|
||
|
хочу странного: hstore(record except keys[])
|
|||
|---|---|---|---|
|
#18+
qwwq, а что мешает использовать delete ? =# select delete('a=>b, c=>1'::hstore, ARRAY['c','a']); delete -------- (1 row) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 19:50 |
|
||
|
хочу странного: hstore(record except keys[])
|
|||
|---|---|---|---|
|
#18+
qwwq, если это after insert/update триггер, то можно прямо прописать null в нужные поля в NEW. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 20:17 |
|
||
|
хочу странного: hstore(record except keys[])
|
|||
|---|---|---|---|
|
#18+
Oleg Bartunovqwwq, а что мешает использовать delete ? =# select delete('a=>b, c=>1'::hstore, ARRAY['c','a']); delete -------- (1 row) я и написал, что есть вариант с делет. только он состоит в том , чтобы сначала, значицца положить мегабайтный блов в шсторе, а потом его оттуа дропнуть. вот этого всего хотелось бы избежать. таки вы , олег, не практикуете, с очевидностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 20:27 |
|
||
|
хочу странного: hstore(record except keys[])
|
|||
|---|---|---|---|
|
#18+
Alexiusqwwq, если это after insert/update триггер, то можно прямо прописать null в нужные поля в NEW. красивая мысль. только в new оно остаться должно -- следовательно -- использовать буферный record. -- следовательно размножить блоб минимум дважды -- при кладке в этот буферный рекорд, с последующем обнулением. (или кладку уже писать с разбором всего набора полей (это универсальный триггер, т.ч. тип надо будет извлекать на лету), другого способа положить сразу null в выделенное поле я не вижу -- т.е. тот же вид, но уже в профиль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 20:32 |
|
||
|
хочу странного: hstore(record except keys[])
|
|||
|---|---|---|---|
|
#18+
Oleg Bartunov, размышляя о вечном [ковыряя в носу], обнаружил отсутствие в hstore--расширении агрегата вида "hstore_agg()" думаете, он не нужен ? в моем конкретном случае оно бы меня вряд ли спасло [-- надо заполнить хештаблицу имён prepared стейтментов на агрегирующем проходе, агрегируя sql создания и вызова самих prepared string_agg-ами в том же проходе], но факт попутно не обнаружил в справке ограничения на длину ключа. его нет ? и чем чреваты длинные ключи ? (например -- ключ , созданный из имён по маске ~ "схема.таблица.поле1[,поле2[,...полеN]..] при 100 полях даёт оценку длины ключа в ~6400 символов ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 11:39 |
|
||
|
|

start [/forum/moderation_log.php?user_name=You+got+Cobol]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
get settings: |
9ms |
get forum list: |
15ms |
get settings: |
7ms |
get forum list: |
13ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
178ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 4742ms |
| total: | 5045ms |

| 0 / 0 |
