3.16.2. ClientColumnDef Previous topic Parent topic Child topic Next topic

This optional parameter allows you to specify an alternate mapping between the fields returned by GetClientQuery and the parameters used to define a Client. If ClientColumnDef is not specified, the mapping is the default as described in Section 3.16.1. GetClientQuery
The format of ClientColumnDef is:
ClientColumnDef n,clientparamname
where n is the column number of the fields as returned by GetClientQuery (starting at 0), and clientparamname is the name of the Client clause parameter or special value GENERIC.
For more information about Client parameters, see Section 3.14. <Client xxxxxx>. There must be at least two, and usually there are multiple, ClientColumnDef parameters. The only ones that must be provided are for Name and Secret. If the specified column has NULL value, then the matching clientparamname will not be set and will assume its default value according to the normal behaviour of the Client clause.
Special clientparamname GENERIC indicates that the column is a list of comma separated clientparamname=value pairs. For examples of this format, see AuthColumnDef in AuthBy SQL
Here is a minimal example. It uses the sample database schema provided in the goodies/ of your Radiator distribution.
GetClientQuery select NASIDENTIFIER, SECRET from RADCLIENTLIST
ClientColumnDef 0, Name
ClientColumnDef 1, Secret
Here is an example that sets Identifier parameter, see Section 3.14.14. Identifier. Column 3 must contain name=value pairs, for example: StatusServer=minimal,RequireMessageAuthenticator=1.
GetClientQuery select NASIDENTIFIER, SECRET, CLIENT_IDENTIFIER, GENERIC \
                      from RADCLIENTLIST
ClientColumnDef 0, Name
ClientColumnDef 1, Secret
ClientColumnDef 2, Identifier
ClientColumnDef 3, GENERIC