================================================================================ basic ================================================================================ drop function foo(bigint, text); -------------------------------------------------------------------------------- (source_file (drop_function_statement (drop_function_item (identifier) (identifier) (identifier)))) ================================================================================ many at once ================================================================================ drop function foo(bigint, text), foo(bigint); -------------------------------------------------------------------------------- (source_file (drop_function_statement (drop_function_item (identifier) (identifier) (identifier)) (drop_function_item (identifier) (identifier)))) ================================================================================ without args ================================================================================ drop function foo; -------------------------------------------------------------------------------- (source_file (drop_function_statement (drop_function_item (identifier)))) ================================================================================ with no args ================================================================================ drop function foo(); -------------------------------------------------------------------------------- (source_file (drop_function_statement (drop_function_item (identifier)))) ================================================================================ cascade ================================================================================ drop function foo(bigint) cascade; -------------------------------------------------------------------------------- (source_file (drop_function_statement (drop_function_item (identifier) (identifier)))) ================================================================================ restrict ================================================================================ drop function foo(bigint) restrict; -------------------------------------------------------------------------------- (source_file (drop_function_statement (drop_function_item (identifier) (identifier)))) ================================================================================ if exists ================================================================================ drop function if exists foo(); -------------------------------------------------------------------------------- (source_file (drop_function_statement (drop_function_item (if_exists) (identifier)))) ================================================================================ with argnames ================================================================================ drop function if exists foo(bar text, bigint); -------------------------------------------------------------------------------- (source_file (drop_function_statement (drop_function_item (if_exists) (identifier) (var_declaration (identifier) (identifier)) (identifier))))