Project: YugabyteDB (App Definition and Development / Database)
File: alter_function,subprogram_signature,arg_decl,special_fn_and_proc_attribute,alterable_fn_and_proc_attribute,alterable_fn_only_attribute,volatility,on_null_input,parallel_mode.diagram.md

<svg class="rrdiagram" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="599" height="160" viewbox="0 0 599 160"><path class="connector" d="M0 22h15m58 0h10m83 0h10m133 0h10m25 0h30m155 0h20m-190 0q5 0 5 5v8q0 5 5 5h165q5 0 5-5v-8q0-5 5-5m5 0h10m25 0h7m2 0h2m2 0h2m-599 50h2m2 0h2m2 0h27m202 0h241m-458 0q5 0 5 5v35q0 5 5 5h25m-5 0q-5 0-5-5v-17q0-5 5-5h264q5 0 5 5v17q0 5-5 5m-259 0h20m214 0h20m-249 0q5 0 5 5v20q0 5 5 5h5m184 0h35q5 0 5-5v-20q0-5 5-5m5 0h50m79 0h20m-114 0q5 0 5 5v8q0 5 5 5h89q5 0 5-5v-8q0-5 5-5m5 0h5q5 0 5-5v-35q0-5 5-5m5 0h15"/><polygon points="0,29 5,22 0,15" style="fill:black;stroke-width:0"/><rect class="literal" x="15" y="5" width="58" height="25" rx="7"/><text class="text" x="25" y="22">ALTER</text><rect class="literal" x="83" y="5" width="83" height="25" rx="7"/><text class="text" x="93" y="22">FUNCTION</text><a xlink:href="../../../syntaxresources/grammardiagrams#subprogram-name"><rect class="rule" x="176" y="5" width="133" height="25"/><text class="text" x="186" y="22">subprogramname</text></a><rect class="literal" x="319" y="5" width="25" height="25" rx="7"/><text class="text" x="329" y="22">(</text><a xlink:href="#subprogram-signature"><rect class="rule" x="374" y="5" width="155" height="25"/><text class="text" x="384" y="22">subprogramsignature</text></a><rect class="literal" x="559" y="5" width="25" height="25" rx="7"/><text class="text" x="569" y="22">)</text><a xlink:href="#special-fn-and-proc-attribute"><rect class="rule" x="35" y="55" width="202" height="25"/><text class="text" x="45" y="72">specialfnandprocattribute</text></a><a xlink:href="#alterable-fn-and-proc-attribute"><rect class="rule" x="75" y="100" width="214" height="25"/><text class="text" x="85" y="117">alterablefnandprocattribute</text></a><a xlink:href="#alterable-fn-only-attribute"><rect class="rule" x="75" y="130" width="184" height="25"/><text class="text" x="85" y="147">alterablefnonly_attribute</text></a><rect class="literal" x="359" y="100" width="79" height="25" rx="7"/><text class="text" x="369" y="117">RESTRICT</text><polygon points="489,79 493,79 493,65 489,65" style="fill:black;stroke-width:0"/></svg> <svg class="rrdiagram" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="140" height="65" viewbox="0 0 140 65"><path class="connector" d="M0 52h35m-5 0q-5 0-5-5v-20q0-5 5-5h28m24 0h28q5 0 5 5v20q0 5-5 5m-5 0h35"/><polygon points="0,59 5,52 0,45" style="fill:black;stroke-width:0"/><rect class="literal" x="58" y="5" width="24" height="25" rx="7"/><text class="text" x="68" y="22">,</text><a xlink:href="#arg-decl"><rect class="rule" x="35" y="35" width="70" height="25"/><text class="text" x="45" y="52">arg_decl</text></a><polygon points="136,59 140,59 140,45 136,45" style="fill:black;stroke-width:0"/></svg> <svg class="rrdiagram" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="364" height="50" viewbox="0 0 364 50"><path class="connector" d="M0 22h35m81 0h20m-116 0q5 0 5 5v8q0 5 5 5h91q5 0 5-5v-8q0-5 5-5m5 0h30m80 0h20m-115 0q5 0 5 5v8q0 5 5 5h90q5 0 5-5v-8q0-5 5-5m5 0h10m73 0h15"/><polygon points="0,29 5,22 0,15" style="fill:black;stroke-width:0"/><a xlink:href="../../../syntaxresources/grammardiagrams#arg-name"><rect class="rule" x="35" y="5" width="81" height="25"/><text class="text" x="45" y="22">argname</text></a><a xlink:href="../../../syntaxresources/grammardiagrams#arg-mode"><rect class="rule" x="166" y="5" width="80" height="25"/><text class="text" x="176" y="22">argmode</text></a><a xlink:href="../../../syntaxresources/grammardiagrams#arg-type"><rect class="rule" x="276" y="5" width="73" height="25"/><text class="text" x="286" y="22">arg_type</text></a><polygon points="360,29 364,29 364,15 360,15" style="fill:black;stroke-width:0"/></svg> <svg class="rrdiagram" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

