Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
composite type в качестве primary key
|
|||
|---|---|---|---|
|
#18+
Есть желание в качестве PK использовать поле составного типа ( "uri" INTEGER, "id" BIGINT ) которое при отдаче на клиент выглядело бы как BIGINT, преобразовываясь по функции a la uri << 40 || id && 1099511627775 (т.е. как BIGINT содержащий в трех старших разрядах uri, а в остальных младших id), но при этом, чтобы самом постгресе можно было, при желании, обращаться к полям типа (uri, id) по раздельности. Подскажите, пожалуйста, возможен ли такой фокус в постгресе? Если да, то куда копать? Или есть более простые методы решения подобной задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 01:32 |
|
||
|
composite type в качестве primary key
|
|||
|---|---|---|---|
|
#18+
up! Неужели никто не сталкивался? Или вопрос, в принципе, неверно поставлен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 01:43 |
|
||
|
composite type в качестве primary key
|
|||
|---|---|---|---|
|
#18+
Дмитрий РябовЕсть желание в качестве PK использовать поле составного типа ( "uri" INTEGER, "id" BIGINT ) которое при отдаче на клиент выглядело бы как BIGINT, преобразовываясь по функции a la uri << 40 || id && 1099511627775 (т.е. как BIGINT содержащий в трех старших разрядах uri, а в остальных младших id), но при этом, чтобы самом постгресе можно было, при желании, обращаться к полям типа (uri, id) по раздельности. Подскажите, пожалуйста, возможен ли такой фокус в постгресе? Если да, то куда копать? Или есть более простые методы решения подобной задачи? Проблема в чем? Не знаете как индекс назначить? Или что? Объясните точно чего Вы хотите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 10:17 |
|
||
|
composite type в качестве primary key
|
|||
|---|---|---|---|
|
#18+
Чего-то вроде этого? create type uri_id_type as ( uri integer, id bigint ); create table .... ( uri_id uri_id_type, ..... ); create function uri_id_show(uri_id_type) returns bigint as $_$ select ($1.uri::bigint<<40 + $1.id)::bigint; $_$ language 'sql'; create unique index uri_id_idx on ...(uri_id_show(uri_id)); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 10:37 |
|
||
|
composite type в качестве primary key
|
|||
|---|---|---|---|
|
#18+
может быть проще обойтись без дополнительного типа? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 14:28 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34930397&tid=2004864]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 358ms |

| 0 / 0 |
