Paweł Chmielowski
bb8e892323
Add alternate version of mysql upsert
...
This one works by issuing select and then insert or update or skip depending
on what select returns. We use this on mysql 5.7.26 and 8.0.20 where
previous implementation using 'replace' or 'on conflict update' can cause
excessive deadlocks.
2023-06-07 16:38:07 +02:00
Badlop
243697e25a
Update copyright year to 2023 ( #3967 )
2023-01-10 13:52:04 +01:00
Paweł Chmielowski
a89b1f332d
Use INSERT ... ON DUPLICATE KEY UPDATE for upsert on mysql
...
This can be used for all upsert expressions (where REPLACE INTO used
previously were only possible to use for subset of queries), and may
potentially help with deadlocks reported by mysql when we issues multiple
querier for same key in quick succession.
2022-06-10 16:25:50 +02:00
Paweł Chmielowski
d4bf29e3ff
Improve compatibility with various db engine versions
2022-02-18 20:43:56 +01:00
Badlop
b3211b1f71
Update copyright year to 2022
2022-02-11 09:39:25 +01:00
Badlop
4d093ac03e
ejabberd_sql_pt got USE_NEW_SCHEMA in 78dfb83
and removed in e15595d
2022-02-11 09:39:11 +01:00
Alexey Shchepin
32cf44827d
Use INSERT ... ON CONFLICT in SQL_UPSERT for PostgreSQL >= 9.5
2021-09-19 06:20:20 +03:00
Badlop
6e0161470e
Update newest copyright year to 2021 ( #3464 )
2021-01-27 17:02:06 +01:00
Paweł Chmielowski
446cb485ac
Don't use REPLACE for upsert when there are "-" fields.
...
This should fix problem reported in #3476
2021-01-11 14:20:17 +01:00
Paweł Chmielowski
d34227cae1
Use specialized upsert with mysql
2020-12-04 13:03:55 +01:00
Paweł Chmielowski
1e456065f6
Fix issue with family field on cockroachdb
2020-03-17 11:35:54 +01:00
Alexey Shchepin
b2f536ec8b
Use SQL ESCAPE statement only with MSSQL and SQLite, improve compatibility with CockroachDB ( #3074 )
2020-02-04 04:53:54 +03:00
Badlop
2d32c66fd7
Update copyright to 2020 ( #3149 )
2020-01-28 15:49:23 +01:00
Evgeny Khramtsov
a02cff0e78
Use new configuration validator
2019-06-14 12:33:26 +03:00
Paweł Chmielowski
d2ea905926
Fix handling of list arguments on pgsql
2019-04-23 17:46:42 +02:00
Badlop
55417dfb37
Update copyright to 2019 ( #2756 )
2019-01-08 22:53:27 +01:00
Paweł Chmielowski
a6c06964e1
Add list types to sql_pt
2018-12-05 13:11:52 +01:00
Alexey Shchepin
e15595df64
Add 'new_sql_schema' config option, --enable-new-sql-schema now sets its default value to true ( #2239 )
2018-03-15 17:55:05 +03:00
Evgeniy Khramtsov
cdc7c1d1ed
Update copyright dates
2018-01-05 23:18:58 +03:00
Alexey Shchepin
19975962ea
Fix a bug introduced in the previous commit in ejabberd_sql_pt
2017-11-20 15:14:44 +03:00
Alexey Shchepin
44293235e5
Simulate vars usage in ejabberd_sql_pt to avoid unused var warnings
2017-11-03 17:43:21 +03:00
Alexey Shchepin
79a9a0ed29
Disable server_host warnings
2017-11-02 19:48:35 +03:00
Alexey Shchepin
78dfb832b8
Add SQL_INSERT macro and update SQL queries to use server_host field
2017-11-02 18:21:40 +03:00
Badlop
5fdd1c39fe
Update copyright date automatically ( #1442 )
2017-01-02 21:42:06 +01:00
Christophe Romain
ed679279fd
Cleanup file headers
2016-12-27 10:57:50 +01:00
Alexey Shchepin
0ea0ba3004
Update more SQL queries
2016-05-05 15:51:58 +03:00
Evgeniy Khramtsov
1aae8a9fda
Rename odbc to sql everywhere
2016-04-20 13:25:42 +03:00
Alexey Shchepin
9a049442ff
Raise an error when there are no fields to set in ?SQL_UPSERT
2016-03-02 00:12:49 +03:00
Alexey Shchepin
2d042f078e
New parse transform for ?SQL_UPSERT and ?SQL_UPSERT_T
2016-03-02 00:12:49 +03:00
Alexey Shchepin
7f3bffe821
Allow balanced expressions inside @(...) in ejabberd_sql_pt
2016-03-02 00:12:49 +03:00
Alexey Shchepin
437e768e4a
Better error handling in ejabberd_sql_pt
2016-03-01 22:50:07 +03:00
Alexey Shchepin
6374ef4866
New parse transform for SQL queries, use prepare/execute calls with Postgres
2016-03-01 22:48:30 +03:00