If you switch from luasql to freeswitch.Dbh then the freeswitch.Dbh object will give a single connection until you either call the release method or the variable goes out of scope. That means queries will happen on the same transaction.<div>

<br></div><div>-Steve</div><div><br><br><div class="gmail_quote">On 25 May 2013 19:30, William King <span dir="ltr">&lt;<a href="mailto:william.king@quentustech.com" target="_blank">william.king@quentustech.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Unfortunately you may hit a problem with last_insert_id() because FS<br>
uses connection pooling, and statement batches(at least for some select<br>
statements). Someone could check the lua wrapper code to see how the dbh<br>
handler code is implemented.<br>
<div class="im HOEnZb"><br>
William King<br>
Senior Engineer<br>
Quentus Technologies, INC<br>
1037 NE 65th St Suite 273<br>
Seattle, WA 98115<br>
Main:   <a href="tel:%28877%29%20211-9337" value="+18772119337">(877) 211-9337</a><br>
Office: <a href="tel:%28206%29%20388-4772" value="+12063884772">(206) 388-4772</a><br>
Cell:   <a href="tel:%28253%29%20686-5518" value="+12536865518">(253) 686-5518</a><br>
<a href="mailto:william.king@quentustech.com">william.king@quentustech.com</a><br>
<br>
</div><div class="HOEnZb"><div class="h5">On 05/25/2013 10:11 AM, François wrote:<br>
&gt; Thanks to Steven and William for mentioning the RETURNING clause. I<br>
&gt; checked it out and learned something cool about PostgreSQL, so to me<br>
&gt; there&#39;s no problem with one liners like that.<br>
&gt;<br>
&gt; About MySQL&#39;s last_insert_id(), it is fine to use because it returns the<br>
&gt; last id for that particular connection/dbh handler, so you shouldn&#39;t<br>
&gt; need to worry about race as long as you use it with the same handler<br>
&gt; right after your insert.<br>
&gt;<br>
&gt; For other DB where race could be an issue (ex: sqlite3), you could<br>
&gt; always wrap it in a transaction to be sure:<br>
&gt;<br>
&gt; begin transaction;<br>
&gt; insert &lt;stuff&gt;;<br>
&gt; select last_insert_id();<br>
&gt; end transaction;<br>
&gt;<br>
&gt; François.<br>
&gt;<br>
&gt; On Sat, 2013-05-25 at 04:01 -0400, John M wrote:<br>
&gt;&gt; Hi Daniel,<br>
&gt;&gt;<br>
&gt;&gt; Thanks for your description, it is much appreciated. :-)<br>
&gt;&gt;<br>
&gt;&gt; 5 word one liners from people too lazy to explain properly would<br>
&gt;&gt; really be best if they didn&#39;t reply at all.<br>
&gt;&gt;<br>
&gt;&gt; Cheers, thanks again.<br>
&gt;&gt;<br>
&gt;&gt; -Jm<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; -----Original Message-----<br>
&gt;&gt; From: Daniel Ivanov &lt;<a href="mailto:sertys@gmail.com">sertys@gmail.com</a>&gt;<br>
&gt;&gt; To: FreeSWITCH Users Help &lt;<a href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a>&gt;<br>
&gt;&gt; Sent: Sat, May 25, 2013 5:57 pm<br>
&gt;&gt; Subject: Re: [Freeswitch-users] dbh:query - insert id<br>
&gt;&gt;<br>
&gt;&gt; It is true that the luasql driver is overly basic and poorly<br>
&gt;&gt; documented . Unfortunately mysql doesn&#39;t support RETURNING clause like<br>
&gt;&gt; pgsql and oracle. You should however try SELECT LAST_INSERT_ID();<br>
&gt;&gt; right after the insert query. I cannot guarantee it works due to the<br>
&gt;&gt; unknown nature(to me that is) of the luasql transaction handling, but<br>
&gt;&gt; it should keep a transaction open for as long as a db handler lives.<br>
&gt;&gt;<br>
&gt;&gt; On May 25, 2013 7:03 AM, &quot;John M&quot; &lt;<a href="mailto:j_mj@aol.com">j_mj@aol.com</a>&gt; wrote:<br>
&gt;&gt;         Hi Seven Du,<br>
&gt;&gt;<br>
&gt;&gt;         I&#39;d really like to know if this is possible too, couldn&#39;t find<br>
&gt;&gt;         it documented anywhere.<br>
&gt;&gt;<br>
&gt;&gt;         Instead of being cryptic, if you know the answer won&#39;t you<br>
&gt;&gt;         please help by explaining what the RETURNING clause is and how<br>
&gt;&gt;         to use it?<br>
&gt;&gt;<br>
&gt;&gt;         Does it somehow return mysql_insert_id()?<br>
&gt;&gt;<br>
&gt;&gt;         How should we use it.<br>
&gt;&gt;<br>
&gt;&gt;         You help is invaluable and is contributing to the freeswitch<br>
&gt;&gt;         community.<br>
&gt;&gt;<br>
&gt;&gt;         -Jm<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;         -----Original Message-----<br>
&gt;&gt;         From: Seven Du &lt;<a href="mailto:dujinfang@gmail.com">dujinfang@gmail.com</a>&gt;<br>
&gt;&gt;         To: FreeSWITCH Users Help<br>
&gt;&gt;         &lt;<a href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a>&gt;<br>
&gt;&gt;         Sent: Sat, May 25, 2013 12:52 pm<br>
&gt;&gt;         Subject: Re: [Freeswitch-users] dbh:query - insert id<br>
&gt;&gt;<br>
&gt;&gt;         Maybe try the RETURNING clause ?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;         --<br>
&gt;&gt;         Seven Du<br>
&gt;&gt;         <a href="http://www.freeswitch.org.cn" target="_blank">http://www.freeswitch.org.cn</a><br>
&gt;&gt;         <a href="http://about.me/dujinfang" target="_blank">http://about.me/dujinfang</a><br>
&gt;&gt;         <a href="http://www.dujinfang.com" target="_blank">http://www.dujinfang.com</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;         Sent with Sparrow<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;         On Saturday, May 25, 2013 at 8:14 AM, Lloyd Aloysius wrote:<br>
&gt;&gt;         &gt; Hello All<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt; How to get the id value after insert a record a record using<br>
&gt;&gt;         &gt; dbh:query<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt; table_a - columns.<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt; id - auto increment<br>
&gt;&gt;         &gt; field1<br>
&gt;&gt;         &gt; field2<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt; dbh:query(&quot;insert into table_a ( field1,field2) values<br>
&gt;&gt;         &gt; (&#39;11&#39;,&#39;Test&#39;)&quot;)<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt; After insert how to get the table_a - id value for the<br>
&gt;&gt;         &gt; inserted record?<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt; Thanks<br>
&gt;&gt;         &gt; Lloyd<br>
&gt;&gt;         &gt; _________________________________________________________________________<br>
&gt;&gt;         &gt; Professional FreeSWITCH Consulting Services:<br>
&gt;&gt;         &gt; <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt;&gt;         &gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt; FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
&gt;&gt;         &gt; <a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt; Official FreeSWITCH Sites<br>
&gt;&gt;         &gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;         &gt; <a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
&gt;&gt;         &gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt;<br>
&gt;&gt;         &gt; FreeSWITCH-users mailing list<br>
&gt;&gt;         &gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt;         &gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt;         &gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt;         &gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;         _________________________________________________________________________<br>
&gt;&gt;         Professional FreeSWITCH Consulting Services:<br>
&gt;&gt;         <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt;&gt;         <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;&gt;<br>
&gt;&gt;         FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
&gt;&gt;         <a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
&gt;&gt;<br>
&gt;&gt;         Official FreeSWITCH Sites<br>
&gt;&gt;         <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;         <a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
&gt;&gt;         <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;&gt;<br>
&gt;&gt;         FreeSWITCH-users mailing list<br>
&gt;&gt;         <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt;         <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt;         UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt;         <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;<br>
&gt;&gt;         _________________________________________________________________________<br>
&gt;&gt;         Professional FreeSWITCH Consulting Services:<br>
&gt;&gt;         <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt;&gt;         <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;&gt;<br>
&gt;&gt;         FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
&gt;&gt;         <a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
&gt;&gt;<br>
&gt;&gt;         Official FreeSWITCH Sites<br>
&gt;&gt;         <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;         <a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
&gt;&gt;         <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;&gt;<br>
&gt;&gt;         FreeSWITCH-users mailing list<br>
&gt;&gt;         <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt;         <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt;         UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt;         <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;<br>
&gt;&gt; _________________________________________________________________________<br>
&gt;&gt; Professional FreeSWITCH Consulting Services:<br>
&gt;&gt; <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt;&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;&gt;<br>
&gt;&gt; FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
&gt;&gt; <a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
&gt;&gt;<br>
&gt;&gt; Official FreeSWITCH Sites<br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; <a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
&gt;&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;&gt;<br>
&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; _________________________________________________________________________<br>
&gt;&gt; Professional FreeSWITCH Consulting Services:<br>
&gt;&gt; <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt;&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;&gt;<br>
&gt;&gt; FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
&gt;&gt; <a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
&gt;&gt;<br>
&gt;&gt; Official FreeSWITCH Sites<br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; <a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
&gt;&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;&gt;<br>
&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _________________________________________________________________________<br>
&gt; Professional FreeSWITCH Consulting Services:<br>
&gt; <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;<br>
&gt; FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
&gt; <a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
&gt;<br>
&gt; Official FreeSWITCH Sites<br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt; <a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;<br>
&gt; FreeSWITCH-users mailing list<br>
&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
<br>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</div></div></blockquote></div><br></div>