unknown.pltcl

来自「关系型数据库 Postgresql 6.5.2」· PLTCL 代码 · 共 66 行

PLTCL
66
字号
#---------------------------------------------------------------------# Support for unknown command#---------------------------------------------------------------------proc unknown {proname args} {    upvar #0	__PLTcl_unknown_support_plan_modname	p_mod    upvar #0	__PLTcl_unknown_support_plan_modsrc	p_src    #-----------------------------------------------------------    # On first call prepare the plans    #-----------------------------------------------------------    if {![info exists p_mod]} {        set p_mod [spi_prepare 					\		"select modname from pltcl_modfuncs		\		 where funcname = \$1" name]        set p_src [spi_prepare					\		"select modseq, modsrc from pltcl_modules	\		 where modname = \$1				\		 order by modseq" name]    }    #-----------------------------------------------------------    # Lookup the requested function in pltcl_modfuncs    #-----------------------------------------------------------    set n [spi_execp -count 1 $p_mod [list [quote $proname]]]    if {$n != 1} {	#-----------------------------------------------------------	# Not found there either - now it's really unknown	#-----------------------------------------------------------        return -code error "unknown command '$proname'"    }    #-----------------------------------------------------------    # Collect the source pieces from pltcl_modules    #-----------------------------------------------------------    set src ""    spi_execp $p_src [list [quote $modname]] {        append src $modsrc    }    #-----------------------------------------------------------    # Load the source into the interpreter    #-----------------------------------------------------------    if {[catch {            uplevel #0 "$src"        } msg]} {	elog NOTICE "pltcl unknown: error while loading module $modname"	elog WARN $msg    }    #-----------------------------------------------------------    # This should never happen    #-----------------------------------------------------------    if {[catch {info args $proname}]} {        return -code error \	    "unknown command '$proname' (still after loading module $modname)"    }    #-----------------------------------------------------------    # Finally simulate the initial procedure call    #-----------------------------------------------------------    return [uplevel 1 $proname $args]}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?