Accounting queries fail if an attribute is null when supplied as a value for certain column types. Partial line from debug output: radius_xlat: 'UPDATE radacct SET AcctStartTime = '2006-03-02 01:18:04', AcctStartDelay = '', It fails with: rlm_sql (sql): Couldn't update SQL accounting START record - ERROR: invalid input syntax for type bigint: "" Can freeradius substitute a zero if an integer attribute is missing from an accounting packet, instead of just a null value?
On Thu 02 Mar 2006 08:39, trs wrote:
Accounting queries fail if an attribute is null when supplied as a value for certain column types. Partial line from debug output:
radius_xlat: 'UPDATE radacct SET AcctStartTime = '2006-03-02 01:18:04', AcctStartDelay = '',
It fails with:
rlm_sql (sql): Couldn't update SQL accounting START record - ERROR: invalid input syntax for type bigint: ""
Can freeradius substitute a zero if an integer attribute is missing from an accounting packet, instead of just a null value?
Yes. You need: AcctStopDelay = '%{Acct-Delay-Time:-0}' I already fixed this in the Postgresql queries a long time ago (Several years ago from memory). I will check and update the "other" database queries in cvs now :-) If you don't have a particular preference for sql server I recommend using Postgresql as I spent allot of time beating on those queries to make them robust with many different types of NAS and PG is generally more robust than the other databases supported by FreeRADIUS including Oracle (although we have a few installations of it for customers who have a "one database to rule them all" policy) Cheers -- Peter Nixon http://www.peternixon.net/ PGP Key: http://www.peternixon.net/public.asc
Thanks Peter. It seems I'm using the wrong sql.conf :/. I'm using postgres, and while setting this up I thought the postgresql.conf file was included in the sql.conf for stuff specific to postgres. So instead of using that for sql.conf, I modified the default sql.conf to use the postgres driver. Lesson learned. I'll be a bit more attentive next time. Thanks again. On 3/2/06, Peter Nixon <listuser@peternixon.net> wrote:
On Thu 02 Mar 2006 08:39, trs wrote:
Accounting queries fail if an attribute is null when supplied as a value for certain column types. Partial line from debug output:
radius_xlat: 'UPDATE radacct SET AcctStartTime = '2006-03-02 01:18:04', AcctStartDelay = '',
It fails with:
rlm_sql (sql): Couldn't update SQL accounting START record - ERROR: invalid input syntax for type bigint: ""
Can freeradius substitute a zero if an integer attribute is missing from an accounting packet, instead of just a null value?
Yes. You need:
AcctStopDelay = '%{Acct-Delay-Time:-0}'
I already fixed this in the Postgresql queries a long time ago (Several years ago from memory). I will check and update the "other" database queries in cvs now :-)
If you don't have a particular preference for sql server I recommend using Postgresql as I spent allot of time beating on those queries to make them robust with many different types of NAS and PG is generally more robust than the other databases supported by FreeRADIUS including Oracle (although we have a few installations of it for customers who have a "one database to rule them all" policy)
Cheers
--
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
You're welcome. Given that MySQL speaks a fairly basic dialect of (mostly) ANSI SQL sql.conf should actually work with most different brands of SQL servers. Using posgresql.conf will give you some Posgres specific optimisations though. Cheers Peter On Thu 02 Mar 2006 20:36, trs wrote:
Thanks Peter. It seems I'm using the wrong sql.conf :/.
I'm using postgres, and while setting this up I thought the postgresql.conf file was included in the sql.conf for stuff specific to postgres. So instead of using that for sql.conf, I modified the default sql.conf to use the postgres driver. Lesson learned.
I'll be a bit more attentive next time. Thanks again.
On 3/2/06, Peter Nixon <listuser@peternixon.net> wrote:
On Thu 02 Mar 2006 08:39, trs wrote:
Accounting queries fail if an attribute is null when supplied as a value for certain column types. Partial line from debug output:
radius_xlat: 'UPDATE radacct SET AcctStartTime = '2006-03-02 01:18:04', AcctStartDelay = '',
It fails with:
rlm_sql (sql): Couldn't update SQL accounting START record - ERROR: invalid input syntax for type bigint: ""
Can freeradius substitute a zero if an integer attribute is missing from an accounting packet, instead of just a null value?
Yes. You need:
AcctStopDelay = '%{Acct-Delay-Time:-0}'
I already fixed this in the Postgresql queries a long time ago (Several years ago from memory). I will check and update the "other" database queries in cvs now :-)
If you don't have a particular preference for sql server I recommend using Postgresql as I spent allot of time beating on those queries to make them robust with many different types of NAS and PG is generally more robust than the other databases supported by FreeRADIUS including Oracle (although we have a few installations of it for customers who have a "one database to rule them all" policy)
Cheers
--
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
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- Peter Nixon http://www.peternixon.net/ PGP Key: http://www.peternixon.net/public.asc
participants (2)
-
Peter Nixon -
trs