{"push_id":1992749196,"size":2,"distinct_size":2,"ref":"refs/heads/function-execute-on","head":"596e7f35e5f7a099293f4cb97f4b2f3bc3026d5f","before":"f053cee718e6dfef8a20e2506cec89e5fd8dab77","commits":[{"sha":"3f2d40470598c838b69b2ff13e88d7db590605a3","author":{"name":"Heikki Linnakangas","email":"05628fb5af084483329a74d57058afe6d592a16d@pivotal.io"},"message":"Add support for CREATE FUNCTION EXECUTE ON [MASTER | ALL SEGMENTS]\n\nWe already had a hack for the EXECUTE ON ALL SEGMENTS case, by setting\nprodataaccess='s'. This exposes the functionality to users via DDL, and adds\nthe support for the EXECUTE ON MASTER case.\n\nThere was discussion on gpdb-dev about also supporting ON MASTER AND ALL\nSEGMENTS, but that is not implemented yet. There is no handy \"locus\" in the\nplanner to represent that. There was also discussion about making a\ngp_segment_id column implicitly available for functions, but that is also\nnot implemented yet.\n\nThe old behavior was that a function that if a function was marked as\nIMMUTABLE, it could be executed anywhere. Otherwise it was always executed\non the master. For backwards-compatibility, this keeps that behavior for\nEXECUTE ON ANY (the default), so even if a function is marked as EXECUTE ON\nANY, it will always be executed on the master unless it's IMMUTABLE.\n\nThere is no support for these new options in ORCA. Using any ON MASTER or\nON ALL SEGMENTS functions in a query cause ORCA to fall back. This is the\nsame as with the prodataaccess='s' hack that this replaces, but now that it\nis more user-visible, it would be nice to teach ORCA about it.\n\nThe new options are only supported for set-returning functions. There is\nmechanism to track where individual expressions should be executed, in the\nplanner, so that would require much more work. Likewise, they cannot be\nused in target list. So you cannot do \"SELECT on_master_func()\", you must\ndo \"SELECT * FROM on_master_funct()\" instead. EXECUTE ON ANY functions,\nwhich is the default, work the same as before.","distinct":true,"url":"https://api.github.com/repos/hlinnaka/gpdb/commits/3f2d40470598c838b69b2ff13e88d7db590605a3"},{"sha":"596e7f35e5f7a099293f4cb97f4b2f3bc3026d5f","author":{"name":"Heikki Linnakangas","email":"05628fb5af084483329a74d57058afe6d592a16d@pivotal.io"},"message":"Take advantage of the new EXECUTE ON syntax in gp_toolkit.","distinct":true,"url":"https://api.github.com/repos/hlinnaka/gpdb/commits/596e7f35e5f7a099293f4cb97f4b2f3bc3026d5f"}]}
{"actor":{"display_login":"hlinnaka"}}