InsertOrUpdate now returns the autoincremented ID #1262
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
InsertOrUpdate is a great method that is currently only used by the dbsessionhandler. It allows you to remove a query to determine if you want to insert or update because mysql will do this for you.
Unfortunately, when you use this method, you didn't get the LAST_INSERT_ID on insert. I added this, plus when there is a duplicate, qcubed will return the id found in the update.
To simplify the INSERT statement I also used the alternative INSERT syntax. INSERT INTO tablename SET col=val in stead of INSERT INTO tablename (col) values(val)
I'm running dbbackedsessionhandler in production.and it sees no difference between the old and new function. So there shouldn't be an impact on the rest of qcubed.