On 13/09/11 10:57, Phil Mayers wrote:
On 13/09/11 08:59, Fajar A. Nugraha wrote:


That's what we currently do (for another purpose, not for dynamic
client). However:
- I lost load-balancing feature that comes with redundant-load-balance
- imagine having to create 8 if-elsif block to properly catch error
when working with 8 sql nodes, and write the same sql query 8 times in
the configuration file. Works, but kinda messy.

With current sql module (that only reads nas list from sql during
startup/HUP) I can use one sql/mysql/*.conf to specify the query, and
have each sql instance $INCLUDE it. If we can do similar thing with
"%{sql:" expansion (e.g. store the query in some temporary internal
variable/attribute) it'd be reduce the measiness greatly, but I
haven't found out how to do it yet.

You can't. It's not currently possible, and would require changes to the
source code.

Wait, I think I've misunderstood you.

Do you mean something like this?

update control {
  SQL-Query := "select * from foo where bar=1"
}
sql_redundant_xlat
# output now in control:Tmp-String-0

...then in policy.conf:

policy {
  sql_redundant_xlat {
    update control {
      Tmp-String-0 := "%{sql1:%{control:SQL-Query}}"
    }
    if (control:Tmp-String-0 == "") {
      update control {
        Tmp-String-0 := "%{sql2:%{control:SQL-Query}}"
      }
    }
  }
}
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to