WIP: Automatic view update rules
Please find attached my current patch for automatic view update rules.
This is a stripped down version of my former patch discussed before 8.3
without CHECK OPTION support and less invasive changes to the rewriter
itself.
I'm currently cleaning up the code with all occurences of multiple base
relations (in progress) hence supporting SQL92 at the moment, only
If we decide to go further with this approach i would like to work on the
CHECK OPTION implementation based on some ideas we had in the past (e.g.
rewriter/executor support).
Note that i'm still working on this (for example, RETURNING is missing
yet), As always, discussion welcome ;)
--
Thanks
Bernd
Attachments:
--On Donnerstag, Oktober 30, 2008 21:24:08 +0100 Bernd Helmle
<mailings@oopsware.de> wrote:
Note that i'm still working on this (for example, RETURNING is missing
yet), As always, discussion welcome ;)
This new version implements RETURNING support for implicit view update
rules and does some further cleanups.
--
Thanks
Bernd
Attachments:
view_update.patch.bz2application/octet-stream; name=view_update.patch.bz2Download
BZh91AY&SY"Q� ,O��}? �����������`j�G�R� >�}��t6��]��� ����f����<��mg��z/�X���@QM� :�W�^�[-{�>7�/��y���O�������3m�����T��1��QQ�/Ow�M��s[F}��[>��6i�M����:�q��}�����;��3����������}�_{+�����q�o^�����������k�Ss�����^�={U��lm���y��[T�s��R
�Z���m������R�l�{9�}�!��k�w���I�N� M�&@#)�`D�"zh��~��L��6�I�A)�B@@��5=)���Q�G�����P� h$�DDF�LR����O��OE=�7�m4��(����=A� � I�����SSO&��(���@� �"D��5O�L&��'�M��jx)���4��h
D�LF���FS��1I��
�����?S���� z{g<J�
��dYp�����6��������I��j��J��F�2V��5
ei������V?��(�D~� �Z�C#�
���
-�]-���mIZ���/�����j�i13IL�(��Bd�h�HD("}�N�w]�)[mF��������x�Pb/�B�Y,L�&��J�;�������0Y"$��kC��a 3��Q�D��x%4��%5-�h=S����Y65z�����z]�,Y�Z�%����T��;�����OF�s�x���<�,�AV
�h�J2h��, B�BB
%"F�
#5�����Uv�Y��R���G��|-L31L�()���!
j=��I�6���K5+I�QM41��!Q���u)��I��0�P��6�33`���F�ESc"2���iH�S$�#B���W����t����>W *��R�E�)�J,�&�,KiR��mi��Ke5�"!��"l \���`�I7b�?0
g��sox5�4���o��v���rL��1����>[p���$�c��(gAF�=��]F$6�y�e4�9�idh��tD�����w�e���b?��%]6O%����=g3�~'�A��7^����@h����Mt��%���W�]�P7
N�D������9����r�=����������b��A|��^�[7�s�����]�N{�MZ4�!j���&$%�nj�&p�[��{�/�kJ���_I��~\~���}�g0F��F`i���8��y��>�����]�j����%o������TL���>����7���?%���_�]����G�w������':��'�!�}���#�Y�����we%�m���S�����#�K�Q���}m-�������iEw;ta�Zj��oZ�6l�������^��r�t"4
���oim��Xmfez�����>\���OvO�����_K}L���T_-C��*���kWM�|��f���
���K��f9���2�E8�F��4���WJ��a<�r�p*4Bd
A�U�C�l�e���%+T�W��y�7��,�>U����+,�0B���?���k[ ���>�V�kX�ZTm&h����[1��V,���f5�`�2�F�]{f��Fm�R��,�E#��w1^r�w"@-�X�m�*��_gbH��I���w>>���T��vm5sd�f[���Z=j���.U������|���
�,�^��,�;y�`��z����ON==9��7�����*Z
OL|`~��{�m�������v�;������$
�#�#����2Cf�zG���nzu<�%����v�[�W�W;U�z�a��������
��/��y�����<�(<y.Z�%@iS�'6Uwr_�I��=��^QT9����#Y)9���#���'�d��z4m
�,U9��g�T�`�������gt��-��s��l��s��>������u�m|=�A���+����b� �����~����m�
�k��m\�Y1�]vJ�KIqF
M�Ln��\��K.�n��v��������3ZMb�6+cV��tKe6�,V��X�].���n�&�f�����"��\���Z�ZKY���]��uV�f���[�����d�����F�4�ci:m����M���3Z4IRt�t�k*d�f�3(J�[&�M����iCf�h��-i����f�Bo+���:c�F�
7����wL��vQ�wG�(�J�4� ���IJ�������M����qB�wLN2�d���3�&�d�@�U��������8��d��e�p��i$�I$�V{�?m�X�������c
�,� w����0~��??����[�?O&
)KK��Z����f�ODK�\����1�(B�{�E6<��sa$ ��)E�Qp�>��[�A$ �b�@wJ���{�T�l�����,�2C���
!rF�L��>TP�@]���N~R��tg��{-�����TBX
��SD��V|H[������=#���O��#'&���E����,$�����F$~�bK����h�I1�BG��~ PCN�o�z7-������HLZ�G?�x��sPL���%)��f�������S�9B��#~���Bg �������1�N��s�
4���\\"�HL�4� lTJ�Rj�W2���b_~�YJ�6!�v�4 "�1A`��v/��(,UZ�����s�N�7�
;�V�f�0����q�C|�8����>�������gk��U=LEg�����gS��aT���s��!�����|��+�|+���O��������){��������p{s�^�����D"2{s��3\{.�6Y
���]����1xsf�[����b��f��MV���s�R|��>��\��`c���}��/=hT7�%�ES�M��=SC��"��3 �#V#�Se�HSm!���]!����a
!��0d��t�[s`VP����G�?����������S����R�����I�5�+%7�ty��GS�sn��~~����_+3� ��!No
N���$!e�����mN_�wf�TUQS��DEA!"M��<�>g���$$��y�������
i{T~?���>������U�`y�P<�g����X��~���JH��4/�s����&K�t����G��Fs�����K��ga���7"��&�`eW�uZ���;��B�z������ �e�t��aV���R����"��Y�8KPQ6�]{�l"d5����J4T�D��*m���O����F�$��qE����R��V��M�;j�w7��JK<Q���O����4`tLR-o�J'��}��d�~���1�s!�*��6G���UQ�1'
Se>�f� �\<����x�\������]�u�_~>�����2����+�zm'lN��c+��jcc��ca $�pp_�-���"G�`�9�zI�7��������T���'fH
s����|T�S�%�
m�1��G�������p4���Q&'uRKuso����7*�������( P�jmn��dam"X��32�H�LZOWG���uZ��<vt���prU����|s����AC=�����J!���1����TV7R���L�����v�V��y���1q�kE�W���������������$��|��ca����+,6/pdD$�wvt��t�>�e.a��}z8���|�70�Y���N����O��py���#r:
���~�����UI)*5U�a��lv��S���}r|�:�Z�������^
,,;V�j)w��I�����a9M�&`N>����\:���;�8A�x�v���R~N�C���?_��b�v�>�GWk=�xe�����2����fR���������|#����������O�/fx��kC�A��Ux�v�"�L�/ �zWW�_����nI+��\�6��8�q�yE"yf��eM����r{��q��6y�.c}s�@jY'�k�8��k!��8�'�+�z&>;����Lw�!�m�e����D��@��&��E��l�3����}hI�����;!L�N�����V�(��y���i'MW~��k�X����ftk�2I�����aU��a��80�����+�a��0#���������xH�_�,aP�C�w+��'�2)/�����<���m�����!�e�����^�UW����x��\^��<Tq-���c�|K��&��m����anc��{��IH&.�X`gvY�u�)Yx��60���������6����m�B+��ss|�T*�������qf����o���,5�U���?#��v)��� ���h�����4I�.����H�7�>�*�jcB� �����yk5�����+��F|�@H����n���z~U_���L�k<���.V�mK ��)���G�4�Y�D!����9��������R����a+��m��+��6�W���&���q���j����|������Ol9F��~�dH�e�p}w/��EW���;4��<��6�f���p�����������Y�m��]{rJ���qW������^/U���1���x�:�wZi����'�5[���!~��lv�w6X'�)�|5/n��q���wOX�����ZC�jf��N�l�k�g���7�_E����#���Cqq<d��)����~���v��l��[8����>l�E��3rf
<��\�i*����\P����m��Y����U�EII�S���n��f��t�r�{���^�0)_��+���K�\q��EG�Bd��z�:����G:NM�e�0����g�XGU2kSU�sd�N��q��!��8�������w��gbW
�v���^W~/�^�QL��]��y������-���� ����o����_�FG\j6|u9����!&�E
�����%v�Q
�����]��������*m,�,o��m��&��[[4.�~8E_O����������B��o{G��2_��g����m�U��p�t��%-�%?�\K�|���x�l��k���K�U�b�r�^g��M���������l�-;�`V �F���p�~���XX�^j�����b������a/��y����t�MG�b���.�n��f��8���
6��h}�|s�>]e�mR�b;��
��i� �3���T���(L����W�4�z�N[�L���r�R����p�<�G:�nA���^������-V�����}m�SD�����p�/)�m7�LUj:|e�F�?o>$O����O��E�8cd��t�Q
���
����o��z��� fBfo�u�L�H�d��`�T���M��'6�7�k>� �;���T-���JbG}O�����i��
����K����s����a�=g};��y�����������k����;]W���fx [g(�
5�~��~q�y��������ez�����1^�wlu�oS���W��EF�����WY<������fv���wU��o��F8���*��'��������D���,�E����4�h���������Q�����{Q��Ck�8�����-��d�ey"��"���o�MKT3'N�&���z���Nn�g����U<"~���
�C�r ���\P�����f�IN��Y�x� ���
�������������P�]�6�� �e����g�;o��?�s%`��|\$������.O6PK�}��][���Wf�N���{2�RHz��[���\;�� ���Z-}J)�J^�n�l��V��j�Z\�P�������s�[ ��x�Q�/���8�O���WJ*�y�� 2���-B��Xb4�����yX�kw��/��k���D��G��<A��������v5q9�-4"����.��um)�p�,��'�t}�o����0mM��#9�8*�h!��d(��Dj6)��"N�xQ%���-�:e�`�4��iT���K1���]�
�
�f}�����������0�����E� ���E/a�H�"��`L��0�������G��~�����:���nz�~Y�|��Q�E�y�����M/v�)��"a������a�O\��.�L(D�)n��/N9
��lm�u��j6h����i�$(���'�?�2�u����E�����4�n?I�=/����=����J����s0��0���F��Q`R�Ym3���z�{��:�F������c�����rQ�f����H}�Zs�Z�7eXn�%��P��v9'�����`x���;HW�|E�q�oEx�Y�'�M��I��!���uN�f���pCx�/�},o^��
L�V4����b��Ut���:�5cr?j� ���\
h����];\��9���>�d�%B:l������O,�.���.��+4��>�^�Bf� �������]�X�#G���B�iq�<�O.��Y��U�W�*��p�{���
�����(��F'�o8yR|�O?dD����q/�<Iap���7B�H�
=��XCVPy�����
.��p��;ef�rS����
Li����'X>����
�[����t�����:2t{��yk�9d�d����+�q�?Ew�r��n]<�J������/������j����������Z����=�aw��J:�FeiyV��y�~uj���/�������X������K#����C:�im��!��?���3�^���=w�s��S�i���V��5s�| ?x�E%��m�5D��a��A��j�k�Qh�n�#42d��(�4d����L�%�n75!�"�j�������uzMF��i�+%4�]�^^v�:��}5�2b� �����L�"���AA�B����#�m#�p�_�dQ"!� ����>z3���L�?��X���s�`*�&6(��PuQYdDC���K����>P��C.����y)��&Z@����LS���3�D�J�����R:�����i�^[��c��]\L����*,�I��c�����J���T��<����m�Z|�R,��m�fC����:N���2Vp��?q��k"~l�Cl+F��dAa��'��3�iUMz�*���}��X�r/��[\����>��.&��:�R��?f�=��+� ���77ev���-�����gW����
!6�fv������k�9������'}�S���'z8;��u��FX~2�,I��-XV���w����A^p������{��2q�v�J{�����| M��mr���[�����9����{/�?>y��]oeod��K�//p`�lq�b�>�,P�����Lk�����W�g�?����������F~J����R���-��q�L�cS����J��$�?��)��B����)D��O�����S\���Q$ M�J��-�nA��/���dI; x3g?�zi� ���X�QPVe�E)�q5����E���,���}�T�����l���e-� �V�s���gEq~���n3O.,F}��~M����7v��e[����qd����,?�����<��Ht��i�gUb�f���;��1�������%G3�D��h�)W�h���K.{T��\����|�[ �TR���^}!�/?�����WSR\���y�s�)6�z�8��\|���G����d�*���$223��^i.�6�
���~�5?��j���+����Rj�,h�D<B��������c�U����s�U�I:
���v{G�`���!��y$�Du2���/���Y����� b�}A�+���Rt(��)!C�wI�I���� ��������R�H\4q>��>������M� �������N���M%(kD<5BB���c��_�(TYgOB6�[�9�}���l�<���R-�*�3lJ��M��v��H�e" 6�9S�Zg���&�tm�]L&`G��h���m|s�����%x:cR��YK4F��m���I�~��C<�'g���m�L�rd���Wy*���u�{K�!������������$������08 &LH���" x,?��?�E�prJMqp"�/0I2��������/m�������Q�<�"�!0�Z^^$�."����6��%���x�B��������wz�w[�<*��b��o����d<48��(����o��.q0�� ���r���8�t��Vv����G��A��L���_6�c��� �3}�s����R�]"�����QG��%T��4��)����4�fWH����������e��^��s)9���i��}!��5���������S�h������O ���B�������e�P��_T���-�%��nz���S�/��!��K]���b#)f�{����I�B��c�o)��F~�����r�e���Rs���w�e�_�����]��������u�8�^��rr�Y~:�]�F�1m���� u��HnR���N$W��^�o��=��uA�w�����H��p������]����s���;�mM���Db������BE6��I��!e�{j�]@N���G��<X�������Bs�I/��@��y����>��~^E%�;.7^�cj&���hV��$k�Q�����c���q����".N� $���D
E�p80�sF^Ne��Y�������e�m�08���C�4,�?CM�����
UR��2@�%Ul�V��q�$�H �C�����D�?������q ���`*�&��<ak:��na�Q��DSy7��FY���}�?ht�=��f������T�n���r�����\��m;���(�d�
B �|�Q$,���u���k�/$��?��W�������2��#�j[a�wh���z�4#o -�MQ��=
Nh���IB�}�U���� �s����E!�N��?�������P����(�'����mV��bw��J�V��~H�1���d��t�~�����1y��*G������t������Q�����������}���[n���/��d}g8uu�H�M���A2@����)�C�_;�N�z���[�l8R�%�o43�*x!M�"z�Q��X�'#�8x��i���t���VLP�.�S!%Z ��`�;����j��b;0���4� �%�)l<LQ�t���kbc[|�+b�~����l�/$
����>~�7������ ��!$�S%6fL���%���������\D�`���;J<$����������/�@="l�l�_��j9$,��<������#������CD����S\��������^=h�^?6��G�jN��v�D������@������OvzjX����1�;U{U��S�`qD���_K�>`�OiO����C�!������"�c#��L�����c^��;�CB�r>��E�;�=i��0�d,]�G��M\���T\��vd��q� ��Z�s`�P��3T��D�[G�H[�c���r�'y��t���qBQ��z.^Q����S���p11����&����=�bD�J��LKY�&>��u2@��jS�� $�����B b8�#c� ��|��D�INh��2#���=G���z���t������I������ �����DD�`�5�+��T������r���NY�����t�����x�[U���O��K�)��w��g�6Q�/�C�K��a H�����[�H9h(fr'Ti�)� ��)�}]��l! H�{������#�:���?"G ��8��������n������>}��]=�P��CV����a��`�!�!e��� �8���
FXU:��"@�n:X5������d@�`���"Y2T��:B�8�9��Y�G��T��&����������8C:+��X������-y�a�Bx{�;�������O�RTh0��������
T>�=`B���S�������{Sfk�%WO����R�u�vUD�.S�H��������u���b�
��:�%����l��d��NEP�8F��~i�����D"SSh^?��i� ��d���xp��s�I#�$ ������� ��Q������j_'���M�z�n���(C�Q<���~>��xYcL0�����SnO*�>�U7d�\�fJs�z
:cUPhQ=�oe}�GRq2�F
�00��'�q���L����{ �����@�B}Ke9R�z��$�>� ��j�%AC�U�N���-��B��^�gy?����s�����Wk�o�G�&��,��b=�Yt��w�����m����jv��� O�]��|M���HQG�b���2
�0fi�F?Rm>]~��@7!�� uHh�z\y�������El0%���q� �W{j��C����0i�%�2�mz��o�d�:�����3r��Z����A��k�Aa�#ii�9)�f�
�� fL�,0`k6b�E�% h��R��!�1tMS�YC��Z��Ep��K6�3��pK�eK���d�C��MH�jMZ+��;Vik�������@��I�$��(�G�^\!'��)��}����������Q�?���8M�����s
�f>�Ha�q&t���@�����Z�P�������!A��p�L��}���!n'�Xxg�������y��"���=d�I���"H�opv����AVR���9�hg�g�� m#9�����'��K�������p�Mzb� �����T�C)Z�U9-�<� �f��� ���(P�4,��R!Jk���A3������i=��@��2�}�q7'^� �� -�)9� ����5����2o~����,������fS-}�K�c��� m�*����D�Rw���[md@�w����c�Y
�J�`�=��DC���_�g��f�1����& �Dl� "r�'@�2�_
/�7� 0���l
�3)RC2�a4��$�I1$R{
H{��{�o��9�\�*��s���Gr�0�~"�mi�����2%<C�6��l�x���D��^u|���X��@<�G��N�n��e����C�0�����'Y�C��Al� ��e�4�L�'�`�O�����m��d��r@�p��i@XI(:�����w�j$���.��s�M����6�����[��+��B+�� �\������0�5L
�n��
��/�d�E\&�#�pD�/9H����Q��e\:��!!���I�:u���3es*�(��"H�H�P��7�l��[����H^@ �un�jcj-�5�&�n9+Dw��
+��K�Z�I+[?���{�����70���B�@�d�"�E� v�0��P!�����@�U�,�G�:���X�E��� �# �,0�H�K@��t����R�:�&Tu5����
������<m�R���-DTg�%��P������p{% ���L@�j
���������sYC����He�`i��7�$t�R�[(��1�Q�\p;2MnZ�4P�,1")d������1�� �h�B��V9&�8hJ��gG&�*��1�q���S���!��Y7pLa�S6�:0�#
�G����7�h��ek,��a
\������T��g��M4����2Q �%��Jd�������S��M��W���}��� N���'�������Y\4�bk
n�5|�,��5}m������V��
u}�O6�d����*�����������������jf*�d�a�C7�\��\�e�%�C���.$���mI��J�CB��5 ������6B�u��HB=����H���T��h�c�8�c��1?2>��nQ��/��Q��-d��H��a01������\��'��f%-i�������\LiQ4�9[�tE�n0-f9w�/�a"���"�$��]8���$%�zT������g�-��������q��&sm�� D��������g2��x��A��F
V����3��CE����q~<l)�x��(<�:��,&���;CZL������u�n���f�u~,���T=Co���;���)�&��KW��]D &h���5��71�FYr>cMYI�o���>���9�}\���K�1bd!&��a
1���l
�`�����a��l&>'Zq�|IX�����,;PR�L�<