Commit Graph

191 Commits

Author SHA1 Message Date
Petr Skoda 489e91282b MDL-48083 dml: Empty buffers on forced rollback 2014-11-06 15:53:29 +13:00
Tim Hunt 63e5416f5b MDL-45618 Fix @since PHPdoc tags. 2014-05-20 15:03:34 +08:00
Eloy Lafuente (stronk7) 6dcea23522 Merge branch 'w04_MDL-34055_m27_insertrecords' of https://github.com/skodak/moodle 2014-01-28 10:43:51 +01:00
Petr Škoda cc5dba8e54 MDL-34055 add bulk DB->insert_records() method
This patch was inspired by patch by Simon Coggins from Totara.
2014-01-28 10:41:43 +08:00
Sam Hemelryk 068ffec81b Merge branch 'w04_MDL-43761_m27_sqlinstall' of https://github.com/skodak/moodle 2014-01-27 14:30:57 +13:00
David Monllao a922209e84 MDL-43758 performance: New metric, time spent by the database
This patch adds a new performance metric to the performance
info shown by MDL_PERF* vars, the time spent by the database,
it was one of the wonderful @poltawski ideas. To be more specific
the value displayed is the sum of the time elapsed between query_start()
and query_end().
2014-01-24 16:07:01 +08:00
Petr Skoda 3f17d7091b MDL-43761 refactor db manager code to send arrays of SQL to the dml driver 2014-01-24 13:45:07 +08:00
Dan Poltawski c582565a06 MDL-43395 dml: warn about invalid limit params
Help developers to find bugs by throwing a DEBUG_DEVELOPER message
rather than ignoring this case completely.
2014-01-13 08:42:07 +08:00
Sam Hemelryk 9d771f9529 Merge branch 'MDL-39725_analyze' of https://github.com/mr-russ/moodle
Conflicts:
	lib/dml/moodle_database.php
2013-12-17 09:31:19 +13:00
Russell Smith 814c9438a0 MDL-39725 database: Add statistics collection functions 2013-12-10 20:31:47 +11:00
Petr Škoda 6c3ae510f1 MDL-31625 fix multiple global search-replace issues
Includes following fixes:
* support for MS SQL Server
* optional trimming of of oversized VARCHAR fields
* conversion to forms library
* full localisation
* other cleanup
2013-12-06 09:51:49 +08:00
Petr Škoda 302506e03a MDL-42493 revert nasty DB meta caching hack that was trying to work around shutdown issues
The original problem was resolved via new core shutdown handler support.
2013-10-25 21:20:06 +02:00
Petr Škoda 38fc013025 MDL-42040 refactor core Moodle shutdown handlers logic 2013-10-04 11:36:46 +02:00
Petr Škoda d79d5ac276 MDL-31501 rework user session architecture
List of changes:
 * New OOP API using PHP namespace \core\session\.
 * All handlers now update the sessions table consistently.
 * Experimental DB session support in Oracle.
 * Full support for session file handler (filesystem locking required).
 * New option for alternative session directory.
 * Official memcached session handler support.
 * Workaround for memcached version with non-functional gc.
 * Improved security - forced session id regeneration.
 * Improved compatibility with recent PHP releases.
 * Fixed borked CSS during install in debug mode.
 * Switched to file based sessions in new installs.
 * DB session setting disappears if DB does not support sessions.
 * DB session setting disappears if session handler specified in config.php.
 * Fast purging of sessions used in request only.
 * No legacy distinction -  file, database and memcached support the same functionality.
 * Session handler name included in performance info.
 * Fixed user_loggedin and user_loggedout event triggering.
 * Other minor bugfixing and improvements.
 * Fixed database session segfault if MUC disposed before $DB.

Limitations:
 * Session access time is now updated right after session start.
 * Support for $CFG->sessionlockloggedinonly was removed.
 * First request does not update userid in sessions table.
 * The timeouts may break badly if server hosting forces PHP.ini session settings.
 * The session GC is a lot slower, we do not rely on external session timeouts.
 * There cannot be any hooks triggered at the session write time.
 * File and memcached handlers do not support session lock acquire timeouts.
 * Some low level PHP session functions can not be used directly in Moodle code.
2013-09-21 13:11:56 +02:00
Petr Škoda d11b8d0c63 MDL-40808 remove unused DML strings 2013-07-25 12:02:29 +02:00
Petr Škoda 17601a7e12 MDL-39985 add explicit MariaDB support 2013-07-24 10:45:20 +08:00
Petr Škoda d8a1f4263a MDL-39846 implement new event dispatching and base event class 2013-07-19 08:43:27 +02:00
Eloy Lafuente (stronk7) bae2846c2c MDL-39390 delete old moodle_database column cache
With MDL-39389 all the remaining drivers have been moved
from the in-memory, per-request ::columns cache to
the MUC (databasemeta) alternative.

