[asterisk-dev] NULL from MySQL database not NULL?

Chris Maciejewski chris at wima.co.uk
Wed May 6 10:57:30 CDT 2009


Hi,

I am not sure if it is a bug, but Asterisk SVN-branch-1.6.1-r190371 +
Addons 1.6.1 behaves in the following way:
(assuming the following query returns 'null' from DB: "SELECT
some_null_col FROM table WHERE where id = 1")

extensions.conf:
exten => 601,1,MYSQL(Connect connid1 ${DBHOST} ${DBUSER} ${DBPASS} ${DBNAME})
exten => 601,n,MYSQL(Query resultid1 ${connid1} SELECT some_null_col
FROM table WHERE where id = 1)
exten => 601,n,MYSQL(Fetch fetchid1 ${resultid1} X-DB-null)
exten => 601,n,MYSQL(Clear ${resultid1})
exten => 601,n,MYSQL(Disconnect ${connid1})
exten => 601,n,NoOp(X-DB-nullt: ${X-DB-null})
exten => 601,n,NoOp(ISNULL = ${ISNULL(${X-DB-null})})

console:
    -- Executing [601 at test:1] MYSQL("SIP/OpenSER-082cf100", "Connect
connid1 mysql-ro asterisk pass1 test") in new stack
    -- Executing [601 at test:2] MYSQL("SIP/OpenSER-082cf100", "Query
resultid1 1 SELECT some_null_col FROM table WHERE where id = 1") in
new stack
    -- Executing [601 at test:3] MYSQL("SIP/OpenSER-082cf100", "Fetch
fetchid1 2 X-DB-null") in new stack
    -- Executing [601 at test:4] MYSQL("SIP/OpenSER-082cf100", "Clear 2")
in new stack
    -- Executing [601 at test:5] MYSQL("SIP/OpenSER-082cf100",
"Disconnect 1") in new stack
    -- Executing [601 at test:6] NoOp("SIP/OpenSER-082cf100", "X-DB-null:
NULL") in new stack
    -- Executing [601 at test:7] NoOp("SIP/OpenSER-082cf100", "ISNULL =
0") in new stack

So looks like 'NULL' value fetched from MySQL table is not considered
'NULL' by ISNULL function??!!!

Regards,
Chris



More information about the asterisk-dev mailing list