Skip to main content

Written By Wendy Hobday Haugh  |  Photos by PAUL PETRIE AND SUSAN OWENS

Woodturner Paul Petrie of Gloversville is passionate about creating beautiful wood art and educating people about the craft of woodturning. “Mention woodworking, and people generally think of furniture,” he says, “but mention woodturning, and they’re often clueless. People can picture a table saw, but a lathe is pretty much a mystery.”

For thousands of years, woodturners have created utilitarian items like drinking goblets, bowls, and candlestick holders. Using chisels, gouges, and scrapers, a woodturner is able to shape a piece of wood as it turns on a lathe.

“With furniture making, you need large amounts of space and big pieces of wood,” Petrie points out. “But if you’re a woodturner, you can do it in a closet because you’re dealing with a small block of wood, a few hand tools, and a spinning lathe that enables you to remove pieces of the block to create the canvas. You don’t need a lot of expensive wood, either,” he adds. “Scraps work fine. You can even pick up pieces left on the side of the road by tree crews.”

Paul Petrie grew up in Gloversville and earned a degree in economics and math from Assumption University in Worcester, MA. After graduating in 1968, he joined VISTA—the poverty-fighting program created as a domestic version of the Peace Corps—and was stationed in Hawaii as a YMCA outreach worker. When that work ended, in need of a job, Petrie began training in Hawaii as a carpenter. “Afterwards, I basically worked my way back across the United States,” he recalls. “Over time, I was lucky enough to spend time with a woodturner in Vermont, which is how I became interested in this particular field.” 

Petrie started out making replacements for broken chair spindles and stair balusters. From there, he moved on to bowls, vessels, and other utilitarian items. “But in the late ‘60s and ‘70s,” he explains, “there were individuals, mostly in the U.S., who started to think: ‘Hey, if they can make this very artistic piece of ceramic or glass, why can’t we do it with wood?’ After that, some people–several of whom actually worked at GE in Schenectady—got involved in taking woodturning from a utilitarian endeavor to an art form. Involvement in woodturning really picked up when an organization known as the American Association of Woodturners (AAW) and a magazine called Fine Woodworking began providing interested individuals with a lot of useful information.”A longtime member of the Adirondack Woodturners Association (AWA), Petrie meets monthly with group members to exchange ideas and demonstrate different techniques. “In turning, there are a million variations. You enter a rabbit hole and find there are a million passages instead of one, and you just keep exploring them. We all exchange ideas and help one another. Social media, Instagram in particular, has also led to a big influx of new ideas and shared information.”

Petrie was privileged to have studied and worked side by side with one of the world’s most respected and innovative woodturners. “In the early 2000s, while attending Arrowmont in TN—a huge, progressive art school with a massive turning building—I met and became good friends with instructor Binh Pho, a Viet Nam refugee from Chicago who had developed a piercing technique that uses high-speed dental drills to produce visual art on woodturned pieces.”

Around 2010, inspired by Binh Pho, Petrie began using dental drills and piercing to create intricate wood art that incorporated geometric patterns, delicate butterflies, filigree floral designs, and elaborate spirals. He also started painting and accessorizing his work by adding materials like abalone shell, mother of pearl, beads, and gemstones. 

Today, many of Paul Petrie’s incredibly lacy designs revolve around negative space: the spacing, or airy pockets, left behind when the wood is removed. “The remaining solid areas form the design, but the background is the negative space. In a painting, the canvas is the background. But in much of my work, the air becomes the background.

“I was a purist to start, never touching the wood,” he reflects, “just enjoying the different grains and the unique beauty of each individual piece. I didn’t understand, at first, all that I could do. Today, I create shelf art: pieces that are valued for their aesthetic beauty rather than their functionality. I may spend three hours on the lathe, working a block of wood to create my canvas. But afterwards, I might easily spend another 30 hours working on the decorative aspects of the piece. When people at shows see one of my more intricate pieces with lots of cuts and holes, they’ll often tell me, ‘It’s beautiful—but what do I do with it?’ I grin and tell them they can always strain spaghetti in it.”

For most of his career, Paul Petrie worked in the construction industry, building big, beautiful houses. Today, however, he loves the challenge of taking scraps of wood, creating stunning pieces of art and, then, exhibiting his work at juried shows throughout the northeast. This past March he traveled to Baltimore. This summer he’ll exhibit at the Berkshires Art Festival, a gathering of 175 juried artists from across the country, running July 1-3 in Great Barrington, MA. Petrie participates yearly in the Northville Rotary Woodworking and Fine Arts Weekend, a non-juried show scheduled for July 14-16, and his award-winning wood art has been featured in several magazines, including Fine Woodworking, The Best of Fine Woodworking: Wood Turning Basics, and American Woodturner. 

