0001: SET sql_mode = ? 0.0004s

0002: SHOW DATABASES LIKE 'igi\_cms\_future' 0.001s

0003: SHOW TABLES LIKE 'SubsiteDomain' 0.001s

0004: SELECT DISTINCT count(DISTINCT "SubsiteDomain"."ID") AS "Count" FROM "SubsiteDomain" INNER JOIN "Subsite" ON "Subsite"."ID" = "SubsiteDomain"."SubsiteID" AND "Subsite"."IsPublic"=1 WHERE ('igiltd.dev' LIKE replace("SubsiteDomain"."Domain",'*','%')) 0.0006s

0005: SELECT DISTINCT "Subsite"."ClassName", "Subsite"."LastEdited", "Subsite"."Created", "Subsite"."DefaultSite", "Subsite"."ID", CASE WHEN "Subsite"."ClassName" IS NOT NULL THEN "Subsite"."ClassName" ELSE 'SilverStripe\\Subsites\\Model\\Subsite' END AS "RecordClassName", "Subsite"."Title" FROM "Subsite" WHERE ("Subsite"."DefaultSite" = ?) ORDER BY "Subsite"."Title" ASC LIMIT 1 0.0004s

0006: SHOW FULL TABLES WHERE Table_Type != 'VIEW' 0.0018s

0007: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."URLSegment" = ?) AND ("SiteTree_Live"."ParentID" = ?) AND ("SiteTree_Live"."SubsiteID" IN (0)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0005s

0008: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ParentID" = ?) AND ("SiteTree_Live"."URLSegment" = ?) AND ("SiteTree_Live"."SubsiteID" IN (0)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0004s

0009: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0010: SELECT DISTINCT "Subsite"."ClassName", "Subsite"."LastEdited", "Subsite"."Created", "Subsite"."Title", "Subsite"."RedirectURL", "Subsite"."DefaultSite", "Subsite"."Theme", "Subsite"."Language", "Subsite"."IsPublic", "Subsite"."PageTypeBlacklist", "Subsite"."ID", CASE WHEN "Subsite"."ClassName" IS NOT NULL THEN "Subsite"."ClassName" ELSE 'SilverStripe\\Subsites\\Model\\Subsite' END AS "RecordClassName" FROM "Subsite" WHERE ("Subsite"."ID" = ?) ORDER BY "Subsite"."Title" ASC LIMIT 1 0.0003s

0011: SELECT DISTINCT "SiteConfig"."ClassName", "SiteConfig"."LastEdited", "SiteConfig"."Created", "SiteConfig"."Title", "SiteConfig"."Tagline", "SiteConfig"."CanViewType", "SiteConfig"."CanEditType", "SiteConfig"."CanCreateTopLevelType", "SiteConfig"."SubsiteID", "SiteConfig"."BrandID", "SiteConfig"."ID", CASE WHEN "SiteConfig"."ClassName" IS NOT NULL THEN "SiteConfig"."ClassName" ELSE 'SilverStripe\\SiteConfig\\SiteConfig' END AS "RecordClassName" FROM "SiteConfig" WHERE ("SiteConfig"."SubsiteID" IN (0)) LIMIT 1 0.0003s

0012: SELECT CASE WHEN EXISTS(SELECT * FROM "Subsite" ) THEN 1 ELSE 0 END 0.0002s

0013: SELECT DISTINCT "PublishDate" IS NULL AS "_SortColumn0", "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "BlogPost_Live"."PublishDate", "BlogPost_Live"."AuthorNames", "BlogPost_Live"."Summary", "BlogPost_Live"."ElementalAreaID", "BlogPost_Live"."FeaturedImageID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" LEFT JOIN "BlogPost_Live" ON "BlogPost_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?)) AND ("PublishDate" < '2024-12-27 08:04:57') ORDER BY "_SortColumn0" DESC, "BlogPost_Live"."PublishDate" DESC LIMIT 1 0.0005s

0014: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "Page_Live"."MenuSubtitle", "Page_Live"."MenuIcon", "Page_Live"."MenuStyle", "Page_Live"."BrandID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" INNER JOIN "BlogPost_Live" ON "SiteTree_Live"."ID" = "BlogPost_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?, ?, ?, ?, ?, ?, ?, ?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0005s

