Review: 'Doctor Who: The Church On Ruby Road'

(Yes, spoilers are included in this review!)

Doctor Who — you’ve done it again. I thought the three specials with Tennant and Tate were good but I have high hopes for your franchise now. Ncuti Gatwa’s Doctor has new skills, a new home, and a new sonic screwdriver. Notice, I didn’t mention wardrobe? I’m not sure exactly yet what this Doctor Who’s style will be. It’s going to be interesting, especially since we’ve seen a kilt. Maybe Gatwa’s character will have multiple outfits.

I’m going to start with the “big bad” for this episode – the Goblin King and his minions. Look, I’m a David Bowie fan. I loved his movie, Labyrinth

Thus I’m not a big fan of these Doctor Who goblins’ plans and their cute look. They “eat” children. They actually look like they’re kin to the Star Beast! What is scary is this king and goblins are much worse than the Goblin King and goblins that existed in Labyrinth. At least, the worst that Bowie’s King did was turn the babies into goblins. Yet, I must say that once again Davies is echoing the world and times we live in. Well, I won’t go there but need to ask: Does Davies have a TARDIS?

Now on to the Goblin King creature himself. I loved Bowie in his flamboyant shirts in Labyrinth. Of course, with the Muppet creatures, he needed to be able to move and due to his songs perform. Did anyone get a sense of the Jabba the Hutt here from Star Wars: Return of the Jedi? It is a fit because Jabba liked to send people to a holding cell at the bottom of his ship. And both ships looked like pirate vessels. Hutt’s ship was a step above this one. But more on that in a minute because its construction led to its downfall.

Let’s get to the rest of the story and The Doctor’s development. We’re seeing new skills with this incarnation of the Doctor. He has a sense of the magic surrounding him. First, we see him figuring out the goblins before anyone else. He’s got their number and knows that they like to cause mischief. Did anyone see that our “bad luck” could be coming from those little imps? I know I always heard “The goblins will get you if you don’t watch out.” I attributed that to the myth of our past when our parents tried to scare us. For Ruby and other orphans, it is a given. This ability to see the situation makes this Doctor interesting (and slightly more fun as he figures things out).

Now, we all know that some people can “trace” problems with electricity. Our power company basically knows where the power failure happens after the second or third call. But tracing ropes through the knots? How ingenious! And interesting because it adds another dimension to the Doctor’s skills and where he could be going. Reading the rope, I’ll call it, and tracing the origin of the problem usually isn’t this easy. I’m sure it won’t be this simple in the future, but it added a touch of fun to an otherwise tense scene.

I found it interesting that he did guess that all could be tied to Ruby. Could Ruby have been an orphan they wanted originally who got saved too quickly? That might count toward the mishaps that she inadvertently caused others. Then why is the focus of the story on Ruby, and why was the Church a focus? Yes, I know that’s where the “mom” abandoned Ruby but it’s also served as the place for the Doctor to destroy the Goblins and save baby Ruby. Will future ties to this play out? Also, applause to Davies for using the Hindenburg imagery. Loved it.

I loved the music. The only thing that I didn’t like was “The Goblin’s Song.” Yes, it was cute and memorable. The music and singer of the lyrics were fantastic but as I said earlier, it’s too much in this history that we are seeing now. I know that no one knew of what we’ve seen playing out this year, but it just shows how much television can reflect the world around us. 

One other question for the fans: Did any of you get the “what’s happening” when the crack appeared in the walls when the goblins came for the baby the second time? To me, it echoed back to Smith’s regeneration and how he met Amy Pond. Remember the crack in her wall which led to a different dimension (wasn’t it)? I guess I need to go back and rewatch that!

We can’t leave this review until we address the big question left at the end. Just who is Mrs. Flood? I’ve been tagged asking my opinion based on Dr. Who lore. Well, it’s hard for me to say as I missed one recent Doctor completely and only caught a few of Jodie’s episodes. Also, we’re not sure how this bi-generation works or whether it is an older Doctor that we have never seen. I speculate that it could be Amy Pond but he’s visited her grave. Could it be Ruby’s mom? It’s possible but is a little far-fetched as to how would she know about a TARDIS? The Master? Please, Davies said not this season. Do I believe him? NO! So we will see how it plays out.