Because woodturning is still very much in its infancy compared to woodworking, ceramics or glasswork, Petrie takes every opportunity to educate people about the art form. Over the years, he has demonstrated woodturning in the Totally Turning event at the Northeast Woodworkers Association Show in Saratoga Springs, instructed at a Maine woodworking school, educated and demonstrated at woodturning clubs in PA, and taken on individual students in his Gloversville studio. 

“By teaching, you educate yourself all over again,” Petrie asserts. “You learn from everyone, instructors and students alike. Teaching enables you to get out there and spread the word to interested people. I enjoy attending shows, networking, learning from others, and educating people. It’s the snowball effect. Year by year, interest in woodturning is only growing larger, and that’s exciting.”  

To see more of Paul Petrie’s work, visit www.woodchuckwoodturning.com or call 518-725-6515. 

7.983MBMemory Usage115msRequest Duration
Joomla! Version4.4.13
PHP Version8.3.21
Identityguest
Response200
Templateyootheme
Database
Server
mysql
Version
8.0.42
Collation
utf8mb3_unicode_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
array:3 [ "catid" => "11" "id" => "505" "view" => "article" ]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:74 [ "USER" => "fivetowers" "HOME" => "/home/fivetowers" "SCRIPT_NAME" => "/index.php" ...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1747773188 "last" => 1747773188...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (444.73KB) (2.89ms)
  • afterInitialise (1.96MB) (27.05ms)
  • afterRoute (375.98KB) (5.15ms)
  • beforeRenderComponent com_content (49.15KB) (952μs)
  • Before Access::preloadComponents (all components) (47.72KB) (1.56ms)
  • After Access::preloadComponents (all components) (116.7KB) (1.19ms)
  • Before Access::preloadPermissions (com_content) (1.63KB) (12μs)
  • After Access::preloadPermissions (com_content) (514.33KB) (1.34ms)
  • Before Access::getAssetRules (id:670 name:com_content.article.505) (18.65KB) (24μs)
  • After Access::getAssetRules (id:670 name:com_content.article.505) (7.38KB) (109μs)
  • afterRenderComponent com_content (1.61MB) (43.86ms)
  • afterDispatch (29.42KB) (1.03ms)
  • beforeRenderRawModule mod_finder () (389.15KB) (13.01ms)
  • afterRenderRawModule mod_finder () (1.95MB) (6.99ms)
  • beforeRenderModule mod_finder () (704B) (5μs)
  • afterRenderModule mod_finder () (1.44KB) (173μs)
  • beforeRenderRawModule mod_menu () (1.66KB) (202μs)
  • afterRenderRawModule mod_menu () (56.55KB) (1.2ms)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (3.69KB) (106μs)
  • beforeRenderRawModule mod_custom () (920B) (67μs)
  • afterRenderRawModule mod_custom () (319.79KB) (1.14ms)
  • beforeRenderModule mod_custom () (704B) (4μs)
  • afterRenderModule mod_custom () (3.15KB) (54μs)
  • beforeRenderRawModule mod_menu () (24B) (72μs)
  • afterRenderRawModule mod_menu () (552B) (412μs)
  • beforeRenderModule mod_menu () (696B) (3μs)
  • afterRenderModule mod_menu () (2.76KB) (60μs)
  • beforeRenderRawModule mod_custom () (920B) (55μs)
  • afterRenderRawModule mod_custom () (1.03KB) (159μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (1.23KB) (68μs)
  • beforeRenderRawModule mod_menu () (1.8KB) (81μs)
  • afterRenderRawModule mod_menu () (4.45KB) (429μs)
  • beforeRenderModule mod_menu () (696B) (3μs)
  • afterRenderModule mod_menu () (1.34KB) (68μs)
  • beforeRenderRawModule mod_finder () (96B) (8μs)
  • afterRenderRawModule mod_finder () (7.28KB) (497μs)
  • beforeRenderModule mod_finder () (704B) (4μs)
  • afterRenderModule mod_finder () (1.34KB) (71μs)
  • beforeRenderRawModule mod_custom () (288B) (8μs)
  • afterRenderRawModule mod_custom () (912B) (143μs)
  • beforeRenderModule mod_custom () (704B) (2μs)
  • afterRenderModule mod_custom () (1.23KB) (55μs)
  • beforeRenderRawModule mod_custom () (6.27KB) (155μs)
  • afterRenderRawModule mod_custom () (1008B) (120μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (2.77KB) (44μs)
  • beforeRenderRawModule mod_custom () (472B) (58μs)
  • afterRenderRawModule mod_custom () (1008B) (108μs)
  • beforeRenderModule mod_custom () (704B) (2μs)
  • afterRenderModule mod_custom () (2.43KB) (40μs)
  • afterRender (298.95KB) (3.39ms)
  • 1 x afterRenderComponent com_content (1.61MB) (38%)
    43.86ms
    1 x afterInitialise (1.96MB) (23.43%)
    27.05ms
    1 x beforeRenderRawModule mod_finder () (389.15KB) (11.27%)
    13.01ms
    1 x afterRenderRawModule mod_finder () (1.95MB) (6.05%)
    6.99ms
    1 x afterRoute (375.98KB) (4.46%)
    5.15ms
    1 x afterRender (298.95KB) (2.93%)
    3.39ms
    1 x afterLoad (444.73KB) (2.51%)
    2.89ms
    1 x Before Access::preloadComponents (all components) (47.72KB) (1.35%)
    1.56ms
    1 x After Access::preloadPermissions (com_content) (514.33KB) (1.16%)
    1.34ms
    1 x afterRenderRawModule mod_menu () (56.55KB) (1.04%)
    1.20ms
    1 x After Access::preloadComponents (all components) (116.7KB) (1.03%)
    1.19ms
    1 x afterRenderRawModule mod_custom () (319.79KB) (0.99%)
    1.14ms
    1 x afterDispatch (29.42KB) (0.89%)
    1.03ms
    1 x beforeRenderComponent com_content (49.15KB) (0.82%)
    952μs
    1 x afterRenderRawModule mod_finder () (7.28KB) (0.43%)
    497μs
    1 x afterRenderRawModule mod_menu () (4.45KB) (0.37%)
    429μs
    1 x afterRenderRawModule mod_menu () (552B) (0.36%)
    412μs
    2 x afterRenderRawModule mod_custom () (1008B) (0.2%)
    228μs
    1 x beforeRenderRawModule mod_menu () (1.66KB) (0.17%)
    202μs
    1 x afterRenderModule mod_finder () (1.44KB) (0.15%)
    173μs
    1 x afterRenderRawModule mod_custom () (1.03KB) (0.14%)
    159μs
    1 x beforeRenderRawModule mod_custom () (6.27KB) (0.13%)
    155μs
    1 x afterRenderRawModule mod_custom () (912B) (0.12%)
    143μs
    2 x afterRenderModule mod_custom () (1.23KB) (0.11%)
    123μs
    2 x beforeRenderRawModule mod_custom () (920B) (0.11%)
    122μs
    1 x After Access::getAssetRules (id:670 name:com_content.article.505) (7.38KB) (0.09%)
    109μs
    1 x afterRenderModule mod_menu () (3.69KB) (0.09%)
    106μs
    1 x beforeRenderRawModule mod_menu () (1.8KB) (0.07%)
    81μs
    1 x beforeRenderRawModule mod_menu () (24B) (0.06%)
    72μs
    1 x afterRenderModule mod_finder () (1.34KB) (0.06%)
    71μs
    1 x afterRenderModule mod_menu () (1.34KB) (0.06%)
    68μs
    1 x afterRenderModule mod_menu () (2.76KB) (0.05%)
    60μs
    1 x beforeRenderRawModule mod_custom () (472B) (0.05%)
    58μs
    1 x afterRenderModule mod_custom () (3.15KB) (0.05%)
    54μs
    1 x afterRenderModule mod_custom () (2.77KB) (0.04%)
    44μs
    1 x afterRenderModule mod_custom () (2.43KB) (0.03%)
    40μs
    1 x Before Access::getAssetRules (id:670 name:com_content.article.505) (18.65KB) (0.02%)
    24μs
    5 x beforeRenderModule mod_custom () (704B) (0.01%)
    14μs
    1 x Before Access::preloadPermissions (com_content) (1.63KB) (0.01%)
    12μs
    3 x beforeRenderModule mod_menu () (696B) (0.01%)
    10μs
    2 x beforeRenderModule mod_finder () (704B) (0.01%)
    9μs
    1 x beforeRenderRawModule mod_finder () (96B) (0.01%)
    8μs
    1 x beforeRenderRawModule mod_custom () (288B) (0.01%)
    8μs
54 statements were executed, 5 of which were duplicates, 49 unique12.98ms917.33KB
  • SELECT @@SESSION.sql_mode;97μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `jos_session` WHERE `session_id` = ?165μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = :session_id LIMIT 167μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `jos_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)235μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `jos_viewlevels`113μs976B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jos_usergroups` AS `a` LEFT JOIN `jos_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest233μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_k2" AND e.type = "component"151μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_virtuemart" AND e.type = "component"74μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_easyblog" AND e.type = "component"72μs1.13KB/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jomclassifieds" AND e.type = "component"60μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_hikashop" AND e.type = "component"55μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_rseventspro" AND e.type = "component"54μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_zoo" AND e.type = "component"91μs536B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jticketing" AND e.type = "component"63μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_icagenda" AND e.type = "component"56μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_eventbooking" AND e.type = "component"63μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_eshop" AND e.type = "component"55μs1.76KB/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_rsblog" AND e.type = "component"56μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_mijovideos" AND e.type = "component"53μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_opencart" AND e.type = "component"57μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jcart" AND e.type = "component"52μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_djclassifieds" AND e.type = "component"66μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_j2store" AND e.type = "component"55μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_phocacart" AND e.type = "component"56μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jshopping" AND e.type = "component"69μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_igallery" AND e.type = "component"56μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_dpcalendar" AND e.type = "component"70μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SHOW FULL COLUMNS FROM `jos_tagz_config`606μs1.3KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT * FROM `jos_tagz_config` WHERE `name` = 'config'77μs592B/libraries/src/Table/Table.php:755Copy
  • SELECT id,template FROM jos_template_styles WHERE client_id=0 AND home=1139μs592B/administrator/components/com_widgetkit/widgetkit.php:28Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system'108μs536B/plugins/system/yooessentials/helper.php:153Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system' LIMIT 1114μs536B/plugins/system/yooessentials/modules/platform-joomla/src/Database.php:52Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jos_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,:preparedArray40,:preparedArray41)424μs9.94KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jos_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0522μs49.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jos_content`971μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `jos_content` SET `hits` = (`hits` + 1) WHERE `id` = '505'262μ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 `jos_content` AS `a` INNER JOIN `jos_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jos_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jos_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jos_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jos_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)450μs54.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 `jos_categories` AS `s` INNER JOIN `jos_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`366μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `jos_contentitem_tag_map` AS `m` INNER JOIN `jos_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)238μ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 `jos_categories` AS `s` INNER JOIN `jos_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`320μs3.91KBParams/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 jos_fields AS a LEFT JOIN `jos_languages` AS l ON l.lang_code = a.language LEFT JOIN jos_users AS uc ON uc.id=a.checked_out LEFT JOIN jos_viewlevels AS ag ON ag.id = a.access LEFT JOIN jos_users AS ua ON ua.id = a.created_user_id LEFT JOIN jos_fields_groups AS g ON g.id = a.group_id LEFT JOIN `jos_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)) AND `a`.`access` IN (:preparedArray3,:preparedArray4)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray5,:preparedArray6)) 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 ASC327μs4.75KBParams/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 `jos_content` AS `a` LEFT JOIN `jos_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 DESC2.36ms41.72KBParams/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 `jos_categories` AS `s` INNER JOIN `jos_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`292μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `jos_modules` AS `m` LEFT JOIN `jos_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `jos_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`931μs19.06KBParams/libraries/src/Cache/Controller/CallbackController.php:120Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 123 AND `component_type` = "menu"238μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 505 AND `component_type` = "content"116μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `name`,`element` FROM `jos_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1172μs592B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `jos_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)179μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yootheme' AND folder = 'system' LIMIT 1592μs688.52KB/templates/yootheme/packages/platform-joomla/src/Storage.php:30Copy
  • 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 jos_fields AS a LEFT JOIN `jos_languages` AS l ON l.lang_code = a.language LEFT JOIN jos_users AS uc ON uc.id=a.checked_out LEFT JOIN jos_viewlevels AS ag ON ag.id = a.access LEFT JOIN jos_users AS ua ON ua.id = a.created_user_id LEFT JOIN jos_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 ASC322μs4.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `title` FROM `jos_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)120μ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 `jos_scheduler_tasks` AS `a` WHERE `a`.`state` = 1147μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = ?83μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `jos_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?211μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy