On Postgres, at least, get_recordset_sql performs signficantly worse
if you don't pass a limit. So, we add a limit to the query, but one
that in enormously too large, so it should never have an effect.
(And, there is code to check we never hit the limit, to avoid subtle bugs.)
This has been generated running the following Sniff,
part of the Moodle's CodeSniffer standard:
- PSR2.Methods.MethodDeclaration
It just ensures all the function declarations have
the correct order for:
- abstract and final.
- visibility (public, protected, private).
- static.
So, all the lines modified by this commit are function declarations
and the only changes are in the positions of those keywords.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
Co-authored by: Adrian Greeve <adrian@moodle.com>
AMOS BEGIN
CPY [description,moodle],[description,core_h5p]
CPY [status,moodle],[status,core_h5p]
AMOS END
This is another preliminary commit, rationalising the ->work... fields
and also moving the code that sets them up into a separate function.
This is also to prepare for the next commit.
This eliminates a lot of necessary string manipulation for something
that preg can just do with the \b assertion.
The change also extracts all the work to prepare ->work_phrase (renamed
->regexp) into a separate function. This is to pave the way for future
efficiency gains, but for now I have not done them, so it is easier to
verify by inspection that this commit does not change behaviour.
Also, some tidy-ups to the filterobject structure, to eliminate some
redundant fields.
Previous commits were overlooked, they should have passed the
system context to filter_manager::setup_page_for_fitlers(), the
page context was passed instead. Regardless, the processing of
the latter is too excessive for what we need, but, more importantly,
it does not return "Off, but available" filters which we also need.
- Complete the deprecation information to follow the rules.
- Minor tweak to PLAIN tests to have clearer expectations.
- Completely delete get_global_config() from filters, there
was not much utility keeping it there. Note we have opted
for direct deletion because it's private API, not public one
(and searching github/google/docs did not reveal any use
of those functions either, just in case).
This lets you programmatically prevent certain filters running on
certain content.
Also, I created some unit tests for the basic format_text functionality
since there did not seem to be any yet.
For legacy reasons, the $CFG->perfdebug uses values 7 for disabled and 15 for
enabled. Because of this typo, Moodle has always created instance of the slower
performance_measuring_filter_manager instead of the standard filter_manager,
regardless the perfdebug setting.