I think I will stick around and see how I like Gatwa’s portrayal of the Doctor when his season begins in May 2024. Some friends have already tuned, out but I will give him a chance. I wasn’t a big Smith fan when he joined the franchise, but he grew on me. I’ve also had issues with Davies’s Torchwood. I’ll give it a chance and see where it goes.

8.686MBMemory Usage175msRequest Duration
Joomla! Version4.4.4
PHP Version8.1.32
Identityguest
Response200
Templateja_blockk
Database
Server
mysql
Version
8.0.39-cll-lve
Collation
utf8mb4_unicode_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:48 [ "PATH" => "/usr/local/bin:/bin:/usr/bin" "HTTP_ACCEPT" => "text/html,application/xhtm...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1743798511 "last" => 1743798511...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (528.66KB) (5.22ms)
  • afterInitialise (1.26MB) (26.87ms)
  • afterRoute (222.19KB) (8.5ms)
  • beforeRenderComponent com_content (38.28KB) (1.08ms)
  • Before Access::preloadComponents (all components) (34.7KB) (960μs)
  • After Access::preloadComponents (all components) (109.3KB) (1.1ms)
  • Before Access::preloadPermissions (com_content) (3.91KB) (20μs)
  • After Access::preloadPermissions (com_content) (2.4MB) (11.75ms)
  • Before Access::getAssetRules (id:1867 name:com_content.article.1044) (130.8KB) (188μs)
  • After Access::getAssetRules (id:1867 name:com_content.article.1044) (8.47KB) (217μs)
  • beforeRenderRawModule mod_related_items (Read More) (823.8KB) (33.9ms)
  • Before Access::getAssetRules (id:8 name:com_content) (81.26KB) (6.53ms)
  • After Access::getAssetRules (id:8 name:com_content) (1.59KB) (19μs)
  • afterRenderRawModule mod_related_items (Read More) (81.62KB) (24.03ms)
  • beforeRenderModule mod_related_items (Read More) (704B) (15μs)
  • afterRenderModule mod_related_items (Read More) (3.57KB) (288μs)
  • afterRenderComponent com_content (51.31KB) (124μs)
  • afterDispatch (3.53KB) (334μs)
  • beforeRenderRawModule mod_menu (Newsletters) (355.23KB) (30.34ms)
  • afterRenderRawModule mod_menu (Newsletters) (14.71KB) (688μs)
  • beforeRenderModule mod_menu (Newsletters) (720B) (6μs)
  • afterRenderModule mod_menu (Newsletters) (1.89KB) (241μs)
  • beforeRenderRawModule mod_menu (Other Content) (712B) (52μs)
  • afterRenderRawModule mod_menu (Other Content) (944B) (354μs)
  • beforeRenderModule mod_menu (Other Content) (720B) (6μs)
  • afterRenderModule mod_menu (Other Content) (1.3KB) (112μs)
  • beforeRenderRawModule mod_finder (Head Search) (1.94KB) (92μs)
  • afterRenderRawModule mod_finder (Head Search) (66.42KB) (3.96ms)
  • beforeRenderModule mod_finder (Head Search) (720B) (7μs)
  • afterRenderModule mod_finder (Head Search) (3.3KB) (207μs)
  • beforeRenderRawModule mod_custom ([Offcanvas] Custom banner) (864B) (73μs)
  • afterRenderRawModule mod_custom ([Offcanvas] Custom banner) (3.88KB) (376μs)
  • beforeRenderModule mod_custom ([Offcanvas] Custom banner) (736B) (6μs)
  • afterRenderModule mod_custom ([Offcanvas] Custom banner) (4.82KB) (123μs)
  • beforeRenderRawModule mod_custom ([Offcanvas] Social media) (24B) (29μs)
  • afterRenderRawModule mod_custom ([Offcanvas] Social media) (1.05KB) (102μs)
  • beforeRenderModule mod_custom ([Offcanvas] Social media) (736B) (5μs)
  • afterRenderModule mod_custom ([Offcanvas] Social media) (2.93KB) (113μs)
  • beforeRenderRawModule mod_menu (Off Canvas) (2.23KB) (28μs)
  • afterRenderRawModule mod_menu (Off Canvas) (944B) (161μs)
  • beforeRenderModule mod_menu (Off Canvas) (720B) (5μs)
  • afterRenderModule mod_menu (Off Canvas) (1.28KB) (108μs)
  • beforeRenderRawModule mod_menu (magazine-menu-3) (55.45KB) (1.39ms)
  • afterRenderRawModule mod_menu (magazine-menu-3) (116.49KB) (3.2ms)
  • beforeRenderModule mod_menu (magazine-menu-3) (720B) (7μs)
  • afterRenderModule mod_menu (magazine-menu-3) (6.28KB) (116μs)
  • afterRender (671.84KB) (11.61ms)
  • 1 x beforeRenderRawModule mod_related_items (Read More) (823.8KB) (19.37%)
    33.90ms
    1 x beforeRenderRawModule mod_menu (Newsletters) (355.23KB) (17.33%)
    30.34ms
    1 x afterInitialise (1.26MB) (15.35%)
    26.87ms
    1 x afterRenderRawModule mod_related_items (Read More) (81.62KB) (13.73%)
    24.03ms
    1 x After Access::preloadPermissions (com_content) (2.4MB) (6.71%)
    11.75ms
    1 x afterRender (671.84KB) (6.63%)
    11.61ms
    1 x afterRoute (222.19KB) (4.86%)
    8.50ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (81.26KB) (3.73%)
    6.53ms
    1 x afterLoad (528.66KB) (2.98%)
    5.22ms
    1 x afterRenderRawModule mod_finder (Head Search) (66.42KB) (2.26%)
    3.96ms
    1 x afterRenderRawModule mod_menu (magazine-menu-3) (116.49KB) (1.83%)
    3.20ms
    1 x beforeRenderRawModule mod_menu (magazine-menu-3) (55.45KB) (0.8%)
    1.39ms
    1 x After Access::preloadComponents (all components) (109.3KB) (0.63%)
    1.10ms
    1 x beforeRenderComponent com_content (38.28KB) (0.62%)
    1.08ms
    1 x Before Access::preloadComponents (all components) (34.7KB) (0.55%)
    960μs
    1 x afterRenderRawModule mod_menu (Newsletters) (14.71KB) (0.39%)
    688μs
    1 x afterRenderRawModule mod_custom ([Offcanvas] Custom banner) (3.88KB) (0.21%)
    376μs
    1 x afterRenderRawModule mod_menu (Other Content) (944B) (0.2%)
    354μs
    1 x afterDispatch (3.53KB) (0.19%)
    334μs
    1 x afterRenderModule mod_related_items (Read More) (3.57KB) (0.16%)
    288μs
    1 x afterRenderModule mod_menu (Newsletters) (1.89KB) (0.14%)
    241μs
    1 x After Access::getAssetRules (id:1867 name:com_content.article.1044) (8.47KB) (0.12%)
    217μs
    1 x afterRenderModule mod_finder (Head Search) (3.3KB) (0.12%)
    207μs
    1 x Before Access::getAssetRules (id:1867 name:com_content.article.1044) (130.8KB) (0.11%)
    188μs
    1 x afterRenderRawModule mod_menu (Off Canvas) (944B) (0.09%)
    161μs
    1 x afterRenderComponent com_content (51.31KB) (0.07%)
    124μs
    1 x afterRenderModule mod_custom ([Offcanvas] Custom banner) (4.82KB) (0.07%)
    123μs
    1 x afterRenderModule mod_menu (magazine-menu-3) (6.28KB) (0.07%)
    116μs
    1 x afterRenderModule mod_custom ([Offcanvas] Social media) (2.93KB) (0.06%)
    113μs
    1 x afterRenderModule mod_menu (Other Content) (1.3KB) (0.06%)
    112μs
    1 x afterRenderModule mod_menu (Off Canvas) (1.28KB) (0.06%)
    108μs
    1 x afterRenderRawModule mod_custom ([Offcanvas] Social media) (1.05KB) (0.06%)
    102μs
    1 x beforeRenderRawModule mod_finder (Head Search) (1.94KB) (0.05%)
    92μs
    1 x beforeRenderRawModule mod_custom ([Offcanvas] Custom banner) (864B) (0.04%)
    73μs
    1 x beforeRenderRawModule mod_menu (Other Content) (712B) (0.03%)
    52μs
    1 x beforeRenderRawModule mod_custom ([Offcanvas] Social media) (24B) (0.02%)
    29μs
    1 x beforeRenderRawModule mod_menu (Off Canvas) (2.23KB) (0.02%)
    28μs
    1 x Before Access::preloadPermissions (com_content) (3.91KB) (0.01%)
    20μs
    1 x After Access::getAssetRules (id:8 name:com_content) (1.59KB) (0.01%)
    19μs
    1 x beforeRenderModule mod_related_items (Read More) (704B) (0.01%)
    15μs
    1 x beforeRenderModule mod_finder (Head Search) (720B) (0%)
    7μs
    1 x beforeRenderModule mod_menu (magazine-menu-3) (720B) (0%)
    7μs
    1 x beforeRenderModule mod_menu (Newsletters) (720B) (0%)
    6μs
    1 x beforeRenderModule mod_menu (Other Content) (720B) (0%)
    6μs
    1 x beforeRenderModule mod_custom ([Offcanvas] Custom banner) (736B) (0%)
    6μs
    1 x beforeRenderModule mod_custom ([Offcanvas] Social media) (736B) (0%)
    5μs
    1 x beforeRenderModule mod_menu (Off Canvas) (720B) (0%)
    5μs
50 statements were executed, 3 of which were duplicates, 47 unique53.55ms465.59KB
  • SELECT @@SESSION.sql_mode;108μs1.57KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `tvlfg_session` WHERE `session_id` = ?234μs1.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `tvlfg_session` WHERE `session_id` = :session_id LIMIT 1142μs1.61KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `tvlfg_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)702μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `tvlfg_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1476μs2.23KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `tvlfg_viewlevels`162μs976B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `tvlfg_usergroups` AS `a` LEFT JOIN `tvlfg_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest277μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `tvlfg_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`1.09ms3.8KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • UPDATE tvlfg_extensions SET enabled=1 WHERE `type`='plugin' AND `element`='jacontenttype' AND `folder`='ajax'641μs1.3KB/plugins/system/jacontenttype/jacontenttype.php:62Copy
  • SELECT * FROM `tvlfg_languages` WHERE `published` = 1 ORDER BY `ordering` ASC251μs2.17KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT * FROM tvlfg_menu WHERE alias ='reviews' AND published=1291μs4.09KB/plugins/system/t4/src/t4/MVC/Router/T4.php:352Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `tvlfg_menu` AS `m` LEFT JOIN `tvlfg_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`677μs20.92KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`358μs5.13KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `tvlfg_template_styles` AS `s` LEFT JOIN `tvlfg_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1258μs1.16KB/administrator/components/com_templates/src/Model/StyleModel.php:773Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `tvlfg_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)690μs7.75KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `tvlfg_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 05.62ms225.8KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `tvlfg_content`1.97ms4.89KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `tvlfg_content` SET `hits` = (`hits` + 1) WHERE `id` = '1044'585μs48B/libraries/src/Table/Table.php:1325Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `tvlfg_content` AS `a` INNER JOIN `tvlfg_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `tvlfg_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `tvlfg_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `tvlfg_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `tvlfg_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)666μs24.63KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`532μs5.17KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `tvlfg_contentitem_tag_map` AS `m` INNER JOIN `tvlfg_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)2.2ms5.25KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`482μs5.17KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM tvlfg_fields AS a LEFT JOIN `tvlfg_languages` AS l ON l.lang_code = a.language LEFT JOIN tvlfg_users AS uc ON uc.id=a.checked_out LEFT JOIN tvlfg_viewlevels AS ag ON ag.id = a.access LEFT JOIN tvlfg_users AS ua ON ua.id = a.created_user_id LEFT JOIN tvlfg_fields_groups AS g ON g.id = a.group_id LEFT JOIN `tvlfg_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC546μs6.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`catid`,`a`.`language`, CASE WHEN CHAR_LENGTH(`a`.`alias`) != 0 THEN CONCAT_WS(':', `a`.`id`, `a`.`alias`) ELSE a.id END AS `slug`, CASE WHEN CHAR_LENGTH(`cc`.`alias`) != 0 THEN CONCAT_WS(':', `cc`.`id`, `cc`.`alias`) ELSE cc.id END AS `catslug` FROM `tvlfg_content` AS `a` LEFT JOIN `tvlfg_categories` AS `cc` ON `cc`.`id` = `a`.`catid` WHERE `a`.`catid` = :catid AND `a`.`state` = :state AND `a`.`access` IN (:preparedArray1,:preparedArray2) AND (`publish_up` IS NULL OR `publish_up` <= :nowDate1) AND (`publish_down` IS NULL OR `publish_down` >= :nowDate2) ORDER BY CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END DESC1.15ms3.28KBParams/plugins/content/pagenavigation/src/Extension/PageNavigation.php:188Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`506μs5.17KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT u.id, u.name, u.username, u.params FROM tvlfg_users AS u LEFT JOIN tvlfg_user_usergroup_map AS g ON g.user_id = u.id WHERE u.id = '51' GROUP BY u.id175μs1KB/plugins/system/t4/src/t4/MVC/Model/AuthorModel.php:279Copy
  • SELECT enabled FROM tvlfg_extensions WHERE `type` = 'plugin' AND `element` = 'profile'196μs856B/plugins/system/t4/src/t4/MVC/Model/AuthorModel.php:467Copy
  • SELECT profile_key, profile_value FROM tvlfg_user_profiles WHERE user_id = 51 AND profile_key LIKE 'profile.%' ORDER BY ordering195μs1.09KB/plugins/system/t4/src/t4/MVC/Model/AuthorModel.php:420Copy
  • SHOW FULL COLUMNS FROM `tvlfg_users`1.65ms2.2KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT * FROM `tvlfg_users` WHERE `id` = :userid215μs4.41KBParams/libraries/src/Table/User.php:104Copy
  • SELECT `g`.`id`,`g`.`title` FROM `tvlfg_usergroups` AS `g` INNER JOIN `tvlfg_user_usergroup_map` AS `m` ON `m`.`group_id` = `g`.`id` WHERE `m`.`user_id` = :muserid216μs1.7KBParams/libraries/src/Table/User.php:132Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM tvlfg_fields AS a LEFT JOIN `tvlfg_languages` AS l ON l.lang_code = a.language LEFT JOIN tvlfg_users AS uc ON uc.id=a.checked_out LEFT JOIN tvlfg_viewlevels AS ag ON ag.id = a.access LEFT JOIN tvlfg_users AS ua ON ua.id = a.created_user_id LEFT JOIN tvlfg_fields_groups AS g ON g.id = a.group_id WHERE ( (`a`.`context` = :context AND `a`.`access` IN (:preparedArray1,:preparedArray2)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray3,:preparedArray4)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC450μs5.31KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `name` FROM `tvlfg_users` WHERE id = '51'134μs11.84KB/plugins/system/t4/src/t4/MVC/Router/Content/Router.php:66Copy
  • SELECT username FROM tvlfg_users WHERE id=51103μs856B/plugins/system/t4/src/t4/MVC/Router/T4.php:288Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `tvlfg_modules` AS `m` LEFT JOIN `tvlfg_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `tvlfg_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`1.17ms2.38KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT `metakey` FROM `tvlfg_content` WHERE `id` = :id174μs1.63KBParams/modules/mod_related_items/src/Helper/RelatedItemsHelper.php:88Copy
  • SELECT `a`.`id` FROM `tvlfg_content` AS `a` WHERE ( ( (`a`.`id` != :id AND `a`.`state` = 1 AND `a`.`access` IN (:preparedArray1,:preparedArray2)) AND (`a`.`metakey` LIKE :preparedArray3 OR `a`.`metakey` LIKE :preparedArray4)) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :nowDate1)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :nowDate2) LIMIT 54.03ms1.85KBParams/modules/mod_related_items/src/Helper/RelatedItemsHelper.php:152Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END AS `publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`metadata`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`featured`,`a`.`language`,LENGTH(`a`.`fulltext`) AS `readmore`,`a`.`ordering`,`fp`.`featured_up`,`fp`.`featured_down`,CASE WHEN `c`.`published` = 2 AND `a`.`state` > 0 THEN 2 WHEN `c`.`published` != 1 THEN 0 ELSE `a`.`state` END AS `state`,`c`.`title` AS `category_title`,`c`.`path` AS `category_route`,`c`.`access` AS `category_access`,`c`.`alias` AS `category_alias`,`c`.`language` AS `category_language`,`c`.`published`,`c`.`published` AS `parents_published`,`c`.`lft`,CASE WHEN `a`.`created_by_alias` > ' ' THEN `a`.`created_by_alias` ELSE `ua`.`name` END AS `author`,`ua`.`email` AS `author_email`,`uam`.`name` AS `modified_by_name`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language` FROM `tvlfg_content` AS `a` LEFT JOIN `tvlfg_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `tvlfg_users` AS `ua` ON `ua`.`id` = `a`.`created_by` LEFT JOIN `tvlfg_users` AS `uam` ON `uam`.`id` = `a`.`modified_by` LEFT JOIN `tvlfg_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `tvlfg_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` WHERE `a`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`access` IN (:preparedArray3,:preparedArray4) AND `c`.`published` = 1 AND `a`.`state` = :condition AND `a`.`id` IN (:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) ORDER BY a.ordering ASC15.95ms57.61KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `m`.`tag_id`,`m`.`content_item_id`,`t`.* FROM `tvlfg_contentitem_tag_map` AS `m` INNER JOIN `tvlfg_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `t`.`published` = 1 AND `m`.`content_item_id` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5) AND `t`.`access` IN (:preparedArray6,:preparedArray7)3.3ms5.5KBParams/libraries/src/Helper/TagsHelper.php:448Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`544μs5.19KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`745μs5.19KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `tvlfg_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1322μs976B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `tvlfg_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)192μs904B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT * FROM tvlfg_acym_configuration288μs2.88KB/administrator/components/com_acym/libraries/joomla/database.php:32Copy
  • SELECT * FROM tvlfg_acym_list WHERE type = 'standard'159μs2.28KB/administrator/components/com_acym/libraries/joomla/database.php:32Copy
  • SELECT * FROM tvlfg_acym_field153μs2.31KB/administrator/components/com_acym/libraries/joomla/database.php:32Copy
  • SELECT * FROM tvlfg_acym_form WHERE active = 1 AND type != 'shortcode'123μs1.2KB/administrator/components/com_acym/libraries/joomla/database.php:32Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `tvlfg_scheduler_tasks` AS `a` WHERE `a`.`state` = 1174μs1.68KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:466Copy
  • SELECT `session_id` FROM `tvlfg_session` WHERE `session_id` = ?148μs1.63KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `tvlfg_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?2.14ms912BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy