Skip to main content

Written By Theresa St. John

Photos by Susan Blackburn Photography

[From the 2025 Home & Garden Magazine]

 

Food, Gracious Service, and Hospitality

Michele Morris does it again!

Michele Morris, owner of Juniper, located on historic Main Street in the charming village of Greenwich, NY, opened her doors just a few
weeks ago (3/24/25) and we
were so excited to see what she was up to. I love doing these features with Chris and Susan, and this was not only a culinary treat, but we got to experience this Washington County gem of a little town.

Greenwich was once called Whipple City, named after Job Whipple, the town’s first successful industrialist. In 1804, Job and his son-in-law, William Mowry, established a noted cotton mill there. In 1809, the village was incorporated and renamed Union Village. The name was changed again, in 1867, to Greenwich.

Stagecoach routes passed through the town, and in 1817, twenty-eight licenses were issued for inns and taverns, which would benefit weary travelers on their way to various destinations. Trains were introduced in 1869 with the construction of the Greenwich and Johnsonville Railroad. It was also considered an important location along the Underground Railway to Canada, with many locals actively participating in the abolition of slavery cause.

Today, driving through the village still lends that old-time-yesteryear feel. Once empty storefronts – either due to the pandemic’s pulverizing blow to the economy, the massive downtown fire in 2022, or simply not catching on with the quaint neighborhood- are now inviting people inside, indeed thriving on the main thoroughfare.

Juniper is tucked between trendy boutiques, food and gift shops, and a central hub called ‘Gather,’ where folks can get together, meet people, and celebrate area events. “The restaurant was named Juniper because, to me, the word channels the freshness of our bucolic surroundings and fits in so perfectly with Greenwich's lively, historic Main Street,” Michele explains when we have the chance to chat, as we wander around inside the charming space she calls her own. “I love the crisp, pretty colors associated with the name. I’ve tried to incorporate that thread thoughtfully throughout the restaurant.” Chris asks if it was a daunting task getting this space to look so charming and contemporary, and we watch Michele grin. (She may have even rolled her eyes.) “Let’s say reinventing the space was a fun and rewarding experience! Selecting the wallpaper was first, then choosing the colors and chandeliers, followed by some eclectic twists like Frank the Stag, the old, gilded mirror, and interior window boxes...”

Her voice trails off as we rave about Frank, a fun addition to the wall decorations, and most definitely a conversation piece. “The floral centerpiece on the bar is also fussed over regularly.” Susan has taken several photos, it’s stunning at every angle! “Currently, curly willow, eucalyptus, and colorful blooms are stealing the show.” When we entered the restaurant, Michele was cutting greenery to place inside the humongous vase on the front counter – truly breathtaking!

“It’s my pleasure to offer Juniper to this village, which has been so warm and welcoming to me. I hope guests feel relaxed, inspired, and fully satisfied with their Juniper experience and see it as a pleasing place to meet, eat, celebrate, and catch up over and over again.” Michele reveals there will be outdoor seating come warmer weather, where people can enjoy their meal under sunny blue skies.

We’re seated at a square table that faces the street. On one side of the restaurant are comfy padded benches and pillows, with tables and chairs spread out around the cozy space. The restaurant can accommodate 26 people. In a corner, there’s one black table with intricate carvings. Michele says it was in her home, across the street, but she wanted it here instead. The space is charming, adorable, eclectic, and welcoming for sure. When we arrived, we were the first ones inside, but within half an hour, the place was humming with activity… neighbors chatting, the staff addressing the new “regulars” and a wonderful sense of community surrounded us (after just one month!). Evidently, the word is out!

The three of us start with a glass of white wine, which is delightful on this warm evening. We hadn’t tried a Jacques Dumont wine prior, so this was a welcome treat. This Sauvignon Blanc is crisp and refreshing, with a zesty acidity and intense aromatics. Let’s just say we finished the bottle—and it went well with every dish that James, our server, brought to our table.

We start with an attractive plate titled Melty Baked Fontina Cheese. This cheese is To. Die. For. —seriously. The fontina cheese is melted and gooey, with a mixture of garlic and herbs. It’s topped with hot honey and served with crispy slices of crostini, sliced green apples, and chilled red grapes.

