View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003780||Composr||core_database_drivers||public||2019-02-22 14:58||2019-02-22 14:58|
|Reporter||Chris Graham||Assigned To|
|Fixed in Version|
|Summary||0003780: Make use of MySQL REPLACE INTO syntax|
|Description||put_into_cache and set_value are both highly trafficed functions that do a query_delete (DELETE FROM) followed by a query_insert (INSERT INTO). These cases could be single REPLACE INTO calls in MySQL.|
The ideal solution would be to extend the insert_into method to change $fail_ok to take constants QUERY_FAIL_HARD, QUERY_FAIL_SILENT, and QUERY_REPLACE_INTO.
Then each database driver could do it's own implementation. Almost every database backend has some kind of syntax for it https://en.wikipedia.org/wiki/Merge_(SQL)
However, a quick and dirty detection of whether MySQL is running, and coding in an alternative query, would be fine.
|Time estimation (hours)||1|