MDL-75734 reportbuilder: remove Oracle restrictions on text columns.

We can filter long text columns in Oracle with appropriate API, so
can remove previous restrictions. See also recent change in 208adcf3
for similar.
This commit is contained in:
Paul Holden 2022-09-12 21:43:19 +01:00
parent 8f492a836a
commit c63af9858b
2 changed files with 8 additions and 12 deletions

View File

@ -318,11 +318,9 @@ class course extends base {
$fields = $this->get_course_fields();
foreach ($fields as $field => $name) {
// Filtering isn't supported for LONGTEXT fields on Oracle.
if ($this->get_course_field_type($field) === column::TYPE_LONGTEXT &&
$DB->get_dbfamily() === 'oracle') {
continue;
$filterfieldsql = "{$tablealias}.{$field}";
if ($this->get_course_field_type($field) === column::TYPE_LONGTEXT) {
$filterfieldsql = $DB->sql_cast_to_char($filterfieldsql);
}
$optionscallback = [static::class, 'get_options_for_' . $field];
@ -341,7 +339,7 @@ class course extends base {
$field,
$name,
$this->get_entity_name(),
"{$tablealias}.$field"
$filterfieldsql
))
->add_joins($this->get_joins());

View File

@ -483,11 +483,9 @@ class user extends base {
// User fields filters.
$fields = $this->get_user_fields();
foreach ($fields as $field => $name) {
// Filtering isn't supported for LONGTEXT fields on Oracle.
if ($this->get_user_field_type($field) === column::TYPE_LONGTEXT &&
$DB->get_dbfamily() === 'oracle') {
continue;
$filterfieldsql = "{$tablealias}.{$field}";
if ($this->get_user_field_type($field) === column::TYPE_LONGTEXT) {
$filterfieldsql = $DB->sql_cast_to_char($filterfieldsql);
}
$optionscallback = [static::class, 'get_options_for_' . $field];
@ -506,7 +504,7 @@ class user extends base {
$field,
$name,
$this->get_entity_name(),
$tablealias . '.' . $field
$filterfieldsql
))
->add_joins($this->get_joins());