Commit Graph

37 Commits

Author SHA1 Message Date
Aleksander Machniak
3ce4f0a839 Revert [78a58162], TABLE_SCHEMA column does not exist in mysql, also
tables in postgres can be in 'public' schema.
2014-04-29 12:29:11 +02:00
Aleksander Machniak
90f7aa9e39 Fix varius db_prefix issues (#1489839)
- Move DDL script execution code to rcube_db class(es).
- Improve prefix replacement code, so index names are also modified
2014-04-29 11:34:43 +02:00
Marc-Oliver Teschke
78a58162d8 When checking if DB schema is up-to-date, limit the checks to tables in our current schema. Otherwise installer might return false positives when DB user has access to multiple schemas.
Signed-off-by: Marc-Oliver Teschke <teschke@planwerk6.de>
2014-04-14 17:08:01 +02:00
Aleksander Machniak
00de8ddf8d Small performance improvements, use str_replace() instead of strtr(),
do not parse query if there are no params to replace,
keep one instance of (potentially long) query less in memory
2013-11-06 13:11:31 +01:00
Aleksander Machniak
899e594474 Key duplicate error on postgres uses SQLSTATE=23505 2013-10-14 09:09:01 +02:00
Thomas Bruederli
6a6992f650 Assign the chosen mode to the table map 2013-10-07 11:52:21 +02:00
Thomas Bruederli
a69f9918cd Improve selection of replicated database connection:
- Analyze query and prefer dsnr unless a write operation for a table involved has been carried out before
- New config option and setter method to enforce connection mode on table level
2013-10-07 11:29:52 +02:00
Thomas Bruederli
92d18cf32e New option to disable the use of already established dsnw connections for subsequent reads 2013-10-04 13:50:12 +02:00
Thomas Bruederli
0ee22c2145 Retry queries on deadlock errors from InnoDB row-level locking (MySQL) 2013-09-12 17:17:07 +02:00
Aleksander Machniak
60b6d7c389 Fix database cache expunge issues (#1489149) - added 'expires' column 2013-06-09 11:07:46 +02:00
Aleksander Machniak
d186405c00 Simplified db connection initialisation code 2013-06-08 20:14:33 +02:00
Aleksander Machniak
66407a75d1 Fix date format issues on MS SQL Server (#1488918) 2013-06-08 19:53:04 +02:00
Aleksander Machniak
aa44ce6e97 Add optional argument to now() for simple interval calculations on SQL-side 2013-06-05 18:54:26 +02:00
Aleksander Machniak
be4b5c2fe5 Fix "duplicate entry" errors on inserts to imap cache tables (#1489146) 2013-06-05 15:20:53 +02:00
Aleksander Machniak
5df4fe56d5 Fix backward copat. with cached values serialized but not base64-encoded (#1489142) 2013-06-02 14:44:09 +02:00
Aleksander Machniak
a6b0ca60a4 Fix bug where serialized strings were truncated in PDO::quote() (#1489142) 2013-06-02 14:33:11 +02:00
Aleksander Machniak
43079d8e2d Simplify/fix debug lines truncation 2013-05-15 13:20:48 +02:00
Aleksander Machniak
9b8d22ebe1 Limit debug log entry (line) size to 4096 characters to prevent
memory_limit/preformance issues when debug is enabled (imap, smtp, db)
2013-05-08 20:19:58 +02:00
Aleksander Machniak
ce89ecd542 Fix various PHP code bugs found using static analysis (#1489086) 2013-05-06 12:23:27 +02:00
Aleksander Machniak
8defd73ee0 Inlcude SQL query in the log on SQL error (#1489064) 2013-04-30 11:49:35 +02:00
Aleksander Machniak
399db1b647 Add db_prefix configuration option in place of db_table_*/db_sequence_* options
Make possible to use db_prefix for schema initialization in Installer (#1489067)
Fix updatedb.sh script so it recognizes also table prefix for external DDL files
2013-04-27 18:31:40 +02:00
Aleksander Machniak
282dff4f18 Add rcube_db::escape() method, fix escapeSimple() to use escape instead of quote() 2013-04-17 19:33:42 +02:00
Aleksander Machniak
c465ee1e06 Fix typo simpleEscape -> escapeSimple 2013-04-17 17:37:05 +02:00
Aleksander Machniak
39a034b50d Add rcube_db::escapeSimple() method for backward compat.
Conflicts:

	plugins/virtuser_query/virtuser_query.php
2013-04-17 17:14:00 +02:00
Thomas Bruederli
7889c57b77 Match regex on multi-line sql statements 2013-03-24 12:03:16 +01:00
Thomas Bruederli
a85d54e1e8 Hack to reset PDO statement iterators after counting 2013-03-23 17:57:58 +01:00
Thomas Bruederli
d4f8a4f28a Re-implement rcube_db::num_rows() to ensure backwards compatibility 2013-03-13 19:02:31 +01:00
Aleksander Machniak
ac37746c2a Add type 'ident' in quote() so we can quote identifiers (eg. column names) there.
Using array2list() for list of identifiers is now possible.
2013-03-06 08:37:41 +01:00
Aleksander Machniak
bc2c02feec When connection to read-only db fails try to connect to write-master, but only if it is defined 2013-02-17 10:52:45 +01:00
Aleksander Machniak
41db2bf47d Slightly improve database driver chack 2013-01-31 13:18:38 +01:00
Aleksander Machniak
db6f54ec5f Reset $db_error_msg on query 2013-01-09 15:09:00 +01:00
Aleksander Machniak
679b375a46 Fix comment 2012-12-21 09:50:08 +01:00
Aleksander Machniak
a61326c141 Fix locking issue in SQLite driver (#1488874) 2012-12-20 19:51:37 +01:00
Aleksander Machniak
d2534c63f2 Cleanup, remove file paths from doc 2012-12-18 09:07:00 +01:00
Thomas Bruederli
a072247dde Fix package definitions and include framework classes in phpdoc 2012-12-16 17:03:01 +01:00
Aleksander Machniak
a3985963f0 Fix big memory consumption of DB layer (#1488856) 2012-12-07 12:38:08 +01:00
Aleksander Machniak
ba6f21caeb Framework files moved to lib/Roundcube 2012-11-21 19:52:03 +01:00