Connecting Tech Pros Worldwide Help | Site Map
 
 
LinkBack Thread Tools Search this Thread
  #1  
Old November 22nd, 2005, 08:47 AM
Craig Addleman
Guest
 
Posts: n/a
Default Pl/tcl auto-load problem

How do I use the pltcu unknown module to auto-load a return value from a
select query? I'm trying to boost performance in our databases by
preloading
certain frequently-used variables. Ultimately I'd like to auto-load
prepared queries this way too.

I've figured out how to use pltcu to auto-load a global variable and access
that variable by appending the following lines to unknown.pltcl:
global var1
set var1 abc
Then, in a pltcu procdure, I can access it:
create function get_var1() returns varchar as '
global var1
return $var1
' language 'pltcu';
(returns abc)

What I'd like to do is something like the following in unknown.pltcl:
global ret
spi_exec "select col1 from tablename where col2 = ''xyz''"
set ret $col1
and return the global $ret in pltcu functions.

When I try use spi_exec in unknown.pltcu, I get an error when loading the
module:
New/updated unknown: too many nested calls to Tcl_EvalObj (infinite
loop?)
Abort

I've tried a few other variations, all without success. Any suggestions?
(I'm
using pltcu because I need a trigger function that can write to system
files, and I don't think that can be done with plperl or plpython.
Performance
boosting through hardware upgrades is not a viable option because the
databases are on tablets running Linux with 245 MB ram and damnably limited
battery life.)

Craig Addleman
DBA
www.sharechive.com

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster




  #2  
Old November 22nd, 2005, 08:47 AM
Jan Wieck
Guest
 
Posts: n/a
Default Re: Pl/tcl auto-load problem

It seems that something you added to the unknown handler triggers it to
be called again. Might be that spi_exec isn't defined at the time that
script is evaluated.


Jan


Craig Addleman wrote:[color=blue]
> How do I use the pltcu unknown module to auto-load a return value from a
> select query? I'm trying to boost performance in our databases by
> preloading
> certain frequently-used variables. Ultimately I'd like to auto-load
> prepared queries this way too.
>
> I've figured out how to use pltcu to auto-load a global variable and access
> that variable by appending the following lines to unknown.pltcl:
> global var1
> set var1 abc
> Then, in a pltcu procdure, I can access it:
> create function get_var1() returns varchar as '
> global var1
> return $var1
> ' language 'pltcu';
> (returns abc)
>
> What I'd like to do is something like the following in unknown.pltcl:
> global ret
> spi_exec "select col1 from tablename where col2 = ''xyz''"
> set ret $col1
> and return the global $ret in pltcu functions.
>
> When I try use spi_exec in unknown.pltcu, I get an error when loading the
> module:
> New/updated unknown: too many nested calls to Tcl_EvalObj (infinite
> loop?)
> Abort
>
> I've tried a few other variations, all without success. Any suggestions?
> (I'm
> using pltcu because I need a trigger function that can write to system
> files, and I don't think that can be done with plperl or plpython.
> Performance
> boosting through hardware upgrades is not a viable option because the
> databases are on tablets running Linux with 245 MB ram and damnably limited
> battery life.)
>
> Craig Addleman
> DBA
> www.sharechive.com
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster[/color]


--
#================================================= =====================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================= = JanWieck@Yahoo.com #


---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 205,414 network members.