Postgresql 中文操作指南

44.12. Tcl Procedure Names #

在 PostgreSQL 中,只要参数的数目或其类型不同,就可以对不同的函数定义使用相同的函数名称。但是,Tcl 要求所有过程名称都不同。PL/Tcl 通过使内部 Tcl 过程名称包含来自系统表 pg_proc 的函数的对象 ID 作为其名称的一部分来处理此问题。因此,具有相同名称但参数类型不同的 PostgreSQL 函数也将成为不同的 Tcl 过程。这对 PL/Tcl 程序员来说通常不是问题,但它在调试时可能可见。

In PostgreSQL, the same function name can be used for different function definitions as long as the number of arguments or their types differ. Tcl, however, requires all procedure names to be distinct. PL/Tcl deals with this by making the internal Tcl procedure names contain the object ID of the function from the system table pg_proc as part of their name. Thus, PostgreSQL functions with the same name and different argument types will be different Tcl procedures, too. This is not normally a concern for a PL/Tcl programmer, but it might be visible when debugging.