0015: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "Page_Live"."MenuSubtitle", "Page_Live"."MenuIcon", "Page_Live"."MenuStyle", "Page_Live"."BrandID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?, ?, ?, ?, ?, ?, ?, ?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0016: SELECT DISTINCT "Brand"."ClassName", "Brand"."LastEdited", "Brand"."Created", "Brand"."Title", "Brand"."Icon", "Brand"."Color", "Brand"."Pattern", "Brand"."ID", CASE WHEN "Brand"."ClassName" IS NOT NULL THEN "Brand"."ClassName" ELSE 'IGI\\Website\\Models\\Brand' END AS "RecordClassName" FROM "Brand" WHERE ("Brand"."ID" = ?) LIMIT 1 0.0003s

0017: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ShowInMenus" = ?) AND ("SiteTree_Live"."ParentID" = ?) AND ("SiteTree_Live"."SubsiteID" IN (0)) ORDER BY "SiteTree_Live"."Sort" ASC 0.0005s

0018: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ParentID" <> "SiteTree_Live"."ID") AND ("SiteTree_Live"."ParentID" = ?) AND ("SiteTree_Live"."ShowInMenus" = ?) AND ("SiteTree_Live"."SubsiteID" IN (0)) ORDER BY "SiteTree_Live"."Sort" ASC 0.0004s

0019: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0020: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ParentID" <> "SiteTree_Live"."ID") AND ("SiteTree_Live"."ParentID" = ?) AND ("SiteTree_Live"."ShowInMenus" = ?) AND ("SiteTree_Live"."SubsiteID" IN (0)) ORDER BY "SiteTree_Live"."Sort" ASC 0.0005s

0021: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0022: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0023: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "Page_Live"."MenuSubtitle", "Page_Live"."MenuIcon", "Page_Live"."MenuStyle", "Page_Live"."BrandID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?, ?, ?, ?, ?, ?, ?, ?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0024: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "RedirectorPage_Live"."RedirectionType", "RedirectorPage_Live"."ExternalURL", "RedirectorPage_Live"."LinkToID", "RedirectorPage_Live"."LinkToFileID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "RedirectorPage_Live" ON "RedirectorPage_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0004s

0025: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "RedirectorPage_Live"."RedirectionType", "RedirectorPage_Live"."ExternalURL", "RedirectorPage_Live"."LinkToID", "RedirectorPage_Live"."LinkToFileID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "RedirectorPage_Live" ON "RedirectorPage_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0026: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ParentID" <> "SiteTree_Live"."ID") AND ("SiteTree_Live"."ParentID" = ?) AND ("SiteTree_Live"."ShowInMenus" = ?) AND ("SiteTree_Live"."SubsiteID" IN (0)) ORDER BY "SiteTree_Live"."Sort" ASC 0.0005s

0027: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0028: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0005s

0029: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0030: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "Page_Live"."MenuSubtitle", "Page_Live"."MenuIcon", "Page_Live"."MenuStyle", "Page_Live"."BrandID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?, ?, ?, ?, ?, ?, ?, ?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0031: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "RedirectorPage_Live"."RedirectionType", "RedirectorPage_Live"."ExternalURL", "RedirectorPage_Live"."LinkToID", "RedirectorPage_Live"."LinkToFileID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "RedirectorPage_Live" ON "RedirectorPage_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0032: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "RedirectorPage_Live"."RedirectionType", "RedirectorPage_Live"."ExternalURL", "RedirectorPage_Live"."LinkToID", "RedirectorPage_Live"."LinkToFileID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "RedirectorPage_Live" ON "RedirectorPage_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0033: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "RedirectorPage_Live"."RedirectionType", "RedirectorPage_Live"."ExternalURL", "RedirectorPage_Live"."LinkToID", "RedirectorPage_Live"."LinkToFileID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "RedirectorPage_Live" ON "RedirectorPage_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0034: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" INNER JOIN "BlogPost_Live" ON "BlogPost_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ParentID" = ?) AND (("SiteTree_Live"."ID" != ? OR "SiteTree_Live"."ID" IS NULL)) AND ("SiteTree_Live"."ShowInMenus" = ?) AND ("PublishDate" < '2024-12-27 08:04:57') AND ("SiteTree_Live"."SubsiteID" IN (0)) ORDER BY "SiteTree_Live"."Sort" ASC 0.0011s

0035: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ParentID" <> "SiteTree_Live"."ID") AND ("SiteTree_Live"."ParentID" = ?) AND ("SiteTree_Live"."ShowInMenus" = ?) AND ("SiteTree_Live"."SubsiteID" IN (0)) ORDER BY "SiteTree_Live"."Sort" ASC 0.0004s

0036: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0005s

0037: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0038: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0039: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0005s

0040: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "Page_Live"."MenuSubtitle", "Page_Live"."MenuIcon", "Page_Live"."MenuStyle", "Page_Live"."BrandID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?, ?, ?, ?, ?, ?, ?, ?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0041: SELECT DISTINCT "BlogCategory"."ClassName", "BlogCategory"."LastEdited", "BlogCategory"."Created", "BlogCategory"."Title", "BlogCategory"."URLSegment", "BlogCategory"."BlogID", "BlogCategory"."ID", CASE WHEN "BlogCategory"."ClassName" IS NOT NULL THEN "BlogCategory"."ClassName" ELSE 'SilverStripe\\Blog\\Model\\BlogCategory' END AS "RecordClassName" FROM "BlogCategory" INNER JOIN "BlogPost_Categories" ON "BlogPost_Categories"."BlogCategoryID" = "BlogCategory"."ID" WHERE ("BlogPost_Categories"."BlogPostID" = ?) 0.0004s

0042: SELECT DISTINCT count(DISTINCT "BlogCategory"."ID") AS "Count" FROM "BlogCategory" INNER JOIN "BlogPost_Categories" ON "BlogPost_Categories"."BlogCategoryID" = "BlogCategory"."ID" WHERE ("BlogPost_Categories"."BlogPostID" = ?) 0.0004s

0043: SELECT DISTINCT "Member"."ClassName", "Member"."LastEdited", "Member"."Created", "Member"."URLSegment", "Member"."BlogProfileSummary", "Member"."BlogProfileRole", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."TempIDHash", "Member"."TempIDExpired", "Member"."Password", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."BlogProfileImageID", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'SilverStripe\\Security\\Member' END AS "RecordClassName" FROM "Member" INNER JOIN "BlogPost_Authors" ON "BlogPost_Authors"."MemberID" = "Member"."ID" WHERE ("BlogPost_Authors"."BlogPostID" = ?) ORDER BY "Member"."Surname" ASC, "Member"."FirstName" ASC LIMIT 1 0.0005s

0044: SELECT DISTINCT "ElementalArea_Live"."ClassName", "ElementalArea_Live"."LastEdited", "ElementalArea_Live"."Created", "ElementalArea_Live"."Version", "ElementalArea_Live"."OwnerClassName", "ElementalArea_Live"."TopPageID", "ElementalArea_Live"."ID", CASE WHEN "ElementalArea_Live"."ClassName" IS NOT NULL THEN "ElementalArea_Live"."ClassName" ELSE 'DNADesign\\Elemental\\Models\\ElementalArea' END AS "RecordClassName" FROM "ElementalArea_Live" WHERE ("ElementalArea_Live"."ID" = ?) LIMIT 1 0.0003s

0045: SELECT DISTINCT "Element_Live"."ClassName", "Element_Live"."LastEdited", "Element_Live"."Created", "Element_Live"."Version", "Element_Live"."Title", "Element_Live"."ShowTitle", "Element_Live"."Sort", "Element_Live"."ExtraClass", "Element_Live"."Style", "Element_Live"."TopPageID", "Element_Live"."ParentID", "Element_Live"."ID", CASE WHEN "Element_Live"."ClassName" IS NOT NULL THEN "Element_Live"."ClassName" ELSE 'DNADesign\\Elemental\\Models\\BaseElement' END AS "RecordClassName" FROM "Element_Live" WHERE ("Element_Live"."ParentID" = ?) ORDER BY "Element_Live"."Sort" ASC 0.0006s

0046: SELECT DISTINCT "ElementalArea_Live"."ClassName", "ElementalArea_Live"."LastEdited", "ElementalArea_Live"."Created", "ElementalArea_Live"."Version", "ElementalArea_Live"."OwnerClassName", "ElementalArea_Live"."TopPageID", "ElementalArea_Live"."ID", CASE WHEN "ElementalArea_Live"."ClassName" IS NOT NULL THEN "ElementalArea_Live"."ClassName" ELSE 'DNADesign\\Elemental\\Models\\ElementalArea' END AS "RecordClassName" FROM "ElementalArea_Live" WHERE ("ElementalArea_Live"."ID" = ?) LIMIT 1 0.0003s

0047: SELECT DISTINCT "PublishDate" IS NULL AS "_SortColumn0", "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "Page_Live"."MenuSubtitle", "Page_Live"."MenuIcon", "Page_Live"."MenuStyle", "Page_Live"."BrandID", "BlogPost_Live"."PublishDate", "BlogPost_Live"."AuthorNames", "BlogPost_Live"."Summary", "BlogPost_Live"."ElementalAreaID", "BlogPost_Live"."FeaturedImageID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "BlogPost_Live" ON "BlogPost_Live"."ID" = "SiteTree_Live"."ID" WHERE ("BlogPost_Live"."ElementalAreaID" = ?) AND ("SiteTree_Live"."ClassName" = ?) AND ("SiteTree_Live"."ClassName" IN (?)) AND ("SiteTree_Live"."SubsiteID" IN (0)) AND ("PublishDate" < '2024-12-27 08:04:57') ORDER BY "_SortColumn0" DESC, "BlogPost_Live"."PublishDate" DESC LIMIT 1 0.0015s

0048: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0005s

0049: SELECT CASE WHEN EXISTS(SELECT * FROM "Subsite" ) THEN 1 ELSE 0 END 0.0004s

0050: SELECT DISTINCT "ElementalArea_Live"."ClassName", "ElementalArea_Live"."LastEdited", "ElementalArea_Live"."Created", "ElementalArea_Live"."Version", "ElementalArea_Live"."OwnerClassName", "ElementalArea_Live"."TopPageID", "ElementalArea_Live"."ID", CASE WHEN "ElementalArea_Live"."ClassName" IS NOT NULL THEN "ElementalArea_Live"."ClassName" ELSE 'DNADesign\\Elemental\\Models\\ElementalArea' END AS "RecordClassName" FROM "ElementalArea_Live" WHERE ("ElementalArea_Live"."ID" = ?) LIMIT 1 0.0003s

0051: SELECT DISTINCT "Element_Live"."ClassName", "Element_Live"."LastEdited", "Element_Live"."Created", "ElementContent_Live"."HTML", "Element_Live"."ID", CASE WHEN "Element_Live"."ClassName" IS NOT NULL THEN "Element_Live"."ClassName" ELSE 'DNADesign\\Elemental\\Models\\BaseElement' END AS "RecordClassName", "Element_Live"."Sort" FROM "Element_Live" LEFT JOIN "ElementContent_Live" ON "ElementContent_Live"."ID" = "Element_Live"."ID" WHERE ("Element_Live"."ID" = ?) AND ("Element_Live"."ClassName" IN (?)) ORDER BY "Element_Live"."Sort" ASC LIMIT 1 0.0005s

0052: SELECT "Version" FROM "SiteTree" WHERE "ID" = ? 0.0003s

0053: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0054: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0055: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0056: SELECT DISTINCT "SiteTree"."ClassName", "SiteTree"."LastEdited", "SiteTree"."Created", "SiteTree"."Priority", "SiteTree"."CanViewType", "SiteTree"."CanEditType", "SiteTree"."Version", "SiteTree"."URLSegment", "SiteTree"."Title", "SiteTree"."MenuTitle", "SiteTree"."Content", "SiteTree"."MetaDescription", "SiteTree"."ExtraMeta", "SiteTree"."ShowInMenus", "SiteTree"."ShowInSearch", "SiteTree"."Sort", "SiteTree"."HasBrokenFile", "SiteTree"."HasBrokenLink", "SiteTree"."ReportClass", "SiteTree"."SubsiteID", "SiteTree"."ParentID", "SiteTree"."ID", CASE WHEN "SiteTree"."ClassName" IS NOT NULL THEN "SiteTree"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree" WHERE ("SiteTree"."ID" = ?) ORDER BY "SiteTree"."Sort" ASC LIMIT 1 0.0003s

0057: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0058: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."SubsiteID", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0005s

Modelling Hydrogen Migration and Trapping – PHASE 1 » IGI Ltd.

Modelling Hydrogen Migration and Trapping – PHASE 1

Box-Size Numerical Modelling of Hydrogen Migration and Trapping: Testing the Geological Setting and Analogies with the Petroleum Systems

Integrated Geochemistry Interpretation (IGI Ltd) - Tiago Abreu Cunha & Marianne Nuzzo