width="515" height="230" viewbox="0 0 515 230"><path class="connector" d="M0 22h35m71 0h10m36 0h10m133 0h205m-475 25q0 5 5 5h5m66 0h10m36 0h30m84 0h54m-148 25q0 5 5 5h5m117 0h6q5 0 5-5m-138 30q0 5 5 5h5m118 0h5q5 0 5-5m-143-55q5 0 5 5v80q0 5 5 5h5m116 0h7q5 0 5-5v-80q0-5 5-5m5 0h170q5 0 5-5m-465 120q0 5 5 5h5m43 0h10m71 0h10m108 0h208q5 0 5-5m-470-145q5 0 5 5v170q0 5 5 5h25m38 0h20m-73 0q5 0 5 5v8q0 5 5 5h48q5 0 5-5v-8q0-5 5-5m5 0h10m78 0h10m38 0h10m91 0h10m120 0h5q5 0 5-5v-170q0-5 5-5m5 0h15"/><polygon points="0,29 5,22 0,15" style="fill:black;stroke-width:0"/><rect class="literal" x="35" y="5" width="71" height="25" rx="7"/><text class="text" x="45" y="22">RENAME</text><rect class="literal" x="116" y="5" width="36" height="25" rx="7"/><text class="text" x="126" y="22">TO</text><a xlink:href="../../../syntaxresources/grammardiagrams#subprogram-name"><rect class="rule" x="162" y="5" width="133" height="25"/><text class="text" x="172" y="22">subprogramname</text></a><rect class="literal" x="35" y="35" width="66" height="25" rx="7"/><text class="text" x="45" y="52">OWNER</text><rect class="literal" x="111" y="35" width="36" height="25" rx="7"/><text class="text" x="121" y="52">TO</text><a xlink:href="../../../syntaxresources/grammardiagrams#role-name"><rect class="rule" x="177" y="35" width="84" height="25"/><text class="text" x="187" y="52">rolename</text></a><rect class="literal" x="177" y="65" width="117" height="25" rx="7"/><text class="text" x="187" y="82">CURRENTROLE</text><rect class="literal" x="177" y="95" width="118" height="25" rx="7"/><text class="text" x="187" y="112">CURRENTUSER</text><rect class="literal" x="177" y="125" width="116" height="25" rx="7"/><text class="text" x="187" y="142">SESSIONUSER</text><rect class="literal" x="35" y="155" width="43" height="25" rx="7"/><text class="text" x="45" y="172">SET</text><rect class="literal" x="88" y="155" width="71" height="25" rx="7"/><text class="text" x="98" y="172">SCHEMA</text><a xlink:href="../../../syntaxresources/grammardiagrams#schema-name"><rect class="rule" x="169" y="155" width="108" height="25"/><text class="text" x="179" y="172">schemaname</text></a><rect class="literal" x="55" y="185" width="38" height="25" rx="7"/><text class="text" x="65" y="202">NO</text><rect class="literal" x="123" y="185" width="78" height="25" rx="7"/><text class="text" x="133" y="202">DEPENDS</text><rect class="literal" x="211" y="185" width="38" height="25" rx="7"/><text class="text" x="221" y="202">ON</text><rect class="literal" x="259" y="185" width="91" height="25" rx="7"/><text class="text" x="269" y="202">EXTENSION</text><a xlink:href="../../../syntaxresources/grammardiagrams#extension-name"><rect class="rule" x="360" y="185" width="120" height="25"/><text class="text" x="370" y="202">extension_name</text></a><polygon points="511,29 515,29 515,15 511,15" style="fill:black;stroke-width:0"/></svg> <svg class="rrdiagram" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="482" height="215" viewbox="0 0 482 215"><path class="connector" d="M0 22h35m43 0h10m168 0h30m36 0h10m52 0h63m-171 25q0 5 5 5h5m30 0h10m52 0h54q5 0 5-5m-166-25q5 0 5 5v50q0 5 5 5h5m54 0h10m77 0h5q5 0 5-5v-50q0-5 5-5m5 0h20m-442 85q0 5 5 5h5m59 0h10m168 0h180q5 0 5-5m-432 30q0 5 5 5h5m59 0h10m42 0h306q5 0 5-5m-437-115q5 0 5 5v140q0 5 5 5h25m83 0h20m-118 0q5 0 5 5v8q0 5 5 5h93q5 0 5-5v-8q0-5 5-5m5 0h10m80 0h30m75 0h20m-110 0q5 0 5 5v20q0 5 5 5h5m74 0h6q5 0 5-5v-20q0-5 5-5m5 0h79q5 0 5-5v-140q0-5 5-5m5 0h15"/><polygon points="0,29 5,22 0,15" style="fill:black;stroke-width:0"/><rect class="literal" x="35" y="5" width="43" height="25" rx="7"/><text class="text" x="45" y="22">SET</text><a xlink:href="../../../syntaxresources/grammardiagrams#configuration-parameter"><rect class="rule" x="88" y="5" width="168" height="25"/><text class="text" x="98" y="22">configurationparameter</text></a><rect class="literal" x="286" y="5" width="36" height="25" rx="7"/><text class="text" x="296" y="22">TO</text><a xlink:href="../../../syntaxresources/grammardiagrams#value"><rect class="rule" x="332" y="5" width="52" height="25"/><text class="text" x="342" y="22">value</text></a><rect class="literal" x="286" y="35" width="30" height="25" rx="7"/><text class="text" x="296" y="52">=</text><a xlink:href="../../../syntaxresources/grammardiagrams#value"><rect class="rule" x="326" y="35" width="52" height="25"/><text class="text" x="336" y="52">value</text></a><rect class="literal" x="286" y="65" width="54" height="25" rx="7"/><text class="text" x="296" y="82">FROM</text><rect class="literal" x="350" y="65" width="77" height="25" rx="7"/><text class="text" x="360" y="82">CURRENT</text><rect class="literal" x="35" y="95" width="59" height="25" rx="7"/><text class="text" x="45" y="112">RESET</text><a xlink:href="../../../syntaxresources/grammardiagrams#configuration-parameter"><rect class="rule" x="104" y="95" width="168" height="25"/><text class="text" x="114" y="112">configurationparameter</text></a><rect class="literal" x="35" y="125" width="59" height="25" rx="7"/><text class="text" x="45" y="142">RESET</text><rect class="literal" x="104" y="125" width="42" height="25" rx="7"/><text class="text" x="114" y="142">ALL</text><rect class="literal" x="55" y="155" width="83" height="25" rx="7"/><text class="text" x="65" y="172">EXTERNAL</text><rect class="literal" x="168" y="155" width="80" height="25" rx="7"/><text class="text" x="178" y="172">SECURITY</text><rect class="literal" x="278" y="155" width="75" height="25" rx="7"/><text class="text" x="288" y="172">INVOKER</text><rect class="literal" x="278" y="185" width="74" height="25" rx="7"/><text class="text" x="288" y="202">DEFINER</text><polygon points="478,29 482,29 482,15 478,15" style="fill:black;stroke-width:0"/></svg> <svg class="rrdiagram" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

