[BUGS] Missing "E'" in pltcl_loadmod

Поиск
Список
Период
Сортировка
От mestan@dix.cz
Тема [BUGS] Missing "E'" in pltcl_loadmod
Дата
Msg-id alpine.DEB.2.11.1702251701030.3920@Sandal.Woodpecker
обсуждение исходный текст
Ответы Re: [BUGS] Missing "E'" in pltcl_loadmod
Список pgsql-bugs
Hi,

in lates version script pltcl_loadmod missed E' in insert
command. Resul is, that module loading not work alt all. Yes,
module is loaded, but loaded code is maformed.

Example on module unknown.pltcl:

Beginning of function "unknown":
In psql: select modsrc from pltcl_modules;

Malformed code:

 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]                                                  +
     }                                                                                    +


Good code after fix:

 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]                                                  +
     }                                                                                    +


There is simple patch:

mestan@forest:/usr/lib/postgresql/9.6/bin$ diff pltcl_loadmod-original pltcl_loadmod
453c453
<                       '$xname', $i, '$xpart')"
\
---
>                       '$xname', $i, E'$xpart')"
\

After that, thinks work well.


Thanks Mestan



-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [BUGS] BUG #14568: timezone WIT is not support
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [BUGS] Missing "E'" in pltcl_loadmod