MARUM - Centre for Marine Environmental Sciences, University of Bremen, Germany - Javier García-Pintado & Marta Pérez-Gussinyé

Natural Hydrogen Study Group (NHSG) - Steve Lawrence, Owain Jackson, Andy Stocks, Andy Barnicoat, Ian Hutchinson

Hydrogen (H2) and hydrogen-related fuels are regarded as one of the pillars of a decarbonized economy. In the Sustainable Development Scenario (net-zero emissions) forecast from the International Energy Agency (IEA), hydrogen usage should reach 13% of the global energy demand by 2070.

Picture6

Figure 1. IEA, Global energy sector CO2 emissions reductions by measure in the Sustainable Development Scenario relative to the Stated Policies Scenario, IEA, Paris https://www.iea.org/data-and-statistics/charts/global-energy-sector-co2-emissions-reductions-by-measure-in-the-sustainable-development-scenario-relative-to-the-stated-policies-scenario, IEA. Licence: CC BY 4.0

At present, 95% of the hydrogen used in the industry originates from steam methane reforming (SMR), without the capture of the carbon monoxide produced in the process (Grey Hydrogen). Grey hydrogen is used mostly for ammonia production and refining. Planned technological developments to reduce the greenhouse gases associated with hydrogen production focus on carbon capture and storage (Blue Hydrogen), and the production from renewable energies powering water electrolysis (Green Hydrogen), which may also contribute to mitigate the renewables’ energy curtailment.

In both cases, the infrastructure for the injection and storage of gases (CO2 or hydrogen) involves considerable costs and, in the case of green hydrogen, a large consumption of fresh water and energy in the hydrolysis process. The exploitation of natural hydrogen, if available at industrial-scale volumes, could therefore be a significant breakthrough for the energy transition efforts, and simultaneously contribute to the re-focusing of the knowledge and expertise available in the oil & gas industry.

From 2022, IGI has been collaborating with the MARUM Centre for Marine Environmental Sciences of the University of Bremen (Germany) and with the Natural Hydrogen Study Group (NHSG, UK) to address a number of outstanding problems related to the generation, migration and trapping of natural hydrogen, contributing to the advancement of future exploration of this natural resource. Two communications have been recently presented by the consortium at a meeting in the Geological Society - Natural Hydrogen: A New Frontier for Energy and Science:

1. The Natural Hydrogen System: how success can be achieved through the system and play approach (O. Jackson, S. Lawrence, A. Stocks, A. Barnicoat, I. Hutchinson)

2.  Box-Size Numerical Modelling of Hydrogen Migration and Trapping: Testing the Geological Setting and Analogies with the Petroleum Systems (J. García-Pintado, M. Pérez-Gussinyé, T. Abreu Cunha, M. Nuzzo, S. Lawrence, O. Jackson, A. Stocks, A. Barnicoat, I. Hutchinson)

In the first of these communications, the authors argue that the exploration of natural hydrogen can be guided by the play-concept, well developed in the oil & gas industry, and presented several study cases representative of different tectonic settings. According to the authors, the most likely source of natural hydrogen in these settings is the serpentinization of mafic and ultra-mafic rocks, with hydrogen then migrating through the sediments and/or along fracture systems involving a mix of advection and diffusion processes, and eventually accumulating in traps sealed by capillary contrasts.

In the second communication, we presented the results from a box-size numerical model of miscible multiphase flow to improve our current understanding of the main factors controlling the migration and trapping of hydrogen in sedimentary basins. The main findings from this work-in-progress model are discussed below and are illustrated by figures and videos.

The box model is 25 m * 80 m, a very high resolution (1 m high cells with laterally varying width) with near surface conditions P-T conditions (100 m depth at the top with 25°C), an injection zone of 24 m along the bottom half of the model, and two levels of lower permeability (1mD Vs 1D – Figure 2). Other premises of the model are:

Picture2 rs

 

Two-phase flow with pure water and hydrogen(or methane) components

Equations of state for density, viscosity & specific enthalpy

Migration by advection in gas & liquid phase plus diffusion in the liquid phase

