summaryrefslogtreecommitdiff
path: root/src/database
AgeCommit message (Collapse)Author
2018-04-29mam: Send “fin complete” only when appropriatelouiz’
Also simplify how we did the whole “limit + 1” And fix one bad interpretation of the XEP for the case where the query has no after or before restriction. fix #3349
2018-04-29Missing fields in a data-form response are now interpreted as an empty valuelouiz’
2018-04-24Only use the ID to order archiveslouiz’
fix #3343
2018-04-24Revert "Use a different Date data type"louiz’
This reverts commit 857c7d3972a03cbeebf730d99b924d3710dee6a0.
2018-04-24Revert "Use the Date to find a next page in RSM, not the id"louiz’
This reverts commit 5ef7ba08028065b03d51d1dc70bb35aeb41ae19d.
2018-04-14Use the Date to find a next page in RSM, not the idlouiz’
This way, it works, whatever the order of insertion in the database was. fix #3343
2018-04-13one log_debug -> log_error, also some trivial indentlouiz’
2018-04-13Refactor that fixes a compilation issue in Release modelouiz’
Some template specialization were not found, because they were not declared at the point they were used. We moved things around, things are less inter-dependant, and also now it works.
2018-04-11Fix a build warning when compiling without postgres or sqlitelouiz’
2018-04-11Use a different Date data typelouiz’
PLEASE backup your database before testing this commit, and report any migration issue. In postgresql, we use timestamp with timezone. In sqlite3 we use REAL (the date is expressed as julianday) This requires a migration of the muclogline_ table: In postgresql it’s pretty simple, we convert all the integer into timestamps With sqlite3, we actually rename the table, create the new one with the correct type, then copy everything to the new table, with a conversion function for the Date_ column, and then we delete the old table. fix #3343
2018-03-23Check that db.prepare worked before using the returned statementlouiz’
2018-03-19Add a nick field in the IRC server configuration formlouiz’
fix #3317
2018-03-19Re-connect to postgresql when the connection is lostlouiz’
fix #3336
2018-03-18Reflect message IDs in channel MUCslouiz’
fix #3283
2018-03-18Use a transaction around the DELETE + INSERT of the after_connection_commandslouiz’
Otherwise we can imagine that two clients changing this value at the same time would mix things up. ref #3275
2018-03-18Allow the execution of multiple commands after the IRC connectionlouiz’
fix #3275
2018-03-17Revert "Use std::optional<bool> instead of OptionalBool"louiz’
This reverts commit ba879a882e031d7b8503f78fe41d1210000c96ca.
2018-03-17Revert "Use if constexpr to make things a lot more readable"louiz’
This reverts commit d62ca9f87906be6f046fe9d07afb8bfb69c166e3.
2018-03-16Use if constexpr to make things a lot more readablelouiz’
2018-03-16Use std::optional<bool> instead of OptionalBoollouiz’
2018-03-12Rename a few “hostname” into “address”, regarding last commitlouiz’
ref #3273
2018-03-12Allow to override the addresses used to connect to an IRC networklouiz’
fix #3273
2018-03-12Fix the INSERT query for types that don’t have any Id columnlouiz’
2018-02-16Actually display the error message from postgresql when a query failedlouiz’
2018-02-16Log the warn/error messages coming from libpq in a correct formatlouiz’
2018-02-16Sort archive messages by date (and only then by id)louiz’
fix #3337 Because apparently the IDs are not always incrementing. We still use them to know the order of two messages that were received at the same second (in this case, the ID will always be incrementing).
2018-02-15Fix the actual_bind versions for integralslouiz’
2018-02-14Fix a memory leak when psql connection failslouiz’
2018-02-13Support the <before/> element in MAM requestslouiz’
2018-02-13Use the same function for both history orderslouiz’
2018-02-11Fix a few warningslouiz’
2018-02-11Send a item-not-found error when the “after” value is not in the archivelouiz’
2018-02-10Handle the “after” RSM value to page through resultslouiz’
2018-02-10Always return the oldest matching messages from MAM, even if no date is setlouiz’
2018-01-28This should fix the int conversion warning on 32bits archlouiz’
2018-01-25Restore the is_one_of variable templatelouiz’
2018-01-25Remove a variable template usagelouiz’
Because it’s only supported in gcc>=5.0
2018-01-14Add a DEBUG_SQL_QUERIES to log info about the executed SQL querieslouiz’
fix #3324
2018-01-14Remove all the ugly database debuglouiz’
2017-12-17Remove a warning (unused argument)louiz’
2017-12-16db_name also accepts postgres:// scheme for PostgreSQL connectionslouiz’
2017-12-05Always free the PGresult pointer returned by PQexeclouiz’
Fix a somewhat big memory leak
2017-12-02Fix a few warningslouiz’
2017-12-02Handle postgresql and sqlite3 libs properlylouiz’
Do not fail to compile when one of them is missing but the other one is not. Raise an error when trying to open a database with the missing library. see #3237
2017-12-02Actually free the database on Database::close()Jonas Wielicki
.release() returns the pointer and releases ownership *without* destruction.
2017-12-02Make destructor of DatabaseEngine virtualJonas Wielicki
2017-12-02Make destructor of Statement virtualJonas Wielicki
I got an ASAN error otherwise (type mismatch)
2017-12-02Support for full postgresql URIsJonas Wielicki
(cf. https://www.postgresql.org/docs/9.4/static/libpq-connect.html#LIBPQ-CONNSTRING)
2017-12-02Add postgresql supportlouiz’
2017-09-21compat: revert to using sqlite's close() function for compat with older distros.Romain DEP.
close_v2(), in use before this commit, was introduced as part of sqlite 3.7.14 (2012-09-03), and is as such incompatible with debian wheezy (3.7.13) and centos6 (3.6.20). FTR, Wheezy will be supported until May 2018, and centos6, until November 2020.