Guest User

Untitled

a guest
Aug 1st, 2013
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.91 KB | None | 0 0
  1.  
  2. --CONNECT TO DATABASE
  3. if not con then databaseconnect() end
  4.  
  5. -- BEGIN TRANSACTION --
  6. assert(con:execute("BEGIN"))
  7. local nextavailableuser
  8. local transactionfailed = false
  9.  
  10. -- FIND AND RESERVE NEXT AVAILABLE USER NUMBER --            
  11. sql = "UPDATE user_reservation_table SET UsedYesNo = true, user_id="..userid..", updateddatetime='"..os.date("%Y-%m-%d %H:%M:%S").."' WHERE uservalue IN("
  12.       .."SELECT uservalue FROM user_reservation_table WHERE UsedYesNo=false Order By id ASC Limit 1) RETURNING uservalue"
  13.  
  14. --print('the sql to update is: '..sql)
  15. print('Attempting to update user_reservation_table table...')
  16. local reserve_response, reserve_err = con:execute(sql)        
  17.  
  18. if reserve_err then
  19.          transactionfailed = true
  20.          success = false
  21.          print(reserve_err)
  22.          print("rolling back...")
  23.          assert(con:execute("ROLLBACK"))
  24. else
  25.          local row = reserve_response:fetch ({}, "a")
  26.          nextavailableuser = row.uservalue
  27.          print("Successfully reserved USER number "..nextavailableuser)
  28.  
  29. end
  30.    
  31. if not transactionfailed then
  32.       sql = "INSERT INTO widget VALUES(DEFAULT,'"..nextavailableuser.."', '"
  33.                      .."generated by script".."','123456778', "                        
  34.                      .."1, '" --user id                                        
  35.                      ..servername.."',Null,'"
  36.                      ..os.date("%Y-%m-%d %H:%M:%S").."', Null)"    
  37.      
  38.       print('Attempting to create a new widget')
  39.  
  40.       local insert_response, insert_err = con:execute(sql)
  41.  
  42.       if insert_err then
  43.          print(insert_err)
  44.          print("rolling back...")
  45.          assert(con:execute("ROLLBACK"))
  46.       else
  47.          assert(con:execute("COMMIT")) -- COMMIT TRANSACTION
  48.          print("Transaction Committed!  widget Created")
  49.       end
  50. end
  51.  
  52. --DISCONNECT FROM DATABASE
  53. if con then databasedisconnect() end
  54. print("Goodbye")
Advertisement
Add Comment
Please, Sign In to add comment