When I ask Michele about her life before Juniper, she reminisces… “As you may know, I owned and ran Scallions in Saratoga for nearly 20 years. (Oh, we know, we love Scallions!) I decided to sell it in 2018, staying on for a time, facilitating the transition for the new owners, Liz and Eric. After that, I worked for other restaurant owners, cared for an elderly relative, and ultimately made my way to Greenwich, where I fell in love with a charming old building on Main Street”. She states with a smile, looking outside, across the way. “I moved in and dedicated much planning and sweat equity to reimagining the beautiful spot I now call home.” As the renovation neared completion and family changes afforded her more time to consider future plans, Michele began nurturing the idea of Juniper. “I seem to always come back to food, gracious service, and hospitality,” she laughs. And the ‘For Rent’ sign at 99 Main kept calling to me!” We all chuckle at that. “I wanted a better work-life balance and knew I could achieve that by having my home and restaurant just across the street from one another. It truly is a dream come true.” 

The Juniper Salad is perfect and could be a meal on its own, with grilled chicken, delicious beets, crispy bacon, sliced red grapes, avocado, pickled red onion, and crumbled blue cheese on a bed of fresh mixed greens and a honey mustard vinaigrette. I bet it’ll be a huge hit come summer. We also split the Shrimp Bruschetta Salad – very impressive! Balsamic and pesto-glazed shrimp on a bed of arugula, tomatoes, mozzarella cheese, crispy prosciutto – perfection! I’ve never had crispy prosciutto, and the taste is incredible, not salty at all – we’re all fans! 

When Michele comes out of the kitchen, she wanders over to our table, where Susan asks more about her life. Inquiring minds want to know, right? I love it when we get a small glimpse into what makes people tick – everyone has a story.

“I’m from Merrick, Long Island, where I was raised with five brothers and sisters. We’ve always been deeply connected to the upstate area – my grandfather owned Butler Dairy Farm, in the hamlet of Willow Glen, near Stillwater,” she shares. “I attended Skidmore College, moved to Colorado for 10 years, and then returned to the area in 1999. I’ve always loved cooking and creating memorable occasions for friends and family. Once I relocated to the Saratoga area for good, I knew I wanted to take that passion and become a proprietor.” She has two grown sons, Tanner and Kieran. “They don’t live in the area but visit and can be spotted (helping?) at the restaurant.” She smiles. We have grown kids, too, and we know what she’s talking about. “When I’m not working? Let’s see – I enjoy renovation projects, movies, long walks, and terrace gardening. I’ve grown the most stunning dinner plate dahlias on my balcony - my pride and joy!”

Sandwhich

Cremepuff

Next up is the Meatloaf and Melted Cheddar Sandwich. It’s a thick slice of fresh meatloaf, with warm gooey cheddar cheese and garlicy sweet chili mayo, served on grilled Rock Hill Farm bread. Man, it reminds me of my mom and dad – they loved meatloaf and were always coming up with different ways to easily feed seven of us. They competed with recipes, and we’d always vote on the winner. Having a warm memory in a restaurant I’m trying for the first time is nice.

Chris asks what the secret ingredient is in the creamy potato salad that comes with the sandwich. “Potatoes,” Michele says with a chuckle. “The secret ingredient is love, someone calls from the kitchen. She makes it with love.”

We next share the Mediterranean Shrimp dish. Sauteed in lemon pesto sauce with fresh tomato, Kalamata olives, and arugula, the shrimp comes with wild rice and feta cheese. Again, the flavors are a welcome mix, and we can’t stop raving about how delicious this is!

“The menu is a constant work in progress, and I’m happy with our robust list of offerings. Soon, there’ll be weekly specials as I learn more about local ingredients, guest preferences, and what's doable in our kitchen.” Michele tells us. She also shares how lucky she feels to have found talented and hard-working staff who go above and beyond, delivering not just the food, but a warm and welcoming experience. Amanda, Heather, James, and Adriana are from Greenwich. “I also worked for years with Kathleen at Scallions. I’m so happy they’re all here.”

Glancing around the room, we see an older couple. They’ve been watching every dish come to our table. Skip has lived in Greenwich for 55 years, and Connie has been here for 16. They’re so excited to have a new eatery in town. They tell me this is their third time in, (mind you, Juniper hasn’t been open a month yet!!) and they always order the same thing: the Turkey Bacon Cheddar Sandwich. “Seeing everything you ladies were trying, though, I think next time we’ll order something different!” the couple laughs. Definitely regulars!

Dessert is ridiculous—honest to God. We tried the Beignets with fresh berries first. They are melt-in-your-mouth scrumptious, and the raspberry glaze is the perfect blend of sweet and tart. Afterward, we shared a slice of chocolate layer cake. (Can you count the layers?!) It tastes like fudge, so moist and decadent. The whipped cream is mocha flavored. Crazy. 

When we eventually say our goodbyes and leave Juniper, folks are still coming in, looking for a table. I have a feeling this will continue, and I think it’s a happy problem to have. We wish Michele, her staff, and Juniper the best!

