Dr. Lehman is a prolific writer and educator whose interests have shifted somewhat over the past twenty-five years. Her first tome was The Ultimate Asteroid Book. In more recent years, her focus has shifted to explicating classical astrology methods. Her book Essential Dignities is a landmark work on the Ptolemaic Dignities, and a powerful polemic against including the outer planets as sign rulers. Lehman doesn't invalidate the astrological relevance of Uranus, Neptune, Pluto, and other invisible bodies, but she gives strong testimony about why they shouldn't be assigned as sign rulers. If anyone has any doubts about this, Essential Dignities is the book to read.

Classical Solar Returns is the third book Lehman has written in a two-year period. She's hitting her stride, slamming one home run after another. As is typical in her books, the writing is clear, concise, and easily understood. The organization of the material is top-notch (and organization shouldn't be underestimated as a crucial component of astrology books). In this particular book, the material is presented in a topical manner. The reader can proceed through a series of specific examples of solar returns that highlight that topic, grasp the relevant planetary placements and topical indicators, and move on to the next topic.

One unusual feature of this book is its physical layout. The book measures 6” x 9”, but it’s formatted horizontally rather than vertically, i.e., the pages are nine inches wide rather than long. This format seems a bit odd at first, but the benefits become evident as the numerous charts appear in the text. The wide pages allow a column of text to be placed aside a chart. In addition, the book doesn't slam shut as vertical paperbacks tend to do. Given the hefty 368-page length of the book, the wide format makes the book easier to handle and read.

The book begins with a history of solar returns. Lehman summarizes writings and practices of solar returns from the medieval Arabic period, where the method originated, to the 21st century. One of the critical issues discussed is the casting location of the solar return: should the astrologer cast the chart for the birthplace, the current location, or a location chosen to improve chart placements on one's birthday? Another issue is – when does the solar return start to take effect? These are fascinating questions that get to the heart of why a solar return chart is so important and useful. (sorry, no spoilers!)

In Chapter 2 - Classical Application of Solar Returns, the author considers what kind of information solar returns can offer and promotes the idea of looking at SR's over several years to ascertain if any trends are evident. Theodore Roosevelt's solar returns from 1898 to 1908 are used as examples of long-term SR analysis. This chapter sets the pattern for the book's content. Solar return charts are given as stand-alone charts, and there are a lot of them! Each chart is briefly analyzed. There are 138 charts in this book – far more than any astrology book I've seen. This gets two-thumbs up from me – the only way to learn how to read charts is to read a lot of them.

