Many thanks for your replay.

How i can call  stored procedure in unlang ?




On Tue, Mar 5, 2013 at 1:50 AM, Arran Cudbard-Bell <a.cudbardb@freeradius.org> wrote:

On 4 Mar 2013, at 16:36, Mehdi Ravanbakhsh <babakco@gmail.com> wrote:

> I need to transfer  one radacc Table record to  another table (backup radacc) , Transfer means insert in new table and Dell from  first one  and  this is happen every time   each user get  [ Acct-Status-Type == 'Stop ] .
>
>  i use perl script to do some calculate and return  3 replay attribute and change 3 check attribute in radcheck table  and Unlang just work to  execute perl script .

Ok.

>
> so in this  case i need to use Perl  in general but i can use unlang and Perl to connect and update database by SQL query  i need to know that  which one is faster  and which way has more performance :
>
> Perl Directly connecting to PostgreSQL database

Perl as you can select all the values in one query, or the fastest would be to create a stored procedure and call it with unlang, but i'm not that familiar with PgSQL procedures so I can't tell you how to do that.

>
> OR
>
> Use Unlang to connect to database by freeradius PGSQL database back-end.
>
>
> and in final i am not understand  meaning of   " Likely unlang if you only want to retrieve one value."  it means that is limitation    SQL  query in UnLang  ?

Yes. Unlang/XLAT queries will only assign the value of the first column.

update request {
        Tmp-String-0 = "%{sql:SELECT `a`, `b` FROM `foo` WHERE `bar` = 1;}"
}

Tmp-String-0 will only hold the value of column a.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html