That makes the old cache unused, so this is, simply about to
delete it, and warn in upgrade notes for potential sites
using custom moodle_database drivers.
2013-04-28 18:33:33 +02:00
Petr Škoda e788339786 MDL-37742 add debugging message when $DB->sql_empty() used 2013-03-26 22:12:17 +01:00
Petr Škoda 77a5c09354 MDL-37742 simplify dirty one-space oracle hack 2013-03-24 13:43:18 +01:00
Tim Hunt 74fa94b26a MDL-37585 Make $DB->set_debug(true) show run time of each query. 2013-01-21 08:48:15 +00:00
Petr Škoda bef1207302 MDL-36211 prevent session problems in installer 2012-11-21 08:34:28 +01:00
Petr Škoda 46a86dbbc2 MDL-36211 do not lock sessions for guests and not-logged-in users 2012-11-17 10:42:47 +01:00
Dan Poltawski 92c99211af MDL-25290 MUC - add dbname to settings hash 2012-11-01 10:41:18 +08:00
Sam Hemelryk 9381983e5b MDL-25290 conversion: Added db column cache to pgsql + mysql 2012-10-19 08:08:59 +08:00
Petr Škoda cabc411215 MDL-35129 implement new export_table_recordset()
This is necessary because MySQL get_recordset_sql() stores the data in memory, unfortunately the alternative resultset iteration blocks concurrent access - that is why we need new method for export.
2012-09-15 11:29:33 +02:00
Dan Poltawski f5d7fe4c9e MDL-34159 - add comment lost from previous commit 2012-07-10 12:59:06 +08:00
Dan Poltawski 4afbd0c834 Merge branch 'w28_MDL-34159_m24_wherelist' of git://github.com/skodak/moodle 2012-07-10 12:52:14 +08:00
Petr Skoda 63224dee44 MDL-33568 improve DB->count_records*()
Now always returns integer and invalid queries are detected.
2012-07-06 08:09:11 +02:00
Petr Škoda 7f22fb4dd9 MDL-34159 improve where_clause_list performance 2012-07-06 07:57:08 +02:00
Petr Skoda 00902cd974 MDL-32003 fix phpdocs and use __DIR__ for includes in dml layer
DML layer is not supposed to use $CFG,
it is better to rely on __DIR__ in self-contained libs…
2012-06-17 22:56:28 +02:00
Dan Poltawski 85b0540605 Merge branch 'wip-MDL-32395-m23' of git://github.com/samhemelryk/moodle 2012-04-16 10:32:09 +08:00
Sam Hemelryk 9315a5fb59 MDL-32395 dml: Minor phpdoc fixes 2012-04-11 09:47:50 +12:00
Petr Skoda 7620602cc2 MDL-32323 improve transaction handling in PHPUnit test cases 2012-04-10 15:27:10 +02:00
Dan Poltawski 2511b0742a Merge branch 'MDL-32028' of git://github.com/nebgor/moodle 2012-03-27 14:46:52 +08:00
Dan Poltawski d68c62fe12 Merge branch 'w12_MDL-29515_m23_deprdb' of git://github.com/skodak/moodle 2012-03-21 09:25:47 +08:00
Petr Skoda de640a2d3f MDL-29515 remove deprecated $DB->sql_ilike() and fix debug messages 2012-03-17 19:20:39 +01:00
Petr Skoda e618cdf3f6 MDL-29894 forbid objects in DML parameters
Objects with __toString we never fully supported as parameters in DML layer, this finally brings consistent behaviour.
2012-03-17 18:44:12 +01:00
Aparup Banerjee 78e05ba53e MDL-32028 Documentation : removed legacy 1.x documentation 2012-03-15 15:19:32 +08:00
Petr Skoda a681b6c0a9 MDL-31689 fix moodle_database:execute() description 2012-03-07 12:36:40 +01:00
Petr Skoda 7e522ccbc8 MDL-27982 remove unsigned support from all UIs and APIs, keep only public API for BC 2012-03-06 12:02:11 +01:00
Aparup Banerjee dafa20e85c MDL-30972 Documentation : improved @see as well as added appropriate uses of inline @link. 2012-02-16 10:29:45 +08:00
Aparup Banerjee 096880eb7c MDL-30972 More phpdocs changes after Jenkins review. 2012-02-09 10:07:48 +08:00
Aparup Banerjee a0eb2e97f9 MDL-30972 Documentation : Renamed DB engine drivers to "@package core" but moodle_*.php are "@subpackage dml_driver", all other dml/*.php are "@subpackage dml". 2012-02-09 10:01:42 +08:00
Aparup Banerjee 6df260107c MDL-30972 Documentation : clarified phpdocs for main public APIs in DML layer and touched up on some drivers 2012-02-09 10:01:42 +08:00
Eloy Lafuente (stronk7) 870896eca1 MDL-30147 dml - mysql and no params now behaving "standard" 2011-11-19 09:27:10 +01:00
Petr Skoda c04e80e328 MDL-30147 detect missing table when processing query conditions 2011-11-19 09:16:51 +01:00
Petr Skoda 2b0e3941e9 MDL-30026 improve session lock acquire timeouts and other minor cleanup
This is partially based on original patch by Tony Levi.
2011-11-06 17:52:15 +01:00
Aparup Banerjee e2e1cf53db Merge branch 'MDL-29198' of git://github.com/stronk7/moodle 2011-09-05 12:10:32 +08:00
Tim Hunt 8de7858fb9 MDL-28080 coding_exception for over-long placeholder names. 2011-09-01 11:47:40 +02:00