[asterisk-users] Error: 'LENGTH' is not a recognized built-in function name

Brian LaVallee b.lavallee at globaltank.jp
Mon Aug 11 00:14:27 CDT 2014

On 8/11/14, 11:31, Matthew Jordan wrote:
> On Sun, Aug 10, 2014 at 5:02 PM, Deepak Rawat
> <deepaksingh.rawat at gmail.com> wrote:
>> On Mon, Aug 11, 2014 at 3:29 AM, Deepak Rawat <deepaksingh.rawat at gmail.com>
>> wrote:
>>> Hi,
>>> I modified the query in res/res_config_odbc.c.
>>> Original:  "SELECT MAX(LENGTH(var_val)) FROM %s WHERE filename='%s'"
>>> Modified: "SELECT MAX(LEN(var_val)) FROM %s WHERE filename='%s'"
>>> I rebuilt the code and installed Asterisk again. Now static realtime is
>>> working. Should I file a bug report?
> You're more than welcome to; at the same time, the number of people
> using MS SQL Server with Asterisk is not tremendously high - at least
> when compared with the alternatives. Unfortunately, this is one place
> where making things compatible is problematic: MySQL and PostgreSQL
> (which are far more likely to be used with Asterisk) along with Oracle
> use LENGTH, not LEN.

Another option, just add LENGTH as a user-defined function to MS SQL.

||-- Something like this...|
    RETURN ( LEN(@input) )

> Your solution, as it is currently, wouldn't be acceptable, as it would
> cause far more problems than it would solve. About the only way I
> could see solving this would be to make it configurable some place.
> Given the relatively few number of people who use MS SQL Server, I
> wouldn't expect this issue to receive a lot of attention without a
> patch.

More information about the asterisk-users mailing list