]> granicus.if.org Git - postgresql/commit
plpgsql's exec_simple_cast_value() mistakenly supposed that it could bypass
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 2 Apr 2009 01:16:25 +0000 (01:16 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 2 Apr 2009 01:16:25 +0000 (01:16 +0000)
commitc1b0788a9ad50fa03bfb432bb86fc0f777f16a12
treeb4622a4a5520d21688fd736dfed0d10787259356
parentb7578b5ce2b873bb6afe2fd64ab80674ea4e2237
plpgsql's exec_simple_cast_value() mistakenly supposed that it could bypass
casting effort whenever the input value was NULL.  However this prevents
application of not-null domain constraints in the cases that use this
function, as illustrated in bug #4741.  Since this function isn't meant
for use in performance-critical paths anyway, this certainly seems like
another case of "premature optimization is the root of all evil".

Back-patch as far as 8.2; older versions made no effort to enforce
domain constraints here anyway.
src/pl/plpgsql/src/pl_exec.c