Find juniper at 99 Main Street, Greenwich NY.

And as their Facebook page says…new, bold and anything but ordinary… we couldn’t agree more!

8.313MBMemory Usage109msRequest Duration
Joomla! Version4.4.13
PHP Version8.3.22
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" => "835" "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" => 1749977518 "last" => 1749977518...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (444.76KB) (1.03ms)
  • afterInitialise (1.96MB) (16.09ms)
  • afterRoute (376.18KB) (5.54ms)
  • beforeRenderComponent com_content (50.26KB) (950μs)
  • Before Access::preloadComponents (all components) (47.72KB) (1.5ms)
  • After Access::preloadComponents (all components) (119.86KB) (1.95ms)
  • Before Access::preloadPermissions (com_content) (1.63KB) (23μs)
  • After Access::preloadPermissions (com_content) (526.66KB) (1.44ms)
  • Before Access::getAssetRules (id:1010 name:com_content.article.835) (18.65KB) (26μs)
  • After Access::getAssetRules (id:1010 name:com_content.article.835) (7.38KB) (96μs)
  • afterRenderComponent com_content (1.92MB) (53.8ms)
  • afterDispatch (29.42KB) (1.15ms)
  • beforeRenderRawModule mod_finder () (372.68KB) (9.75ms)
  • afterRenderRawModule mod_finder () (1.95MB) (6.65ms)
  • beforeRenderModule mod_finder () (704B) (6μs)
  • afterRenderModule mod_finder () (1.44KB) (175μs)
  • beforeRenderRawModule mod_menu () (1.66KB) (205μs)
  • afterRenderRawModule mod_menu () (12.64KB) (792μs)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (3.69KB) (103μs)
  • beforeRenderRawModule mod_custom () (920B) (67μs)
  • afterRenderRawModule mod_custom () (319KB) (1.05ms)
  • beforeRenderModule mod_custom () (704B) (4μs)
  • afterRenderModule mod_custom () (3.15KB) (60μs)
  • beforeRenderRawModule mod_menu () (24B) (75μs)
  • afterRenderRawModule mod_menu () (552B) (421μs)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (2.76KB) (62μs)
  • beforeRenderRawModule mod_custom () (920B) (58μs)
  • afterRenderRawModule mod_custom () (1.03KB) (141μs)
  • beforeRenderModule mod_custom () (704B) (2μs)
  • afterRenderModule mod_custom () (1.23KB) (59μs)
  • beforeRenderRawModule mod_menu () (1.8KB) (77μs)
  • afterRenderRawModule mod_menu () (4.45KB) (446μs)
  • beforeRenderModule mod_menu () (696B) (3μs)
  • afterRenderModule mod_menu () (1.34KB) (83μs)
  • beforeRenderRawModule mod_finder () (96B) (8μs)
  • afterRenderRawModule mod_finder () (6.91KB) (500μs)
  • beforeRenderModule mod_finder () (704B) (3μs)
  • afterRenderModule mod_finder () (1.34KB) (76μs)
  • beforeRenderRawModule mod_custom () (288B) (8μs)
  • afterRenderRawModule mod_custom () (912B) (133μs)
  • beforeRenderModule mod_custom () (704B) (2μs)
  • afterRenderModule mod_custom () (1.23KB) (54μs)
  • beforeRenderRawModule mod_custom () (4.23KB) (163μs)
  • afterRenderRawModule mod_custom () (1008B) (142μs)
  • beforeRenderModule mod_custom () (704B) (2μs)
  • afterRenderModule mod_custom () (2.77KB) (46μs)
  • beforeRenderRawModule mod_custom () (472B) (58μs)
  • afterRenderRawModule mod_custom () (1008B) (113μs)
  • beforeRenderModule mod_custom () (704B) (2μs)
  • afterRenderModule mod_custom () (2.43KB) (43μs)
  • afterRender (331.17KB) (3.54ms)
  • 1 x afterRenderComponent com_content (1.92MB) (49.25%)
    53.80ms
    1 x afterInitialise (1.96MB) (14.73%)
    16.09ms
    1 x beforeRenderRawModule mod_finder () (372.68KB) (8.93%)
    9.75ms
    1 x afterRenderRawModule mod_finder () (1.95MB) (6.09%)
    6.65ms
    1 x afterRoute (376.18KB) (5.08%)
    5.54ms
    1 x afterRender (331.17KB) (3.24%)
    3.54ms
    1 x After Access::preloadComponents (all components) (119.86KB) (1.79%)
    1.95ms
    1 x Before Access::preloadComponents (all components) (47.72KB) (1.37%)
    1.50ms
    1 x After Access::preloadPermissions (com_content) (526.66KB) (1.32%)
    1.44ms
    1 x afterDispatch (29.42KB) (1.06%)
    1.15ms
    1 x afterRenderRawModule mod_custom () (319KB) (0.96%)
    1.05ms
    1 x afterLoad (444.76KB) (0.94%)
    1.03ms
    1 x beforeRenderComponent com_content (50.26KB) (0.87%)
    950μs
    1 x afterRenderRawModule mod_menu () (12.64KB) (0.73%)
    792μs
    1 x afterRenderRawModule mod_finder () (6.91KB) (0.46%)
    500μs
    1 x afterRenderRawModule mod_menu () (4.45KB) (0.41%)
    446μs
    1 x afterRenderRawModule mod_menu () (552B) (0.39%)
    421μs
    2 x afterRenderRawModule mod_custom () (1008B) (0.23%)
    255μs
    1 x beforeRenderRawModule mod_menu () (1.66KB) (0.19%)
    205μs
    1 x afterRenderModule mod_finder () (1.44KB) (0.16%)
    175μs
    1 x beforeRenderRawModule mod_custom () (4.23KB) (0.15%)
    163μs
    1 x afterRenderRawModule mod_custom () (1.03KB) (0.13%)
    141μs
    1 x afterRenderRawModule mod_custom () (912B) (0.12%)
    133μs
    2 x beforeRenderRawModule mod_custom () (920B) (0.11%)
    125μs
    2 x afterRenderModule mod_custom () (1.23KB) (0.1%)
    113μs
    1 x afterRenderModule mod_menu () (3.69KB) (0.09%)
    103μs
    1 x After Access::getAssetRules (id:1010 name:com_content.article.835) (7.38KB) (0.09%)
    96μs
    1 x afterRenderModule mod_menu () (1.34KB) (0.08%)
    83μs
    1 x beforeRenderRawModule mod_menu () (1.8KB) (0.07%)
    77μs
    1 x afterRenderModule mod_finder () (1.34KB) (0.07%)
    76μs
    1 x beforeRenderRawModule mod_menu () (24B) (0.07%)
    75μs
    1 x afterRenderModule mod_menu () (2.76KB) (0.06%)
    62μs
    1 x afterRenderModule mod_custom () (3.15KB) (0.06%)
    60μs
    1 x beforeRenderRawModule mod_custom () (472B) (0.05%)
    58μs
    1 x afterRenderModule mod_custom () (2.77KB) (0.04%)
    46μs
    1 x afterRenderModule mod_custom () (2.43KB) (0.04%)
    43μs
    1 x Before Access::getAssetRules (id:1010 name:com_content.article.835) (18.65KB) (0.02%)
    26μs
    1 x Before Access::preloadPermissions (com_content) (1.63KB) (0.02%)
    23μs
    5 x beforeRenderModule mod_custom () (704B) (0.01%)
    12μs
    3 x beforeRenderModule mod_menu () (696B) (0.01%)
    11μ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
