[asterisk-bugs] [JIRA] (ASTERISK-25938) MySQL/MariaDB statement LAST_INSERT_ID() always returns zero.

Edwin Vandamme (JIRA) noreply at issues.asterisk.org
Tue Apr 19 07:49:56 CDT 2016


Edwin Vandamme created ASTERISK-25938:
-----------------------------------------

             Summary: MySQL/MariaDB statement LAST_INSERT_ID() always returns zero.
                 Key: ASTERISK-25938
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25938
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
    Affects Versions: 13.8.1, 13.8.0
         Environment: CentOS	  	  	7.2		  	2015-11
Asterisk	  		13.8.0/13.8.1
MariaDB			5.5.44
unixODBC		2.3.1
jansson  	  		2.7	  		2014-10-02
PJSIP (pjproject)	2.4.5		2015-08-12

            Reporter: Edwin Vandamme


After upgrading to Asterisk 13.8.0 the MySQL/MariaDB statement LAST_INSERT_ID() always returns zero.
To double check that it is related to Asterisk, I recompiled and installed 13.7.0 without any other modifications and the LAST_INSERT_ID() was returned correctly.
To be sure, I recompiled and installed 13.8.0 and the problem returned.
So back to 13.7.0 and no problem whatsoever.
I checked the latest version which at time of writing is 13.8.1 and the problem returned.
So back to 13.7.0 and no problem whatsoever.


In my extensions.conf I do the following : 
<blockquote>
; Lock MySQL/MariaDB access.
same = n,While($[${L} <= 0])
same = n,Set(L=${LOCK(MySQL)})
same = n,EndWhile()

; Mark start of a call attempt.
same = n,Set(history_h1(${nIServer},${IProject},${ANI})=)

; Get unique call id
same = n,Set(CallId=${history_h2()})

; Unlock MySQL access as the correct CallId was found.
same = n,Set(L=${UNLOCK(MySQL)})
</blockquote>
In my func_odbc.conf I do the following : 
<blockquote>
[h1]
prefix=history
dsn=asterisk
writesql=INSERT INTO callsystem.history SET IServer=${ARG1},IProject='${ARG2}',CallerId='${ARG3}',Status='ONLINE';

[h2]
prefix=history
dsn=asterisk
readsql=SELECT LAST_INSERT_ID() FROM callsystem.history LIMIT 1;
</blockquote>

I also tried
<blockquote>
readsql=SELECT LAST_INSERT_ID(); to no avail.
</blockquote>



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list