John A Meinel wrote: > Surely this isn't what you have. You have *no* loop here, and you have > stuff like: > AND > (bayes_token_tmp) NOT IN (SELECT token FROM bayes_token); > > I'm guessing this isn't your last version of the function. > > As far as putting the CREATE TEMP TABLE inside the function, I think the > problem is that the first time it runs, it compiles the function, and > when it gets to the UPDATE/INSERT with the temporary table name, at > compile time it hard-codes that table id. > > I tried getting around it by using "EXECUTE" which worked, but it made > the function horribly slow. So I don't recommend it. > > Anyway, if you want us to evaluate it, you really need to send us the > real final function. > > John > =:->
It is the final function. It doesn't need a loop because of the bayes_token_tmp function I added. The array is passed to it and it returns a record set so I can work off of it like it's a table. So the function works the same way it before, but instead of using SELECT intoken from TEMPTABLE, you use SELECT bayes_token_tmp from bayes_token_tmp(intokenary). I think this is more efficient than the create table overhead, especially because the incoming record set won't be to big. Thanks, schu ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org