width="263" height="200" viewbox="0 0 263 200"><path class="connector" d="M0 22h35m70 0h143m-223 25q0 5 5 5h5m104 0h94q5 0 5-5m-213 30q0 5 5 5h5m80 0h10m103 0h5q5 0 5-5m-213 30q0 5 5 5h25m45 0h20m-80 0q5 0 5 5v8q0 5 5 5h55q5 0 5-5v-8q0-5 5-5m5 0h10m91 0h12q5 0 5-5m-213 45q0 5 5 5h5m52 0h10m77 0h59q5 0 5-5m-218-130q5 0 5 5v155q0 5 5 5h5m57 0h10m77 0h54q5 0 5-5v-155q0-5 5-5m5 0h15"/><polygon points="0,29 5,22 0,15" style="fill:black;stroke-width:0"/><a xlink:href="#volatility"><rect class="rule" x="35" y="5" width="70" height="25"/><text class="text" x="45" y="22">volatility</text></a><a xlink:href="#on-null-input"><rect class="rule" x="35" y="35" width="104" height="25"/><text class="text" x="45" y="52">onnullinput</text></a><rect class="literal" x="35" y="65" width="80" height="25" rx="7"/><text class="text" x="45" y="82">PARALLEL</text><a xlink:href="#parallel-mode"><rect class="rule" x="125" y="65" width="103" height="25"/><text class="text" x="135" y="82">parallelmode</text></a><rect class="literal" x="55" y="95" width="45" height="25" rx="7"/><text class="text" x="65" y="112">NOT</text><rect class="literal" x="130" y="95" width="91" height="25" rx="7"/><text class="text" x="140" y="112">LEAKPROOF</text><rect class="literal" x="35" y="140" width="52" height="25" rx="7"/><text class="text" x="45" y="157">COST</text><a xlink:href="../../../syntaxresources/grammardiagrams#int-literal"><rect class="rule" x="97" y="140" width="77" height="25"/><text class="text" x="107" y="157">intliteral</text></a><rect class="literal" x="35" y="170" width="57" height="25" rx="7"/><text class="text" x="45" y="187">ROWS</text><a xlink:href="../../../syntaxresources/grammardiagrams#int-literal"><rect class="rule" x="102" y="170" width="77" height="25"/><text class="text" x="112" y="187">int_literal</text></a><polygon points="259,29 263,29 263,15 259,15" style="fill:black;stroke-width:0"/></svg> <svg class="rrdiagram" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="162" height="95" viewbox="0 0 162 95"><path class="connector" d="M0 22h35m92 0h20m-122 25q0 5 5 5h5m66 0h31q5 0 5-5m-117-25q5 0 5 5v50q0 5 5 5h5m79 0h18q5 0 5-5v-50q0-5 5-5m5 0h15"/><polygon points="0,29 5,22 0,15" style="fill:black;stroke-width:0"/><rect class="literal" x="35" y="5" width="92" height="25" rx="7"/><text class="text" x="45" y="22">IMMUTABLE</text><rect class="literal" x="35" y="35" width="66" height="25" rx="7"/><text class="text" x="45" y="52">STABLE</text><rect class="literal" x="35" y="65" width="79" height="25" rx="7"/><text class="text" x="45" y="82">VOLATILE</text><polygon points="158,29 162,29 162,15 158,15" style="fill:black;stroke-width:0"/></svg> <svg class="rrdiagram" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="386" height="95" viewbox="0 0 386 95"><path class="connector" d="M0 22h35m67 0h10m38 0h10m52 0h10m57 0h92m-346 25q0 5 5 5h5m77 0h10m52 0h10m38 0h10m52 0h10m57 0h5q5 0 5-5m-341-25q5 0 5 5v50q0 5 5 5h5m63 0h258q5 0 5-5v-50q0-5 5-5m5 0h15"/><polygon points="0,29 5,22 0,15" style="fill:black;stroke-width:0"/><rect class="literal" x="35" y="5" width="67" height="25" rx="7"/><text class="text" x="45" y="22">CALLED</text><rect class="literal" x="112" y="5" width="38" height="25" rx="7"/><text class="text" x="122" y="22">ON</text><rect class="literal" x="160" y="5" width="52" height="25" rx="7"/><text class="text" x="170" y="22">NULL</text><rect class="literal" x="222" y="5" width="57" height="25" rx="7"/><text class="text" x="232" y="22">INPUT</text><rect class="literal" x="35" y="35" width="77" height="25" rx="7"/><text class="text" x="45" y="52">RETURNS</text><rect class="literal" x="122" y="35" width="52" height="25" rx="7"/><text class="text" x="132" y="52">NULL</text><rect class="literal" x="184" y="35" width="38" height="25" rx="7"/><text class="text" x="194" y="52">ON</text><rect class="literal" x="232" y="35" width="52" height="25" rx="7"/><text class="text" x="242" y="52">NULL</text><rect class="literal" x="294" y="35" width="57" height="25" rx="7"/><text class="text" x="304" y="52">INPUT</text><rect class="literal" x="35" y="65" width="63" height="25" rx="7"/><text class="text" x="45" y="82">STRICT</text><polygon points="382,29 386,29 386,15 382,15" style="fill:black;stroke-width:0"/></svg> <svg class="rrdiagram" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="166" height="95" viewbox="0 0 166 95"><path class="connector" d="M0 22h35m69 0h47m-126 25q0 5 5 5h5m96 0h5q5 0 5-5m-121-25q5 0 5 5v50q0 5 5 5h5m51 0h50q5 0 5-5v-50q0-5 5-5m5 0h15"/><polygon points="0,29 5,22 0,15" style="fill:black;stroke-width:0"/><rect class="literal" x="35" y="5" width="69" height="25" rx="7"/><text class="text" x="45" y="22">UNSAFE</text><rect class="literal" x="35" y="35" width="96" height="25" rx="7"/><text class="text" x="45" y="52">RESTRICTED</text><rect class="literal" x="35" y="65" width="51" height="25" rx="7"/><text class="text" x="45" y="82">SAFE</text><polygon points="162,29 166,29 166,15 162,15" style="fill:black;stroke-width:0"/></svg>