53 statements were executed, 5 of which were duplicates, 48 unique12.11ms922.27KB
  • SELECT @@SESSION.sql_mode;94μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `jos_session` WHERE `session_id` = ?135μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = :session_id LIMIT 152μ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)209μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `jos_viewlevels`78μ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` = :guest153μ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"94μ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"67μ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"56μ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"52μ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"53μ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"53μ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"63μ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"74μ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"70μ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"64μ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"58μ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"57μ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"56μ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"56μ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"56μ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"56μ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"67μ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"61μ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"57μ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"57μ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"56μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SHOW FULL COLUMNS FROM `jos_tagz_config`427μs1.3KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT * FROM `jos_tagz_config` WHERE `name` = 'config'78μs592B/libraries/src/Table/Table.php:755Copy
  • SELECT id,template FROM jos_template_styles WHERE client_id=0 AND home=1114μs592B/administrator/components/com_widgetkit/widgetkit.php:28Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system'83μs536B/plugins/system/yooessentials/helper.php:153Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system' LIMIT 187μ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)496μ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` = 0558μs49.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jos_content`954μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `jos_content` SET `hits` = (`hits` + 1) WHERE `id` = '835'318μ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)527μs78.12KBParams/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`330μ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)260μ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`259μ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 ASC421μ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.74ms41.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`290μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 123 AND `component_type` = "menu"305μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 835 AND `component_type` = "content"113μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `name`,`element` FROM `jos_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1158μ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)183μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yootheme' AND folder = 'system' LIMIT 1586μ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 ASC286μ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)126μ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` = 1130μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = ?80μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `jos_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?205μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy