[v9.2] LEAKPROOF attribute of FUNCTION (Re: [v9.2] Fix Leaky View Problem)
Started by Kohei KaiGaiabout 14 years ago14 messages
BTW, can you also resubmit the leakproof stuff as a separate patch for
the last CF? Want to make sure we get that into 9.2, if at all
possible.Yes, it shall be attached on the next message.
The attached patch adds LEAKPROOF attribute to pg_proc; that
enables DBA to set up obviously safe functions to be pushed down
into sub-query even if it has security-barrier attribute.
We assume this LEAKPROOF attribute shall be applied on operator
functions being used to upgrade execute plan from Seq-Scan to
Index-Scan.
The default is without-leakproof attribute on creation of functions,
and it requires superuser privilege to switch on.
Thanks,
--
KaiGai Kohei <kaigai@kaigai.gr.jp>
Attachments:
pgsql-v9.2-leakproof-function.v1.patch.gzapplication/x-gzip; name=pgsql-v9.2-leakproof-function.v1.patch.gzDownload
� x� O �\�s����Y�+�L''E�m�q<U%_M�#+�u:
DB2���a�������D���7�;w*� v�X�~�X�a�k���������n�>�����q��',E���)��-��c���@�V�U���'x ri��<�4�E�����Ay�j��;��z�����o6��@�
#c������D1e����n�c��z�����������f�b�6w6�R������Ndt�?PwX[���w���-L���iz�g=�4,�*�����H[8�i��| �x|�x,�Q���N�+����������&:��F3���w�tj�N<R�1��Ik�Q�~�6G�v)R%�v��af�����r��L�����K���,i���j��l�2G�����x��G��� V�������s8���H�k���2hAh0fa/}��9�W�����u�����J#�V����.[[ j��7f
� �r�o����J
Z5;���E����i���^�X����*�<�S|b+�]���FC����g�f�������>}���gV�v��Z�U����>�J�8���������x��~��F���m^���������8M�\��������+��/s�e�Q�,�E��e���[h���U��^��,
,#�;r<,{<�6��|��j������������A���1�����hK�N
��>�q8]�������b2�}���
�W��t�V�|$JX���%[1��W�!�"8a�[�����Vx"���p>|?�~�]rn����]�tq��i
���k�^}�N������`>^|�_�������|2Z���~���������������p1����6�������|6{#%�����r5��?��x�a>Y�}���~��=~3����f7�"�
����$�� �p� �0�e>���).���,���=h���~��!��.�+��������{X����"]HSs��^^�@��e4�Q�Sc�<�G� �A��Vv��2�`�\�`�9z�q����`�����m9L�zKS].X���K����`9�s��=_���9����w|e�0&�M������R��&Y����b�}��ie�'@2s���XY�L�����i6g+���WO�d&���l����#P�'<����b�=��\O��18��
�z�P$����~
���2���#�5l���k4�
����M�Wo?���b���IN��~�\���*q��1H�D�C,��-��8|<����Lm��p�_���&t�Y�]�r����� ����xk9�o��{djD�#�
�|�T�t�8���'�YG�C����p��-aF|��A���2�}��0�y��S�����K8��B#.�k��E )��K���;���\��V�c��|l��<�gh�J��~�y�=�@`5A��s`��CE%����g�)���G����b��C��|C8����n�����z��������I���G2��~��`��s]���������6p�nO��&��ZS�Z
��3����}�8p3��G��������-DK'����~��x>f���{,�u��S�-*/O�ie')��9d���!��
��`��]p00�I��� �\Y6��:���1��x�u�����w��F=�c��Dll�k@}u���pV���A�1:.��p��l�fL�sd�� �;h��[f���-��y�2�����d��U}��
�L�K���e�k��������w�������`U���
(�u* B ���rC�GaMrz@�8
�2�N�"!,r���,�����h���@��0#�pzV���"�NN<b[!f��/T6�R�>z���iN�K=1@��RBp��;=���K�����������d��l�#�gW��]=�#B�]%�b��p>i<64{�Hm�qi�
.Ea��<X�m�+T
�z����F��)��O�*�pUG� �Z���/��Z=��U~t+�5��d����6�������r,{�_*��G9�g*��X��� "6��$���n��&}Yb(�wM��#�D=K������c���qn<a�i�0t�0B����aLM"����D���&��Md��������������� ��������z�+A�
m��a8Dl��]����e-�Bq��:��Z�ZF��w����z}�����u�����D]J��������8A�a=�h� X�����cl
����N_@��+��>`���8�l��Di����S�I��xD�d/0���(@��+�����p��v�9][�
�Y:�U�,�7&��;�e��!&�.�5-��=y����1u��;k�^��h��56�-p��q��(�����Y���*��V4k3���b�����X�8�R� ��dy�f4����9V4���Y��Te$I<9����{���������J�R���}� ��
��!DyK}�D�k�uVg�?�+�H�V�yn��
��IH;9������*A��,��l�yl�<Y�0��Hf�sx� ,b�A�)���
�F2P!4��e�"6`���9���cZ)5��m��5����]��9|2�6��<[���%���vb�4���h~��b=���� �v�,*+i����&r�����������������%o?�9�ir{��8UV�V�h�����y�����D�h|����!���A�vW���%|a����E�|Va�^�f��Bm ��*���a��l��l&%G^bx�����TA��0��Hb��)=7�00�rB�L1�����'���>SV��_��K?x�EYN��M�D� �5ae�D%!������e#nk)I<�<��� �����M�~m�<�J����A��f�;��`o��5hS��}_�y�|���V w�k�g��M5����4#��$���p59�$��!"���QY��`���z���y0��,P�U���*s�("��"Uq�C�"� i-�^� �3�
D� Z�]�Gn�#���TR���!LyL�K���S%>�����G���0JsR����Z���Q���2M��t�S�j��A����5�
�����PN?�� =h�X2���0�#���Y&��J[�s:aE�@Y �#�8"���V�Ki`�Q�["�B�(E��4��0�bua�D�RI��t�A{�v5�*0�jHm�^�����I%���]TVM2�4��z��j��(i ^�����z�Z�]�c������7\����E�;*��Y��~y�V�9���FY
��;��oD�A�����lI�RCX����t�$[�+�����l/)��N]�<�2"ZvJ���Z��� o�>eo����88o�Z����� |����?��re-�"$
�M����F<����J�S��� ��3��%�
�##�4�(+db������'sf��L�(�/�,����;@�7��y�L�a� �^������
�=U�t�������d`�s��<��gsee�
�X8��/'W7����&����z>���v\Q���m�o�����0.������>D�R�Q)(��pG�s/<<T��Dm���$��Z�V(����w�%��&�A�����M4��A���4���;��7���y����R����)J9�RVf������}U�x������V������0�l��h'��4[_�����h2Kj�$���h2'���$�q$n��b+j���|�[ku�l��o� ��K�_Z�arS��� S�<dF����23��K���pOq�'�e��s�=�QB �[\�[3��9&��x�"'���W[;��j������f�uD"+�� ��hEF�i)�N"�^�=Uk���k|�v��:`t0�l��������t��-T�D"nYp&������Zd�����*�l3�p�� ��ZDX�������7+2�Lfi2]���d�'t�����R��Q�Le��Tf�P�-��v���v����*�"�9�D=>
K�7�r�"n�`��Z����h���v���a)�� ����zm�K=����;1�;�#1�U��SG2�:�L���7R{?V�U{�9��jUh ����T�e�!������i�XACoC��G2��t\xh��B���v���������tD������s:4���t�J��U��d��~��=��]����B2q�.��.�``�;��D���n)q����DwJ�[�
7���_>j(j9?l���}',|�.M^�x�\�~�Q?�s��r��S����Y��.�,QZ<���f��Pf����4�(���%^���3K��EYk�����1�OA+��7�������$#0�k�zD�p�3��W5�f7�L_�h���y��������=���Y�^S�S6�\���X�<��*�����;��� T��8+��l)>�9j�m����9������!4�����f�:4�/<�2}Xk�TNh���4�u��%�{�d����=������T����+���e�g����
>��;u��j��i���t����S�oP��*���7�t��{��T���Vw
'd�M�s���w�VZ��o]��sDL�������q�#(]��"�������=�����;���w�s")�+vuX k9��wC�$&����{�c�������
�R�@=� l<n���U���^�Dw�������*��q�L�b&_��%�9������?PeC�.�v.">�����
�� :�U_�C�����}(Qt�3q�S����UL�=��Zt��l�a�>(����%^x�r%3��Br�a��������^0�rF�KX�|���)��� ���w:�z/��|����x�����g�]C�
�A0`��@��S���)��Y��F��Kwx��A0y�G�d�[!U���[t��n��w!\�T� �B*�8�bI��4�����V���� ����@A�-��$��RR2���&��,a���]��b�D�8{��qI�!��(B��FH�^F�b���Xh�*k��@ �y����X�|��$��C?���0�����k�"+N|�x���������X�ti���1���,�� r�oEF��P|�����+<C|��d�(��NF�����9~�\�R���[M��j�0�'�v��F�%e��9$L���s��F%�bmh!���V����z-��d�J���1O�4�R�i�����P�t�]f�
���:���,�{�� �a���8_U�<
��)Z���L��=wF��h��������~M��p�36�k//�YC�'�q[�"��Z\��IT�0i�����E:���|x�!}}�����J��t�axB��^j��� yA#��������9D�[��TE���Z�������u�h5��kvx~R"M}��H���G�B}O�Q��%�|������7++��_6\�C
of�7����2O�-�������t��x��>������}����r4�N���zX�vM?������0�D�|���oP�?>"��;`8y?����b|����k�
��s1y?��,�������?�-�D�l��A�n5�%A��Lf!=��$��*�U��Gp
�F����3�uzVc��~6�~3���+t�[�F_*%���J���q�1��b�a�NBKt����|uX�Wt��g&����R��2G�n6U�+t�M�w/���x|p=�'���b����D���%�8��7M�~�i�w���muL+���a�;�f����|5(xs ������']y���=T,Y�N��� C��L�0��8��(1�����4�P^�n���H�{R�/>��}H����W�|G�J��O�����\��zC�}��U���&�a{��/��O��%�V�{
?D=L����(;u�v7��{F:�s��l���~�lD���a�O�G�s]�s�W��������"�Y{�iu�t���n�Z�J�mo�D0�&