Commit graph

87 commits

Author SHA1 Message Date
Ankit Agarwal
e3359b87df MDL-41586 libraries: Fix scale issues
The default value of scale should be null not false in mssql, that is the
standard with other DBs
0 is a valid value for scale, don't change it in oracle
2013-11-06 16:12:15 +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
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
8ac7cbddfc MDL-39588 require MOODLELIB Oracle package
Previously it was kind of optional, but it is now required. We also attempt to install it automatically now.
2013-06-02 11:14:43 +02:00
Dan Poltawski
e947caf4a1 Merge branch 'MDL-39389' of git://github.com/stronk7/moodle 2013-04-29 14:15:23 +01:00
Eloy Lafuente (stronk7)
20c9916396 MDL-27071 Allow Oracle IN() to use > 1000 items
By using a pivoting strategy, we modify the list
of params (QM and NAMED supported) into a
subquery, so the 1000 limit in Oracle (ORA-01795)
is not thrown anymore.
2013-04-29 01:22:38 +02:00
Eloy Lafuente (stronk7)
9043466103 MDL-39389 add databasemeta cache to ms/oci drivers 2013-04-28 18:12:38 +02:00
Petr Škoda
031a6de97a MDL-39038 nasty workaround for Oracle NULL concats 2013-04-08 23:23:08 +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
Petr Škoda
46a86dbbc2 MDL-36211 do not lock sessions for guests and not-logged-in users 2012-11-17 10:42:47 +01: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
Petr Skoda
54c5b1ad35 MDL32392 delete unused is_min_version() in some DB drivers 2012-04-15 19:40:07 +02:00
Eloy Lafuente (stronk7)
7b74fb7071 MDL-32392 cleanup: adding @todo about unused is_min_version() method 2012-04-10 21:26:00 +02:00
Eloy Lafuente (stronk7)
55edb9416b MDL-32365 oracle: ensure table has 'before each row' trigger to
determine if the 'id' column is sequence based or no
2012-04-10 19:49:34 +02:00
Petr Skoda
62cd8cd9f5 MDL-32029 fix get_tables() when prefix empty in external database 2012-03-24 11:36:01 +01: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
Petr Skoda
05aae0a571 MDL-29514 drop support for enum data types 2012-03-10 21:36:48 +01:00
Petr Skoda
a681b6c0a9 MDL-31689 fix moodle_database:execute() description 2012-03-07 12:36:40 +01:00
Dan Poltawski
6ad22bb164 MDL-29199 dml: fix query logging on Oracle
thanks to Jonathon Fowler for the fix
2012-02-24 11:57:18 +08: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
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)
da3a1f3ae7 MDL-30026 improve session lock - stronger detection for oracle 2011-11-13 19:23:53 +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
Eloy Lafuente (stronk7)
018213bed2 MDL-29415 xmldb - fix get_columns() in oracle to get char based lengths + test 2011-09-19 00:34:10 +02:00
Eloy Lafuente (stronk7)
07ee317d2a MDL-28080 oracle - avoid tweak_param_names() tweaking too much :-P
Sometimes the (oracle only) tweak_param_names() method was causing
placeholders having > 28 chars length to exceed the 30 chars limit
imposed by Oracle. With this commit the tweak is performed by
replacement for such long placeholders and, at the same time, the
tweak has been commented out from insert/update because it is not
necessary there (placeholders are safe column name always)
2011-09-01 19:42:29 +02:00
Petr Skoda
4c1638c10f MDL-26842 fix o_ prefix regression 2011-03-21 16:32:09 +01:00
Petr Skoda
200b4556d7 MDL-26842 make sure query parameter names are not reserved words in oracle driver 2011-03-16 15:20:32 +01:00
Eloy Lafuente (stronk7)
5a4a7b425b MDL-25708 recordsets - fix upgradelib and dml stuff 2011-01-25 19:59:00 +01:00
Eloy Lafuente
9882b2c824 MDL-25276 dml - fix/implement sql_cast2int/real() across the 5 drivers. Tests passing. 2010-11-18 01:27:49 +00:00
Petr Skoda
ac6f1a82f9 MDL-24321 switching to stdClass 2010-09-21 07:57:42 +00:00
Petr Skoda
d68c56f2c6 coding style fix 2010-09-17 20:25:33 +00:00
Petr Skoda
d87b5a5da0 MDL-17491 fixed notice typo 2010-09-14 21:13:33 +00:00
Petr Skoda
2eff97b726 MDL-17491 removing unused password workaround, adding note that some special chars are discouraged in oracle db passwords 2010-09-14 21:13:03 +00:00
Petr Skoda
bd3e0b205d MDL-17491 oracler driver diagnostics - tells admins to install PL/SQL packages 2010-09-14 20:59:46 +00:00
Petr Skoda
3da04607e1 MDL-19057 improved bit operations in oracle, new sql package setup code - all credit goes to Eloy Lafuente; installation instructions and diagnostics to be added later 2010-09-13 09:09:58 +00:00
Petr Skoda
16114b9db8 MDL-24080 new $notlike parameter added to our new sql_like(), hopefully nobody started using the $escaped param yet; unittests included 2010-09-04 14:39:01 +00:00
Petr Skoda
6055f89d30 MDL-23925, MDL-23888 new sql_ilike() and sql_binary_equal() - this should finally allow us to solve many collation issues consistently for all supported databases; please note this changes some behaviour for non-english languages when mysql used; expect more commits that actually make use of these new features 2010-08-24 21:50:53 +00:00
Petr Skoda
9331d879eb MDL-14679 more return types added 2010-08-22 19:06:06 +00:00
Petr Skoda
3503dcad31 MDL-14679 fixing more incorrect return types 2010-08-22 19:00:28 +00:00
Petr Skoda
5212b07f20 MDL-14679 fixing incorrect return type of recordset methods 2010-08-22 18:55:29 +00:00
Petr Skoda
4a6c2ab88e MDL-14679 fixing obsolete driver names in comments 2010-08-22 18:51:45 +00:00
Petr Skoda
d8fa8e406e MDL-23568 parameters of DML function insert_record are not modified any more < improved coding style, now using cast to array consistently 2010-07-31 20:51:22 +00:00
Petr Skoda
66c0ee78a5 MDL-21249 fixed wrong package grrrrrr, thanks Eloy! 2010-07-25 20:18:39 +00:00
Petr Skoda
f2ed3f05a7 MDL-21249 improved php docs and adding direct access prevention in dml 2010-07-25 12:57:24 +00:00
Petr Skoda
14c423d70e a few more comment typos 2010-05-21 18:29:35 +00:00