Henry coefficient (temperature-dependent controlling the equilibrium between the gas and dissolved mass fractions

Corey (1954) effective-saturation dependent relative permeability; residual saturations are 0.15 for liquid and 0.05 for gas

Van Genuchten (1980) capillary pressure-saturation

The models run for 10yr, after which they tend to reach dynamic equilibrium

 

Figure 2. Model setup and parameterization

Initially, and at depth, the injected hydrogen is dissolved in the liquid phase (water) and migrates mainly in solution within the liquid phase. Further injection leads to free gas (increase in gas saturation), with a much faster upward migration controlled by the corresponding phase relative permeability.  Towards the surface, decreasing pressures lead to further degassing, with positive feedback on gas mobility. The relation between injection rates (hydrogen generation) and the development of a positive capillary pressure and dominance of the free trapped gas phase is controlled by the retarding capability of the lower permeability layers. These effects can be clearly observed in Video-1  [ VIDEO-1.avi ], which shows plots of the most relevant parameters to follow the model predictions through time.

Video 1.  Box model showing the migration and trapping of hydrogen (H2) for the setup, boundary conditions and parameterization shown in Figure 2. The model runs over a 10 yr period, showing (from left to right): permeability (constant); total H2 mass fraction (gas phase plus H2 dissolved in the water); capillary pressure (pressure of the non-wetting phase minus the pressure of the wetting phase), with the velocities of the wetting phase; gas saturation (total gas ratio to porosity) with the velocities of the gas (arrow size reduced by a factor of 3 relative to the water velocities); liquid relative permeability;  and gas relative permeability (ratio of effective permeability of a particular fluid at a particular saturation to absolute permeability of that fluid at total saturation). 

The figure below corresponds to the near steady-state, or dynamic equilibrium reached after 10 yr. Most of the gas is H2, with minor H2O (water vapour), while the mass fraction of H2 in the liquid is very low (see numeric scale), due to its low solubility. The predicted storage for this particular model is of 40 kg of H2 gas, at a mean density of ~1.8 kg.m-3 (~22 m3 of gas), plus 2.7 kg of dissolved H2. The low storage capacity in this model is partially controlled by the relatively high permeability of the seals (1 mD), but also by the low pressure, near surface conditions. In a similar experiment ran for P-T conditions at 1 km depth the model predicts 115 kg of H2 gas, at a mean density of ~6.85 kg.m-3 (~17 m3 of gas), plus 20 kg of dissolved H2.

Picture9

Figure 3.  Box model predictions in near steady-state (after 10 yr.) assuming a constant H2 injection of 1e-6 kg.s-1 (750 kg.yr-1) – see VIDEO-1.avi for dynamic model. Note the very low numbers in the mass fraction of H2 in the liquid phase due to its low solubility. The gas saturation is the total gas ratio to porosity. Model setup and boundary conditions are shown in Figure 2.

A good parallelism can be established between the predictions from this simple box model and the observations at the Bourakebougou field, in the Taoudeni Basin (Mali), where several H2 gas discoveries were made in carbonate reservoirs capped by dolerites intrusions. This field is described as a “dynamic system, that is progressively recharged in H2-rich gas at the production timescale” (in Maiga et al., 2023a); the migration of gas bubbles through the water column in the carbonate fractures is clearly observed in the monitoring videos of the field (Maiga et al., 2023b). In the shallower, main carbonate reservoir of the Bourakebougou field, at 100 m depth, the gas composition is 98% H2, with 1% nitrogen (N2) and 1% methane (CH4).

In another model experiment, we compare the model predictions for hydrogen and methane, a well-known gas from decades of oil and gas exploration ( VIDEO-2.avi .)

Video 2.  Box model predictions for hydrogen (H2, left) and methane (CH4, right), assuming the setup, boundary conditions and parameterization shown in Figure 2. The model runs over a 10 yr period, showing (from left to right): permeability (constant), with the velocities of the gas; total mass fraction (gas phase plus H2 or CH4 dissolved in the water); and gas saturation (total gas ratio to porosity). 

The models show the mobility of H2 to be about three times greater than that of CH4, consistent with that predicted in other models (e.g. Lodhia and Clark, 2022; the velocity arrows in the video are proportional to the velocity). Similarly to the H2 experiments, the CH4 models reach dynamical equilibrium after less than 10 yr, but the differences in the mobility and solubility of the gases (CH4 has much greater solubility) determine a much narrower distribution of CH4 gas accumulation, as depicted in the figure below. The CH4 model also predicts a greater mass of stored gas, of 124 kg for a mean density of 7.5 kg.m-3, plus 33 kg of dissolved CH4.

Picture10

Figure 4.  Comparison between H2 (left) and CH4 (right) model predictions after 10 yr, in steady-state -  see VIDEO-2.avi  for dynamic models. Model setup and boundary conditions are shown in Figure 2. The differences in the movement and distribution of the gases are determined by the differences in the mobility and solubility of the gases.

The modelling results are particularly relevant since we only have sparse evidence of high hydrogen concentrations in sediments, and there is limited knowledge on the processes that control hydrogen migration and trapping in sedimentary basins. As future developments for the box-size models, we aim to:

  • Run the models over greater (eventually geological) timescales
  • Parameterize other processes, such as adsorption, biological sinks and hydrodynamics
  • Test multiple gases systems (ie. H2O, H2 and CH4)
  • Test sensitivities to a variety of realistic geological setting, such as lithologies, P-T conditions and H2 generation rates

Following these initial tests, which are much more efficiently realized on box-size models, also to resolve potential issues of model stability, we plan to build basin-scale models, coupling sourcing, migration and trapping processes and, where possible, calibrate the model to observations/data. We are aware of the magnitude of the challenges associated with building natural-scale models. We are however encouraged to proceed with this work, considering the successful models developed by the Marum-Bremen team for evolution of passive margins and building of new oceans, which already incorporate crustal processes that are essential to simulate geological hydrogen generation, including serpentinization, sedimentation, faulting and the circulation of fluids (García-Pintado et al., 2023; Pérez-Gussinyé et al., 2023).

REFERENCES

Corey, A.T., 1954. The interrelation between gas and oil relative permeabilities. Producers Monthly 19 (November): 38–41.

García-Pintado, J., Pérez-Gussinyé, M., Abreu Cunha, T., Nuzzo, M., Lawrence, S., Jackson, O., Stocks, A., Barnicoat, A. & Hutchinson, I., 2023. Box-Size Numerical Modelling of Hydrogen Migration and Trapping: Testing the Geological Setting and Analogies with the Petroleum Systems. In Natural Hydrogen: A New Frontier for Energy Geoscience, 4-5 July 2023, Geological Society of London, London (UK). - Oral communication.

Garcia-Pintado, J., Perez-Gussinye, M. & Mezri, L., 2023. Spatio-temporal Dynamics of Hydrothermal Circulation over 10 million years of Ultraslow- Rifting and Spreading. GeoBerlin Geosciences Beyond Boundaries - Research, Society, Future, Berlin (Germany). - Oral communication.

International Energy Agency (IEA) - Technology needs for net-zero emissions (https://www.iea.org/reports/energy-technology-perspectives-2020/).

Jackson, O., Lawrence, S., Stocks, A., Barnicoat, A. & Hutchinson, I., 2023. The Natural Hydrogen System: how success can be achieved through the system and play approach. In Natural Hydrogen: A New Frontier for Energy Geoscience, 4-5 July 2023, Geological Society of London, London (UK) - Oral communication.

Lodhia, B.H., Clark, S.R., 2022. Computation of vertical fluid mobility of CO2 , methane, hydrogen and hydrocarbons through sandstones and carbonates. Nature Sci Rep, 12, 10216 (2022). https://doi.org/10.1038/s41598-022-14234-6

Maiga, O., Deville, E., Laval, J. et al., 2023a. Characterization of the spontaneously recharging natural hydrogen reservoirs of Bourakebougou in Mali. Nature Sci Rep, 13, 11876 (2023). https://doi.org/10.1038/s41598-023-38977-y

Maiga, O., Deville, E., Laval, J., Prinzhofer, A. & Aliou Boubacar, D., 2023b. Trapping processes of natural hydrogen in subsurface: The case of the emblematic H2 field of Bourakebougou (Mali). In Natural Hydrogen: A New Frontier for Energy Geoscience, 4-5 July 2023, Geological Society of London, London (UK) - Oral communication.

Pérez-Gussinyé, M., Collier, J.S., Armitage, J.J. et al., 2023. Towards a process-based understanding of rifted continental margins. Nature Reviews Earth Environ. 4, 166–184 (2023). https://doi.org/10.1038/s43017-022-00380-y.

van Genuchten, M. T., 1980 A closed-form equation for predicting the hydraulic conductivity of unsaturated soils, Soil Sci. Sac. Am. J., 44, 892-898.