Apologies for Mr. Peter Nixon and updated sqlippool debug

Guilherme Franco guilhermefranco at gmail.com
Tue Sep 26 13:45:12 CEST 2006


Hi,

This is what happens:

SQL> UPDATE radippool   SET nasipaddress = '', pool_key =
0,callingstationid = '',   expiry_time = current_timestamp - interval
'1' second(1)   WHERE pool_key = '2398432';

0 rows updated.

SQL> SELECT framedipaddress FROM radippool   WHERE pool_name = 'FOO'
AND expiry_time < current_timestamp AND ROWNUM = 1   ORDER BY (select
username from radippool where username <> ''), (select
callingstationid from radippool where callingstationid <>
''),expiry_time   FOR UPDATE;

no rows selected

SQL>

Thank you.


On 9/26/06, Peter Nixon <listuser at peternixon.net> wrote:
> On Tue 26 Sep 2006 00:49, Guilherme Franco wrote:
> > Mr. Nixon,
> >
> > Please accept my humble apologies for the earlier spam.
> >
> > I would like to test your experimental module sqlippool in Oracle and
> > in return, contribute somehow with my working configs and tables to
> > the CVS.
> >
> > I understand that you are a busy man, so please excuse me if I did bother
> > you.
> >
> > This question is not directed only to you but I'm asking it because
> > module rlm_sqlippool have pnixon ownership. Please correct me with I'm
> > wrong.
> >
> > With all the help from yours and everyone from freeradius-user-list,
> > I've managed to make some progress with the sqlippool in Oracle, with
> > just one error left.
> >
> > I'm not a SQL newbie, but I'm struggling to debug that error because I
> > can't see the originating query as it is apparently mounted on the fly
> > in lib/rlm_sqlippool* objects.
> >
> > I have C knowledge but didn't discovered what might be causing the
> > error in rlm_sqlippool.c.
> >
> > Currently, I'm using freeradius-snapshot-20060925.
> >
> > I've compiled it with  --enable-developer and ran radiusd -X through gdb.
> >
> > The error happens even when I'm using the default v1.4 of
> > sqlippool.conf, without modifying it:
> > ----------------------------------------------------------
> > Processing the post-auth section of radiusd.conf
> > modcall:  entering group post-auth for request 0
> > rlm_sql (sql): Reserving sql socket id: 2
> > radius_xlat:  'BEGIN'
> > BEGIN
> > rlm_sql_oracle: execute query failed in sql_query: ORA-06550: line 1,
> > column 5: PLS-00103: Encountered the symbol "end-of-file" when
> > expecting one of the following:     begin case declare exit for goto
> > if loop mod null pragma    raise return select update while with <an
> > identifier>    <a double-quoted delimited-identifier> <a bind
> > variable> <<    close current delete fetch lock insert open rollback
> >  savepoint set sql execute commit forall merge pipe
> > rlm_sql_oracle: OCI_SERVER_NORMAL
> > sqlippool_command: database query error
> > -----------------------------------------------------------
> >
> > Next is an output of Oracle's compatible version of sqlippool.conf
> > that I've made. It works, but the IP from the sql pool does not get
> > allocated because of the previous error:
> >
> > -----------------------------------------------------------
> > UPDATE radippool   SET nasipaddress = '', pool_key = 0,
> > callingstationid = '',   expiry_time = current_timestamp - interval
> > '1' second(1)   WHERE pool_key = '2398432'
> > SELECT framedipaddress FROM radippool   WHERE pool_name = 'FOO' AND
> > expiry_time < current_timestamp AND ROWNUM = 1   ORDER BY (select
> > username from radippool where username <> ''), (select
> > callingstationid from radippool where callingstationid <> ''),
> > expiry_time   FOR UPDATE
> > sqlippool_query1: SQL query did not succeed
>
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> What happens when you run this query manually?
>
>
> --
>
> Peter Nixon
> http://www.peternixon.net/
> PGP Key: http://www.peternixon.net/public.asc
>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>
>
>



More information about the Freeradius-Users mailing list