0b307ab3d0c48074b367f573d239e9db8b76a2ca |
|
06-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-sql: Add comments about NULL values. |
e3a3366eea09eb2ee25ad546cc88dfdee9715dcb |
|
21-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-sql: Fix compiler warning with OSX |
9f0fc74e3387d3e496fb0c8f77633e27e48cc1ff |
|
08-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-sql: Add support for prepared SQL statements.
This initial implementation doesn't use prepared statements in drivers, but
simply generates the query string internally. |
402f9bcf48cbccc17fdb5f3ea411a7967aed0fd0 |
|
17-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-sql: Add API support for asynchronously iterating over rows.
sql_query() can already do an async lookup, but the full result needs
to be available immediately. This can be inefficient for large results.
Add a new SQL_RESULT_NEXT_MORE return value and sql_result_more() for
asynchronously requesting more results.
This changes the API a bit, but isn't done by default by any drivers yet.
Also callers that can't handle this are hopefully checking for "ret < 0",
which allows them to handle such an async-more request as an error
instead.
sql_result_next_row() will be changed to return enum in a separate commit to
keep backwards compatibility in v2.2.x. |
bb2b3656ef7635acc374f7fc19b25aeeb454ae95 |
|
17-Jul-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-sql: Added error_type to commit callback. |
1601169d6f6004e0656238ed7691c16f3aab61aa |
|
17-Jul-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-sql: Added sql_result_get_error_type().
For now the only special error type is SQL_RESULT_ERROR_TYPE_WRITE_UNCERTAIN. |
b87761f9bbef949f31dae297e619ac3f5e9c2b2e |
|
02-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-sql: Implemented sql_escape_blob() |
27a44fcfd8d19bffe0f267f20a2b5d3fe7600fdd |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Removed CONTEXT_TYPE_SAFETY macro and reimplemented its functionality better.
gcc/clang now gives a compiler error in many places if callback isn't
exactly what was expected. It's also now much easier to add more of these
checks. |
9349a0afffad990e45d3ad33081e1d2d9e68a753 |
|
23-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
lib-sql: sql_disconnect() now aborts all pending requests. |
6b2738c39a868ff9291867138c55029fc40cf105 |
|
04-May-2010 |
Timo Sirainen <tss@iki.fi> |
lib-sql: Use generic sql connection pooling code for mysql/pgsql.
It's possible to give multiple host settings to do load balancing / HA.
If one host is down, another one is tried. All queries are automatically
retried in another host if they fail in first one.
Since PostgreSQL support async queries, Dovecot can create multiple
connections to the database as needed, so it can do lookups in parallel. The
number of connections can be changed with maxconns=n in connect_query, the
default is 5.
--HG--
branch : HEAD |
bfdf0fd7b6186f64cbdcbf1cb2bf9c42a9007b77 |
|
07-Sep-2009 |
Timo Sirainen <tss@iki.fi> |
lib-sql: Added sql_update_get_rows().
--HG--
branch : HEAD |
3656c91dcb8336814bebd4500e81c3dde25233e6 |
|
13-May-2009 |
Timo Sirainen <tss@iki.fi> |
SQL API change: SQL results can be now refed/unrefed.
--HG--
branch : HEAD |
c25356d5978632df6203437e1953bcb29e0c736f |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed .h ifdef/defines to use <NAME>_H format.
--HG--
branch : HEAD |
1ac19c5c2b66a12f5598792aad15114ee3eb62e2 |
|
03-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Added sql_result_setup_fetch() which makes it easier to fetch rows into
structures. Added sql_result_get_field_value_binary(), which is currently
not implemented for MySQL.
--HG--
branch : HEAD |
2cfe9983ce7a6280636ee12beccc2e865111967b |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Replaced void *context from a lot of callbacks with the actual context
type. Also added/fixed some context type checks.
--HG--
branch : HEAD |
00efa7d99981e18e286c02b18c1163dde18ee521 |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Type safe callbacks weren't as easy as I thought. Only callback(void
*context) can be handled generically. Others can be handled specially, but
only if all the parameters are pointers, otherwise eg. int parameter can be
replaced with long without compiler giving any warnings.
--HG--
branch : HEAD |
59151b71059df1190acd75d8717ed04a7920c862 |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added context parameter type safety checks for most callback APIs.
--HG--
branch : HEAD |
13a8c553f293349248b161ff851743498916e26e |
|
01-Jul-2006 |
Timo Sirainen <tss@iki.fi> |
sql_escape_string() should return const char *, not char *.
--HG--
branch : HEAD |
24ce0c343cefe54af841871fa39dbc3464028b06 |
|
31-May-2006 |
Timo Sirainen <tss@iki.fi> |
Added sql_escape_string()
--HG--
branch : HEAD |
636ece98e31017f94940d1f09c780cab36180e79 |
|
23-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
Removed extra commas from end of enum lists.
--HG--
branch : HEAD |
0371406d952fe51367c7be91703e5634b7d9d225 |
|
26-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added support for dynamically building SQL drivers.
--HG--
branch : HEAD |
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5d |
|
14-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
deinit, unref, destroy, close, free, etc. functions now take a pointer to
their data pointer, and set it to NULL. This makes double-frees less likely
to cause security holes.
--HG--
branch : HEAD |
dc9de21d4375faeedbe5b7e941502ac578650da9 |
|
10-Dec-2005 |
Timo Sirainen <tss@iki.fi> |
Added support for transactions and synchronous SQL queries.
--HG--
branch : HEAD |
137ea7ca34005345aa2304a940149b7f3774d727 |
|
07-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
s/occured/occurred/
--HG--
branch : HEAD |
a0b89f3b1df99b3a32f44623f13ad1893118825b |
|
09-Jun-2005 |
Timo Sirainen <tss@iki.fi> |
Added sql_connect() to do explicit connecting. sql_init() no longer does.
--HG--
branch : HEAD |
ccffb125d94adff0ad776de5a96e22f864d6fb0a |
|
27-Feb-2005 |
Timo Sirainen <tss@iki.fi> |
Added sql_get_flags() function, currently returning only
SQL_DB_FLAG_BLOCKING.
--HG--
branch : HEAD |
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0 |
|
16-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Created generic asynchronous SQL API and implemented MySQL and PostgreSQL
drivers. MySQL is implemented synchronously because it's API doesn't provide
async way to do it.
Replaced pgsql and mysql userdb/passdb with generic sql userdb/passdb.
--HG--
branch : HEAD |