The following chapters delve into topics: Romance and Relationships; Jobs and Money; Having Children: Relocation; Education; Awards and Honors; Medical Problems; Life-changing Years; and Death. Through these chapters, Lehman cites aphorisms (rules of analysis) from Cardan, Morin, and Gadbury, three late-medieval astrologers who were prolific authors and knew their stuff. (Since James Holden translated Morin's massive “Astrologia Gallica” in something like 27 volumes, Morin has emerged as one of the finest astrologers who ever lived; Volume 23 “Revolutions” includes his writing on solar returns [AFA, 2002].)

The appendices are a treasure trove. Appendix A provides a synopsis of classical astrology concepts and methods. Appendix B is a glossary. Appendix C gives a table of essential dignities and almuten degrees. Appendix D gives lists of life-time events (brief chronological bios) for the many individuals whose charts are used as samples in the book. Appendix E gives a side-by-side listing of the aphorisms discussed in the course of the book, comparing analysis methods recommended by Cardan, Morin, and Gadbury. Some of their ideas are shared, while others are specific to one or another of these authors. These follow the topical presentation format, making this lengthy table a wonderful quick-reference guide for looking at solar returns. Appendix F is a list of the solar return planetary placements for the examples used in the book. References and an index round out the contents.

Astrological methods go in and out of style over decades and centuries. Practicing astrologers have to experiment with what methods are most useful for client consultations. As Lehman points out, it isn't useful to have too many charts to work with. The solar return has fallen from favor somewhat, but that is possibly because the work of 20th century astrologers obscured the core information that a solar return can give, as well as stuffing it in a stack with progressions, transits, various return charts, relationship charts, etc.

Classical Solar Returns brings the value of the solar return chart back into focus. The techniques shared in the book have the hallmark of no-nonsense clarity that's typical of classical astrological methods. If a client wants to know “what will happen in the coming year?,” the solar return is a reliable indicator. Astrologers steeped in psychologically-based chart analysis may be uncomfortable with so much straight-shooting. Classical and medieval astrologers didn't muck about inside of people's heads, they went straight for the meat and potatoes of real life experiences. A client's motives and emotional experience of events weren't a primary concern. The techniques underscore the prediction of life events. This predictive method doesn't take away a client's free will, but it does make the client totally responsible for exercising it to enhance or diminish the judgments of a solar return chart.

This book is accessible to experienced beginners who have a good grounding in classical methods, and it's also highly recommended for intermediate and advanced astrologers who would like to get a better grip on solar returns. Astrologers trained in 20th century psychological astrology should take a look at this book, since it offers such good insights into older methodologies. They may find they actually like these methods more than expected. Highly recommended!

~review by Elizabeth Hazel

Author: J. Lee Lehman, Ph.D.
Schiffer Books, 2012
368 pages, $34.99


28.324MBMemory Usage521msRequest Duration
Joomla! Version4.4.8
PHP Version8.3.21
Identityguest
Response200
Templatert_ambrosia
Database
Server
mysql
Version
10.6.22-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:49 [ "USER" => "facingnorth" "HOME" => "/home/facingnorth" "SCRIPT_NAME" => "/index.php"...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1747547046 "last" => 1747547046...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (458.78KB) (2.37ms)
  • afterInitialise (809.85KB) (13.76ms)
  • afterRoute (544.34KB) (9.13ms)
  • beforeRenderComponent com_content (34.19KB) (1.03ms)
  • Before Access::preloadComponents (all components) (33.47KB) (808μs)
  • After Access::preloadComponents (all components) (107.34KB) (948μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (27μs)
  • After Access::preloadPermissions (com_content) (2MB) (6.8ms)
  • Before Access::getAssetRules (id:2391 name:com_content.article.1512) (66.65KB) (216μs)
  • After Access::getAssetRules (id:2391 name:com_content.article.1512) (8.72KB) (126μs)
  • afterRenderComponent com_content (275.37KB) (11.74ms)
  • afterDispatch (2.28KB) (114μs)
  • beforeRenderRawModule mod_finder (Search Module) (1.52MB) (18.19ms)
  • afterRenderRawModule mod_finder (Search Module) (279.35KB) (4.78ms)
  • beforeRenderModule mod_finder (Search Module) (720B) (8μs)
  • afterRenderModule mod_finder (Search Module) (1.28KB) (96μs)
  • afterRender (19.73MB) (450ms)
  • 1 x afterRender (19.73MB) (86.31%)
    449.92ms
    1 x beforeRenderRawModule mod_finder (Search Module) (1.52MB) (3.49%)
    18.19ms
    1 x afterInitialise (809.85KB) (2.64%)
    13.76ms
    1 x afterRenderComponent com_content (275.37KB) (2.25%)
    11.74ms
    1 x afterRoute (544.34KB) (1.75%)
    9.13ms
    1 x After Access::preloadPermissions (com_content) (2MB) (1.3%)
    6.80ms
    1 x afterRenderRawModule mod_finder (Search Module) (279.35KB) (0.92%)
    4.78ms
    1 x afterLoad (458.78KB) (0.45%)
    2.37ms
    1 x beforeRenderComponent com_content (34.19KB) (0.2%)
    1.03ms
    1 x After Access::preloadComponents (all components) (107.34KB) (0.18%)
    948μs
    1 x Before Access::preloadComponents (all components) (33.47KB) (0.16%)
    808μs
    1 x Before Access::getAssetRules (id:2391 name:com_content.article.1512) (66.65KB) (0.04%)
    216μs
    1 x After Access::getAssetRules (id:2391 name:com_content.article.1512) (8.72KB) (0.02%)
    126μs
    1 x afterDispatch (2.28KB) (0.02%)
    114μs
    1 x afterRenderModule mod_finder (Search Module) (1.28KB) (0.02%)
    96μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.01%)
    27μs
    1 x beforeRenderModule mod_finder (Search Module) (720B) (0%)
    8μs
32 statements were executed, 3 of which were duplicates, 29 unique15.83ms396.05KB
  • SELECT @@SESSION.sql_mode;82μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `facv2_session` WHERE `session_id` = ?105μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `facv2_session` WHERE `session_id` = :session_id LIMIT 1131μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `facv2_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)1.38ms944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `facv2_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1271μs1.61KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `facv2_viewlevels`103μs656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `facv2_usergroups` AS `a` LEFT JOIN `facv2_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest145μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `facv2_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`542μs3.48KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • 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 `facv2_menu` AS `m` LEFT JOIN `facv2_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`789μs133.17KBParams/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 `facv2_categories` AS `s` INNER JOIN `facv2_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`387μs3.88KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id` FROM `facv2_content` WHERE `alias` = :alias AND `catid` = :catid148μs1.34KBParams/components/com_content/src/Service/Router.php:263Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `facv2_template_styles` AS `s` LEFT JOIN `facv2_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` = 1210μs880B/administrator/components/com_templates/src/Model/StyleModel.php:773Copy
  • SELECT s.id, s.template, s.home, s.title AS long_title, s.params FROM facv2_template_styles AS s WHERE s.client_id = 0 AND s.template = 'rt_ambrosia' ORDER BY s.id181μs800B/libraries/gantry5/src/classes/Gantry/Joomla/StyleHelper.php:69Copy
  • SELECT * FROM `facv2_languages` WHERE `published` = 1 ORDER BY `ordering` ASC164μs1.59KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `facv2_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)562μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `facv2_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 02.48ms181.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `facv2_content`512μs3.02KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `facv2_content` SET `hits` = (`hits` + 1) WHERE `id` = '1512'1.25ms48B/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 `facv2_content` AS `a` INNER JOIN `facv2_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `facv2_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `facv2_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `facv2_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `facv2_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)400μs22.13KBParams/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 `facv2_categories` AS `s` INNER JOIN `facv2_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`437μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `facv2_contentitem_tag_map` AS `m` INNER JOIN `facv2_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)269μs3.97KBParams/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 `facv2_categories` AS `s` INNER JOIN `facv2_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`423μs3.92KBParams/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 facv2_fields AS a LEFT JOIN `facv2_languages` AS l ON l.lang_code = a.language LEFT JOIN facv2_users AS uc ON uc.id=a.checked_out LEFT JOIN facv2_viewlevels AS ag ON ag.id = a.access LEFT JOIN facv2_users AS ua ON ua.id = a.created_user_id LEFT JOIN facv2_fields_groups AS g ON g.id = a.group_id LEFT JOIN `facv2_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 ASC814μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.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 `facv2_categories` AS `s` INNER JOIN `facv2_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`402μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `a`.`menutype`,`a`.`title` FROM `facv2_menu_types` AS `a` WHERE `a`.`client_id` = 0121μs608B/libraries/gantry5/src/classes/Gantry/Framework/Menu.php:138Copy
  • SELECT m.id, m.alias, m.path AS route, m.level, m.parent_id FROM facv2_menu AS m WHERE m.menutype = 'mainmenu' AND m.parent_id > 0 AND m.client_id = 0 AND m.published >= 0 ORDER BY m.lft573μs1.98KB/libraries/gantry5/src/classes/Gantry/Framework/Menu.php:791Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `facv2_modules` AS `m` LEFT JOIN `facv2_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `facv2_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`501μs1.83KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT `name`,`element` FROM `facv2_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1319μs656B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `facv2_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)200μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • 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 `facv2_scheduler_tasks` AS `a` WHERE `a`.`state` = 1219μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:466Copy
  • SELECT `session_id` FROM `facv2_session` WHERE `session_id` = ?151μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `facv2_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?1.56ms592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy