[Freeswitch-users] dbh:query - insert id

François fdelawarde at wirelessmundi.com
Sun May 26 21:18:28 MSD 2013


Indeed, sorry I forgot to mention that. Still in sqlite3 case, you need
to wrap it in a transaction in case another thread get a lock on the db
between your two queries.

François.


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





Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list