Re: [HACKERS] GSoC 2017: Foreign Key Arrays
От | Mark Rofail |
---|---|
Тема | Re: [HACKERS] GSoC 2017: Foreign Key Arrays |
Дата | |
Msg-id | CAJvoCuujWk9YbGqoRaq8Q6c_6jXzx6xmePeCM51BwRQY6OHBZA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] GSoC 2017: Foreign Key Arrays (Mark Rofail <markm.rofail@gmail.com>) |
Ответы |
Re: [HACKERS] GSoC 2017: Foreign Key Arrays
|
Список | pgsql-hackers |
• After finding the arraycontains function, I implemented arraycontainselem that corresponds to the operator @<(anyarray, anyelem) ◦ Please read the attached patch file to view my progress. • In addition to src/backend/utils/adt/arrayfuncs.c where I implemented arraycontainselem. ◦ I also edited pg_amop (src/include/catalog/pg_amop.h) since it stores information about operators associated with access method operator families. +DATA(insert ( 2745 2277 2283 2 s 2753 2742 0 )); { 2745: Oid amopfamily; (denotes gin array_ops) 277: Oid amoplefttype; (denotes anyaray) 2283: Oid amoprighttype; (denotes anyelem) 5: int16 amopstrategy; /* operator strategy number */ (denotes the new startegy that is yet to be created) 's': char amoppurpose; (denotes 's' for search) 2753: Oid amopopr; (denotes the new operator Oid) 2742: Oid amopmethod;(denotes gin) 0: Oid amopsortfamily; (0 since search operator) } ◦ And pg_operator (src/include/catalog/pg_operator.h) since it stores information about operators. +DATA(insert OID = 2753 ( "@>" PGNSP PGUID b f f 2277 2283 16 0 0 arraycontainselem 0 0 )); { "@>": NameData oprname; /* name of operator */ Oid oprnamespace; /* OID of namespace containing this oper */ Oid oprowner; /* operator owner */ 'b': char oprkind; /* 'l', 'r', or 'b' */ (denotes infix) 'f': bool oprcanmerge; /* can be used in merge join? */ 'f': bool oprcanhash; /* can be used in hash join? */ 277: Oid oprleft; (denotes anyaray) 2283: Oid oprright; (denotes anyelem) 16: Oid oprresult; (denotes boolean) 0: Oid oprcom; /* OID of commutator oper, or 0 if none */ (needs to be revisited) 0: Oid oprnegate; /* OID of negator oper, or 0 if none */ (needs to be revisited) arraycontainselem: regproc oprcode; /* OID of underlying function */ 0: regproc oprrest; /* OID of restriction estimator, or 0 */ 0: regproc oprjoin; /* OID of join estimator, or 0 */ } -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Вложения
В списке pgsql-hackers по дате отправления: