mirror of
https://github.com/moodle/moodle.git
synced 2025-01-17 13:38:32 +01:00
MDL-77669 dml: Added extrainfo in the DB options config.
extrainfo is an extra information for the DB driver, e.g. SQL Server, has additional configuration according to its environment, which the administrator can specify to alter and override any connection options. Co-authored-by: LukeCarrier <luke@carrier.im> This is a backport of MDL-64153.
This commit is contained in:
parent
231c25e498
commit
29a1cf86a3
@ -70,6 +70,10 @@ $CFG->dboptions = array(
|
||||
// can be removed for MySQL (by default it will
|
||||
// use 'utf8mb4_unicode_ci'. This option should
|
||||
// be removed for all other databases.
|
||||
// 'extrainfo' => [], // Extra information for the DB driver, e.g. SQL Server,
|
||||
// has additional configuration according to its environment,
|
||||
// which the administrator can specify to alter and
|
||||
// override any connection options.
|
||||
// 'fetchbuffersize' => 100000, // On PostgreSQL, this option sets a limit
|
||||
// on the number of rows that are fetched into
|
||||
// memory when doing a large recordset query
|
||||
|
@ -208,21 +208,28 @@ class sqlsrv_native_moodle_database extends moodle_database {
|
||||
|
||||
$this->store_settings($dbhost, $dbuser, $dbpass, $dbname, $prefix, $dboptions);
|
||||
|
||||
$options = [
|
||||
'UID' => $this->dbuser,
|
||||
'PWD' => $this->dbpass,
|
||||
'Database' => $this->dbname,
|
||||
'CharacterSet' => 'UTF-8',
|
||||
'MultipleActiveResultSets' => true,
|
||||
'ConnectionPooling' => !empty($this->dboptions['dbpersist']),
|
||||
'ReturnDatesAsStrings' => true,
|
||||
];
|
||||
|
||||
$dbhost = $this->dbhost;
|
||||
if (!empty($dboptions['dbport'])) {
|
||||
$dbhost .= ',' . $dboptions['dbport'];
|
||||
}
|
||||
|
||||
$this->sqlsrv = sqlsrv_connect($dbhost, array
|
||||
(
|
||||
'UID' => $this->dbuser,
|
||||
'PWD' => $this->dbpass,
|
||||
'Database' => $this->dbname,
|
||||
'CharacterSet' => 'UTF-8',
|
||||
'MultipleActiveResultSets' => true,
|
||||
'ConnectionPooling' => !empty($this->dboptions['dbpersist']),
|
||||
'ReturnDatesAsStrings' => true,
|
||||
));
|
||||
// The sqlsrv_connect() has a lot of connection options to be used.
|
||||
// Users can add any supported options with the 'extrainfo' key in the dboptions.
|
||||
if (isset($this->dboptions['extrainfo'])) {
|
||||
$options = array_merge($options, $this->dboptions['extrainfo']);
|
||||
}
|
||||
|
||||
$this->sqlsrv = sqlsrv_connect($dbhost, $options);
|
||||
|
||||
if ($this->sqlsrv === false) {
|
||||
$this->sqlsrv = null;
|
||||
|
@ -1,6 +1,11 @@
|
||||
This files describes API changes in core libraries and APIs,
|
||||
information provided here is intended especially for developers.
|
||||
|
||||
=== 4.1.3 ===
|
||||
* Added 'extrainfo' in the DB options config. Its extra information for the DB driver, e.g. SQL Server,
|
||||
has additional configuration according to its environment, which the administrator can specify to alter and
|
||||
override any connection options.
|
||||
|
||||
=== 4.1.2 ===
|
||||
|
||||
* The method `flexible_table::set_columnsattributes` now can be used with 'class' key to add custom classes to the DOM.
|
||||
|
Loading…
x
Reference in New Issue
Block a user