Book Summary and Reviews of The Lamplighter's Bookshop by Sophie Austin

The Lamplighter's Bookshop by Sophie Austin

The Lamplighter's Bookshop

by Sophie Austin

  • Readers' Rating (16):
  • Published:
  • Jun 2025, 368 pages
  • Rate this book

About this book

Book Summary

The Lost Bookshop meets The Lost Apothecary in a beguiling novel full of secrets…

When Evelyn Seaton answers an advertisement for an assistant at a forgotten bookshop in York, she is not the only one with something to hide.

There she meets the enigmatic and prickly William Morton, an aspiring writer keeping secrets of his own. But when the walls that Evelyn has built around herself start to crumble, there is only one person she can turn to.

Please be aware that this discussion guide will contain spoilers!
  1. Does the location have a strong sense of atmosphere? Do you think it feels like Victorian England?
  2. What are your first impressions of Evelyn? Does she feel relatable to a modern reader?
  3. How does Evelyn's' relationship with her mother develop over the book, and what are the strongest factors that influence it?
  4. What dynamic does Aunt Clara add to the story?
  5. Do you think that Evelyn could have handled Lady Violet differently?
  6. What did you think about Evelyn's and Williams first meeting? Did you sense an attraction between them?
  7. What did you think about William's personality and the way he interacts with Evelyn in the first part of the book? Are his actions and manner justified by his circumstances?
  8. What influence does Mr. Morton ...
Please be aware that this discussion may contain spoilers!

See what our members are saying about this book in our Community Forum.

William asks his uncle if Jack’s right when he says that “If you care for someone…then you should let them see all of who you are. He says that’s what love is” (p. 253). What’s your opinion on the subject?
I would agree that being as open and honest as possible is "part" of what love is, but it's not the definition of what love is in my opinion.
-Molly_Y


Evelyn recalls her father reading to her when she was a child. While she preferred Black Beauty, he enjoyed adventure novels. What does this say about each of their personalities, in your opinion? Do you have a book memory that involves a parent?
I always thought of Black Beauty as an adventure novel when I was young, so I don't quite know how to answer this question but I do think their personalities were different. I remember having books all around the house as a child. My Mom also read and still reads a lot. I recently learned that my...
-Molly_Y


Does the location have a strong sense of atmosphere? Do you think it feels like Victorian England?
In reading the book, my mind said Victorian England, but I don't think the setting was a strong point of the book.
-Arlene_Iannazzi


Did you find Evelyn's mother, Cecelia, a frustrating character, or were her actions in keeping with the period and her situation?
I found her character frustrating, same as others, but unfortunately a product of the time, as others have said.
-Molly_Y


Evelyn and William are both dishonest about important aspects of their lives. Did either do the right thing by concealing the truth? How might their situations have been better or worse had they been honest with each other and with their friends?
Honesty is the best policy…always! Yes their lives would gave been easier! Life and books often parallel each other. With all that said..honestly, the deception made the story flow and kept us wondering…what's next!
-Arlene_Iannazzi


What dynamic does Aunt Clara add to the story?
I'm afraid I can't add anything that wasn't already said! I was going to add exactly what everyone here said.
-Teri_D


Overall, what did you think of The Lamplighter’s Bookshop? (no spoilers, please!)
It was an okay book. Kept me interested. I like the little bit of magic involved. Relaxing, cozy book on the whole. Could have used a bit of sprucing up in the chronology. It had a lot of potential for a good story.
-Teri_D


What do you think about Evelyn's relationship with her father? Do you think she will see him again in the future? Do you think she should?
It's hard to predict what Evelyn would do about seeing her father again. She wanted him to be honest with her mother and he couldn't do that. My first reaction is no, she won't see him again but she dies has a soft spot for him, if he tells the truth. Maybe a book 2 would explore that relationshi...
-Arlene_Iannazzi


What did you enjoy most about the romance between Evelyn and William? How does it compare to other star-crossed lovers in literature?
It's not an unusual love story! A antagonist relationship, a slow warming to each other etc. I thought the author did a fantastic job in building the relationship. Not all of the story was predictable. Slowly building the two characters was a key to the story.
-Arlene_Iannazzi


What influence does Mr. Morton have on the couple's situation? Do you think his actions are designed to bring them together, or is he acting completely without motive?
He was a good guy, for sure! He loved William and actually owed the newfound success of his store to William and Evelyn. Otherwise, he would have stayed hidden in the back.
-Julie_P


Evelyn tells Bessie she thinks life would be simpler if people said what they thought more often, although Bessie disagrees (p. 4). What do you feel about this statement? Which woman do you agree with?
Yes, I agree with Evelyn, to a point. Sometimes there's nothing to be gained by speaking the truth, and relationships can suffer. Best to think it through, and try to speak the truth with some tact at least.
-Julie_P


What are your first impressions of Evelyn? Does she feel relatable to a modern reader?
The author created a likable character, one who was trying to advance the role of women in society while trying to appease her mother's old-fashioned ways. She stood up to her mother, reminding her that she bucked tradition by marrying a Baron, and Evelyn was trying to elevate their station in li...
-Julie_P


Do you think that Evelyn could have handled Lady Violet differently?
I agree with the above replies that Evelyn handled Lady Violet very well. She stood up to her, voiced her own opinion, all while realizing that Lady Violet had more money and social standing than she did. I was confused as to what "the beef" was between the two, and I thought the author didn't ex...
-Julie_P


What did you think about Evelyn's and William's first meeting? Did you sense an attraction between them?
I have also read a lot of romance novels over the years, though not recently, and when sparks fly at the initial meeting, it's a sure sign that the two are attracted to each other. So I knew immediately that William would be the romantic interest, and that was way too predictable for me.
-Julie_P


William tells Evelyn, “The longer you go without seeing someone, the harder it is to remember why you were so angry with them…” (p. 185). Do you agree with him? Why or why not?
I tend to agree with this; however, it depends on what the issue is. If the person you are angry with cheated on you, lied to you, committed crimes, etc, then you are going to remember, and you should. But sometimes, for a minor issue, it is easy to forget what started it.
-Julie_P


Is Nathaniel truly drawn to Evelyn, or do you think he is just trying to get Lady Violet's attention and playing her at her own game?
Nathaniel's character was confusing for me - he hung around Lady Violet's home, hoping to see her, but then seemed genuinely interested in Evelyn. And Lady Violet seemed dead set against him, since he was an untitled American. Then all of a sudden, they were in love and getting married. I didn't ...
-Julie_P


What did you think about William's personality and the way he interacts with Evelyn in the first part of the book? Are his actions and manner justified by his circumstances?
I liked William very much. I particularly liked the way he corrected quotes by others. His actions were justified by his circumstances and he had to have a definite chip on his shoulder when Evelyn took over HIS job (or so he thought.)
-Gwen_C


How does Evelyn's' relationship with her mother develop over the book, and what are the strongest factors that influence it?
In the beginning, I think Evelyn is protective of her mother because she doesn't realize the extent of her father's actions and how truly he doesn't care about anyone except himself. She doesn't realize what her father has done, how many years it has gone one, mostly because he was her father and...
-Julie_P


In an exchange with her mother, Evelyn expresses an unwillingness to trust others (“I do not want to place my belief in someone and then be forced to watch as they lead me over a cliff edge,” p. 14). How does this lack of trust impact her life?
Her inability to trust was sad. Almost lost everything and made her life much more stressful.
-Linnie_M


To what audience would you recommend The Lamplighter’s Bookshop? Is there another book or author you feel has a similar theme or style?
I would recommend this book to an audience that wants a warm, touchy-feely, easy read. It would be good for people who want a quick beach read, or who want a book that is light with a happy ending. For readers who want more historical significance, or who like thought-provoking literature, this b...
-Molly_A


The Lamplighter's Bookshop by Sophie Austin
Please join BookBrowse in our discussion of The Lamplighter's Bookshop by Sophie Austin
-system

Membership Advantages
  • Reviews
  • "Beyond the Book" articles
  • Free books to read and review (US only)
  • Find books by time period, setting & theme
  • Read-alike suggestions by book and author
  • Book club discussions
  • and much more!
  • Just $60 for 12 months or $20 for 3 months.
  • More about membership!

Reviews

Media Reviews

"With many side characters and subplots, debut author Austin keeps the pacing lively and crafts a vivid York, but the romance gets a little lost among too many plotlines. Still, this Victorian-era story is a promising and engaging start for a new author." —Library Journal

"An impressive debut, full of intrigue and heart. Historical fiction and romance readers will love Eleanor and William's story of fate and fiction, all wrapped around the nooks and crannies of a mysterious old bookshop in late nineteenth-century York. Delightful!" —Hazel Gaynor, New York Times bestselling author of The Last Lifeboat

This information about The Lamplighter's Bookshop was first featured in "The BookBrowse Review" - BookBrowse's membership magazine, and in our weekly "Publishing This Week" newsletter. Publication information is for the USA, and (unless stated otherwise) represents the first print edition. The reviews are necessarily limited to those that were available to us ahead of publication. If you are the publisher or author and feel that they do not properly reflect the range of media opinion now available, send us a message with the mainstream reviews that you would like to see added.

Any "Author Information" displayed below reflects the author's biography at the time this particular book was published.

Reader Reviews

Write your own reviewwrite your own review

Susan B. (Frederick, MD)

light reading
When I first started the book, I didn't think it was the usual historical novel. But it did hold my interest until the end. I'm really glad I didn't live in the era that the characters in the book did. How women were held back was very frustrating to me.

I really don't think Evelyn's parents were considering her in any of their decisions. although her mother's finally comes around in the end, it doesn't feel right that she had a change of heart. The romance part of the book is frustrating with missed opportunities and assumptions about the other person. I think both Evelyn and her mother should write the father out of their lives.

I know the book isn't suppose to be about the problem and addiction of gambling, but it does show how that personality type very often cannot quit it. The real hero is Mr. Morton when he leaves the bookstore to his nephew and also Evelyn for sending William's manuscript to a publisher. The end felt like a Hallmark movie.

Susan_Roberts

Historical Fiction
I don't read much historical fiction that takes place in the 1800's but this was a book about books and I couldn't resist it. This is a romance - not just a romance between two people but it's also a romance with books and bookstores.

Evelyn and her mother live in a large manor house in Yorkshire when the bailiff's come and tell them that they must move out immediately and can only take personal belongings. Evelyn's father is a gambler and has lost ownership of their manor home and spent all of his money. They have no other close family and decide that their only choice is to move to York to live with an elderly aunt.

It's apparent at their first meeting that the aunt doesn't want them there and continues to mention their disgrace. Evelyn realizes that it's up to her to make some money to help her family. Her mother thinks that women working is disgraceful so Evelyn has to hide the fact that she has gotten a job at a bookstore. It's a dusty old bookstore that is disorganized and kind of shabby. Just as Evelyn starts enjoying her job and helping to get things organized, the owner's nephew William shows up in need of a job.

He is a writer who is trying to write a book and has told everyone that he has written a book but has some serious writer's block and just can't get the book written. He knows that his uncle will hire him and is very unhappy to find out that Evelyn already has the job that he wanted. So now we have two people both desperately needing this job to survive but the bookstore can only support one of them.

William and Evelyn decide to have a competition over who can sell the most books and the winner will get the job in the bookstore as their reward. The more time they spend together at the bookshop, the more they become interested in each other. Can they break through their distrust of each other ? Can Evelyn become the muse for the book that William has been trying to write? Will they have a happily ever after?

Becky_T

Secrets galore
4.0

Status, lies, headstrong…

Evelyn and her mother Cecilia are ejected from their home in York in 1899. The family WAS aristocratic but lost their wealth and status due to reasons I won’t reveal. Without her mother’s knowledge , Evelyn applies for & accepts a job as an assistant at Morton’s Emporium (Bookshop).

A tale of secrets, 2nd chances, miscommunication, trust, success , and family drama.



THOUGHTS:

This book is advertised as historical and romance. I saw some historical as in wardrobe, transportation, cultural norms, and business mentions. I didn’t deem it as totally romance either. (Which is good for me because I don’t intentionally read romance!) I regard this as more of a character-driven fiction book about family drama with a touch of history and romance added to the mix.

My gut reaction to characters:

Evelyn - frank, outspoken / determined
William - mysterious / good intentions?
Cecilia - image-conscious / pushover where husband is concerned

Aunt Clara - crusty / testy
Lady Violet - snooty / hoity - toity / self-important

Supporting cast had a mix of personalities.

Debut book!

Beautiful cover

Gwen_C

Lamplighter’s Bookshop
I enjoyed this book, and initially thought it was above the standard fare, i.e. the sense of the bookshop “helping “ Evelyn; William correcting quotes, and Naomi’s advice from her mother. And who doesn’t enjoy the idea of improving a bookstore? The villain Violet was exquisitely portrayed, and Cecelia and Aunt Clara fit the bill nicely. All in all it was an enjoyable and predictable romance with a spirited heroine and snarly love interest.

Margaret_A

Lamplighters Bookshop
Lamplighters bookshop a historical fiction that is set in York in 1899.
After her father abandons the family, Evelyn and her mother Cecelia are evicted from their home and travel to York to live with spinster Aunt Clara.
To help with their financial situation Evelyn applies for an assistant job in a bookshop Since young women were still expected to marry and not work she keeps her job a secret

Evelyn meets William, the bookshop owners nephew, and a romance develops. The secret employment and romance lends depth to the plot

I found the characters whether primary or secondary well developed and the plot was engaging

One aspect that was a disappointment to me was the lack of magic.
Near the beginning the owner of the bookshop tells Evelyn that bookshop has a mind of its own. Also reviews had compared this novel to Lost Bookshop meets The Lost Apothecary. Therefore I was anticipating more magic that never really materialized

Leslie_Garber

More Bookshop Wanted
I was disappointed that the bookshop in itself did not play a more significant role in the story. It served only as a backdrop and was not really important to the plot. The shop could have been any type of store. I felt the "liar" theme was also a bit overdone to the detriment of deeper plot development. Also, a few plot details were left unexplained. Was Naomi black and therefore seemingly unaccepted somewhat at that time? Morton's love in India is always referred to as "they". Could his love have been a man? This fact is never clarified.

Membership Advantages
  • Reviews
  • "Beyond the Book" articles
  • Free books to read and review (US only)
  • Find books by time period, setting & theme
  • Read-alike suggestions by book and author
  • Book club discussions
  • and much more!
  • Just $60 for 12 months or $20 for 3 months.
  • More about membership!

Author Information

Sophie Austin

Sophie Austin was born in Kent and she earned her Bachelor's degree in Philosophy from King's College London in 2013. After spending five years working in marketing, Sophie moved to Sweden in 2017 to focus on her novel writing and gain her Master's in Transnational Creative Writing at Stockholm University. Now, Sophie works as a Creative Writer for Minecraft, the bestselling video game of all time. When she's not writing YouTube scripts for millions of viewers, she retreats to the turn of the century to write historical novels about a time where old Victorian values and turn-of-the-century inventions collide – a perfect, conflict-rich backdrop for her debut romance novel, The Lamplighter's Bookshop. Sophie is hard at work on her next historical romance. Find her on X @saustinauthor.

More Author Information

Membership Advantages
  • Reviews
  • "Beyond the Book" articles
  • Free books to read and review (US only)
  • Find books by time period, setting & theme
  • Read-alike suggestions by book and author
  • Book club discussions
  • and much more!
  • Just $60 for 12 months or $20 for 3 months.
  • More about membership!

Read-Alikes

Membership Advantages
  • Reviews
  • "Beyond the Book" articles
  • Free books to read and review (US only)
  • Find books by time period, setting & theme
  • Read-alike suggestions by book and author
  • Book club discussions
  • and much more!
  • Just $60 for 12 months or $20 for 3 months.
  • More about membership!

BookBrowse Book Club

Book Jacket
The Cover Girl
by Amy Rossi
Find them early enough, and they will always be her girls.

Members Recommend

  • Book Jacket
    The Sister's Curse
    by Nicola Solvinic
  • Book Jacket
    The Lost Story of Eva Fuentes
    by Chanel Cleeton
    A mysterious book links three women across generations in this novel by New York Times bestselling author Chanel Cleeton.
  • Book Jacket
    The Vanishing Place
    by Zoë Rankin
Who Said...

Most of us who turn to any subject we love remember some morning or evening hour when...

Click Here to find out who said this, as well as discovering other famous literary quotes!

Book
Trivia
  • Book Trivia

    Can you name the title?

    Test your book knowledge with our daily trivia challenge!

Wordplay

Solve this clue:

W the C A the M W P

and be entered to win..

Your guide toexceptional          books

BookBrowse seeks out and recommends the best in contemporary fiction and nonfiction—books that not only engage and entertain but also deepen our understanding of ourselves and the world around us.

 


Debugging Information
ColdFusion Server Developer 2021,0,13,330286
Template /bb_briefs/detail/index.cfm
Time Stamp 31-May-26 09:28 PM
Locale en
User Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Remote IP 127.0.0.1
Host Name 127.0.0.1


Execution Time

Total Time Avg Time Count Template
1780262888865 ms 1.78026288887E+012 ms 1 /root/website/app_server.cfm
1318 ms 1318 ms 1 /root/website/bb_briefs/detail/index.cfm
371 ms 371 ms 1 /root/website/queries/qry_get_discussion_by_id.cfm
247 ms 247 ms 1 /root/website/queries/qry_get_briefs_reader_rating.cfm
240 ms 240 ms 1 /root/website/bb_briefs/detail/dsp_main.cfm
190 ms 190 ms 1 /root/website/app_layout.cfm
179 ms 45 ms 4 /root/website/adsystem/adsystem_mod.cfm
137 ms 137 ms 1 /root/website/app_globals.cfm
127 ms 127 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
70 ms 70 ms 1 /root/website/adzones/AdZone6.cfm
63 ms 63 ms 1 /root/website/queries/qry_get_reader_reviews_by_preview_number.cfm
51 ms 13 ms 4 /root/website/site/blocks/membership_advantages.cfm
48 ms 48 ms 1 /root/website/queries/qry_get_active_obc.cfm
48 ms 12 ms 4 /root/website/queries/qry_get_member_account_types.cfm
48 ms 48 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
46 ms 46 ms 1 /root/website/adzones/showcase_track.cfm
39 ms 39 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
39 ms 39 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
36 ms 36 ms 1 /root/website/adzones/AdZone11.cfm
28 ms 28 ms 1 /root/website/adzones/AdZone3.cfm
22 ms 22 ms 1 /root/website/queries/qry_get_current_competition.cfm
17 ms 17 ms 1 /root/website/queries/qry_get_preview_awards_by_id.cfm
17 ms 17 ms 1 /root/website/queries/qry_get_preview_by_id.cfm
16 ms 16 ms 1 /root/website/queries/qry_get_books_by_briefs_category.cfm
15 ms 15 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
14 ms 14 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
13 ms 13 ms 1 /root/website/actions/adstatus.cfm
12 ms 12 ms 1 /root/website/act_check_login.cfm
12 ms 2 ms 5 /root/website/actions/act_spider_tracker.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_member_info.cfm
8 ms 8 ms 1 /root/website/queries/qry_get_author_bookcount.cfm
8 ms 8 ms 1 /root/website/queries/qry_get_liked_by_brief_id.cfm
6 ms 6 ms 1 /root/website/queries/qry_get_obc_number.cfm
5 ms 5 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_current_ezine.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/head.cfm
1 ms 1 ms 1 /root/website/Application.cfm
1 ms 1 ms 1 /root/website/act_libraryIPLogin.cfm
1 ms 1 ms 1 /root/website/site/blocks/dsp_top_brief_block.cfm
0 ms 0 ms 1 /root/website/actions/udfs.cfm
0 ms 0 ms 1 /root/website/banners/ad_594.cfm
0 ms 0 ms 1 /root/website/formurl2attributes.cfm
0 ms 0 ms 1 /root/website/js/fbjavascriptsdk.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.cfm
0 ms 0 ms 1 /root/website/site/blocks/act_book_view_tracking.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_border_booktalk.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_hc_message.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_header_newsletter.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_wordplay.cfm
0 ms 0 ms 1 /root/website/site/blocks/email_modal.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/google_tags.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/header_announcement.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_menu.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_search.cfm
2 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
1321 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=12ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 21:28:08.008
SELECT	a.bot_number
        FROM	bots a
        WHERE	charindex(a.bot_name, ?) > 0
		OR a.bot_ip = ?
Query Parameter Value(s) -
Parameter #1(cf_sql_varchar) = Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Parameter #2(cf_sql_varchar) = 127.0.0.1

get_member_info (Datasource=bookbrowse_com_new, Time=12ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 21:28:08.008
select 	a.*, 
    		b.member_account_type_name, b.member_account_type_charge, b.member_account_type_charge_frequency,  b.member_account_type_months, 
            c.member_chargetype_name, c.member_chargetype_number, a.member_classification_number, a.member_book_format
	
    from members a, member_account_types b, member_chargetype c
	
    where a.member_account_type_number = b.member_account_type_number
	and a.payment_method_id = c.member_chargetype_number
	and a.member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0

adactive (Datasource=bookbrowse_com_new, Time=12ms, Records=2) in /root/website/actions/adstatus.cfm @ 21:28:08.008
SELECT	viewby, section
    FROM	adsystem 
    WHERE	active  = 1 
    AND		start_date <= GETDATE()
    AND 	(viewby = ? OR viewby = 'all')
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = non

get_current_ezine (Datasource=bookbrowse_com_new, Time=0ms, Records=1, Cached Query) in /root/website/queries/qry_get_current_ezine.cfm @ 21:28:08.008
select		top 1 ezine_number, ezine_dt, ezine_image, ezine_brief_description, ezine_introduction
from		ezines
where		ezine_active_flag = 1
and 		ezine_type_number = 4
and			ezine_dt < getdate()
order by 	ezine_dt DESC
get_current_wordplay (Datasource=bookbrowse_com_new, Time=14ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 21:28:08.008
SELECT		a.wordplay_number, a.wordplay_dt, a.wordplay_name, a.wordplay_intro_text, b.wordplay_puzzle_number, b.wordplay_puzzle_question
    FROM		wordplays a 
	INNER JOIN	wordplay_puzzle_mapping c on c.wordplay_number = a.wordplay_number
	INNER JOIN	wordplay_puzzles b on b.wordplay_puzzle_number = c.wordplay_puzzle_number
	WHERE		a.wordplay_number = (	select top 1 a.wordplay_number
                                from wordplays a, wordplay_puzzles b, wordplay_puzzle_mapping c
                                where a.wordplay_number = c.wordplay_number
                                and b.wordplay_puzzle_number = c.wordplay_puzzle_number
                                and a.wordplay_dt < getdate()
                                and a.wordplay_expiration_dt > dateadd(day, -1, getdate())
                                order by a.wordplay_dt asc
                                )
get_ComNo (Datasource=bookbrowse_com_new, Time=13ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 21:28:08.008
SELECT 	TOP 1 	x.competition_number, x.bb_briefs_flag
	from			competitions x
	
		WHERE	x.competition_dt <= getdate()
		AND		x.competition_expiration_dt > dateadd(d,-1,getdate())
get_current_competition (Datasource=bookbrowse_com_new, Time=8ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 21:28:08.008
SELECT 	x.competition_number, x.book_number, x.competition_teaser_title, x.competition_teaser_description, x.competition_intro_text, x.competition_expiration_dt, x.bb_briefs_flag, x.competition_full_info_flag, x.competition_type, x.competition_optin,x.competition_optin_text, 
				a.book_title as "title",
				(b.author_first_name + ' ' +  b.author_middle_initial + ' ' + b.author_last_name) as "author",
	            f.edition_publish_dt AS "hardcover_publish_dt", f.edition_jacket_image as "hardcover_jacket_image",
				g.edition_publish_dt AS "paperback_publish_dt", g.edition_jacket_image as "paperback_jacket_image"
	
		FROM 		competitions x
		INNER JOIN	books a on a.book_number = x.book_number
		INNER JOIN	book_author_mapping c on c.book_number = x.book_number
		INNER JOIN	authors b on c.author_number = b.author_number
		LEFT JOIN	editions f on a.book_number = f.book_number and f.edition_paperback_flag = 0
		LEFT JOIN	editions g on a.book_number = g.book_number and g.edition_paperback_flag = 1

		WHERE		x.competition_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0

get_previous_arcs_for_ad (Datasource=bookbrowse_com_new, Time=0ms, Records=0, Cached Query) in /root/website/queries/qry_get_previous_arcs_for_ad.cfm @ 21:28:08.008
SELECT 	a.arc_number,a.arc_client_url,a.arc_active_dt, a.arc_off_ad_dt,
		b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_publisher, 
		b.ezine_preview_publish_dt, b.ezine_preview_jacket_desc, b.ezine_preview_number_of_pages, b.ezine_preview_bb_comments, b.ezine_preview_isbn13,
		c.ezine_preview_category_name AS "ezine_preview_category",
		(select count(*) from arc_allocator d where d.arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) as "reviews",
		(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,0))) AS numeric(12,0)))+
				(CASE WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
				 WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 50 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
				 ELSE 0
				 END)
 			from arc_allocator	where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS arcrating,
 			(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,1))) AS numeric(12,1)))from arc_allocator where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS "decrating"

FROM arcs a
INNER JOIN ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
INNER JOIN ezine_preview_categories c ON b.ezine_preview_category_number = c.ezine_preview_category_number

WHERE arc_closed_flag = 1
AND arc_obc_flag = 0
AND getdate() >= arc_on_ad_dt
AND getdate() < arc_off_ad_dt

ORDER BY a.arc_on_ad_dt DESC
get_future_obc (Datasource=bookbrowse_com_new, Time=9ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 21:28:08.008
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text, arc_on_ad_dt,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages, ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	
	WHERE 		arc_obc_flag = 1

	AND 		getdate() < arc_on_ad_dt
	
		ORDER BY  	NEWID()
get_active_obc (Datasource=bookbrowse_com_new, Time=14ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 21:28:08.008
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE 		a.arc_obc_flag = 1
	AND			a.arc_active_flag = 0
	AND 		arc_closed_flag = 1
	AND 		getdate() >= arc_on_ad_dt
	AND 		getdate() < arc_off_ad_dt
	ORDER BY  	NEWID()
get_recent_obc (Datasource=bookbrowse_com_new, Time=23ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 21:28:09.009
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE a.arc_number IN (select top 4 arc_number
							from		arcs
							WHERE 		arc_obc_flag = 1
							AND			arc_active_flag = 0
							AND 		arc_closed_flag = 1
							AND 		getdate() > arc_off_ad_dt
							ORDER BY	arc_on_ad_dt DESC)
	ORDER BY  	NEWID()
get_preview_by_id (Datasource=bookbrowse_com_new, Time=16ms, Records=1) in /root/website/queries/qry_get_preview_by_id.cfm @ 21:28:09.009
select 			a.ezine_preview_number,
				a.ezine_number, 
				a.ezine_preview_category_number, 
				a.ezine_preview_title, 
				a.ezine_preview_subtitle, 
				a.ezine_preview_author, 
				a.ezine_preview_publisher,
				a.ezine_preview_publish_dt,
				a.ezine_preview_number_of_pages, 
				a.ezine_preview_jacket_image,
				a.ezine_preview_reviews,
				a.ezine_preview_short_summary,
				a.ezine_preview_jacket_desc,
				a.ezine_preview_reading_guide,
				a.ezine_preview_bb_comments, 
				a.ezine_preview_isbn,
				a.ezine_preview_isbn13,
				a.ezine_preview_rating,
				a.ezine_preview_bb_link,
                a.ezine_preview_bb_author_link,
                a.ezine_preview_firsts_flag,
                a.ezine_preview_reading_level,
                a.ezine_preview_paperback_flag,
				b.*,
                c.ezine_dt, c.ezine_description
,(select publisher_holding_company from publishers where ezine_preview_publisher like publisher_imprint AND publisher_holding_company LIKE 'Harper%') AS "publisher_holding_company"		
 				
from ezine_previews a 
inner join ezine_preview_categories b ON b.ezine_preview_category_number = a.ezine_preview_category_number
left join ezines c ON c.ezine_number = a.ezine_number

where ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 21101

get_preview_awards_by_id (Datasource=bookbrowse_com_new, Time=17ms, Records=0) in /root/website/queries/qry_get_preview_awards_by_id.cfm @ 21:28:09.009
select a.book_award_number, a.book_award_name, a.book_award_image, c.book_award_dt
    from book_awards a 
    inner join book_awards_category b on b.book_award_number = a.book_award_number
    inner join book_awards_mapping c on c.book_awards_category_number = b.book_awards_category_number
    where ezine_preview_number =  ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 21101

get_briefs_reader_rating (Datasource=bookbrowse_com_new, Time=246ms, Records=1) in /root/website/queries/qry_get_briefs_reader_rating.cfm @ 21:28:09.009
SELECT	(CAST(AVG(CAST(rating AS numeric(12,0))) AS numeric(12,0)))+
				(CASE WHEN right(CAST(AVG(CAST(rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
				 WHEN right(CAST(AVG(CAST(rating AS numeric(12,2))) AS numeric(12,2)),2) >= 50 AND right(CAST(AVG(CAST(rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
			ELSE 0
			END) AS "avrating",
            count(rating) as "ratcount"
            
	FROM (
		SELECT reader_review_rating AS rating
		FROM reader_reviews
		WHERE ezine_preview_number = ?
		
		AND reader_review_rating > 0
		
		UNION ALL
		
		SELECT reading_list_book_rating AS rating
		FROM reading_lists
		WHERE book_number LIKE 'p%'
		AND TRY_CAST(SUBSTRING(book_number, 2, LEN(book_number)) AS INT) = ?
		AND reading_list_book_rating > 0
		AND TRY_CAST(SUBSTRING(book_number, 2, LEN(book_number)) AS INT) IS NOT NULL
	) combined_ratings
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 21101
Parameter #2(CF_SQL_INTEGER) = 21101

get_reader_reviews_by_preview_number (Datasource=bookbrowse_com_new, Time=62ms, Records=6) in /root/website/queries/qry_get_reader_reviews_by_preview_number.cfm @ 21:28:09.009
SELECT 		a.reader_review_number, a.book_number, a.ezine_preview_number, a.reader_review_approved_flag, a.reader_review_dt,
				COALESCE(NULLIF(LTRIM(RTRIM(m.discourse_username)), ''), NULLIF(LTRIM(RTRIM(a.reader_review_reviewer_name)), '')) AS reader_review_reviewer_name,
				a.reader_review_reviewer_email_address, a.reader_review_reviewer_from_locale, a.reader_review_recommended, a.reader_review_rating, a.reader_review_title, a.reader_review_description, ISNULL(a.like_count, 0) AS like_count,
    			b.ezine_preview_title,
    			ISNULL(e.edit_count, 0) AS edit_count,
    			e.last_edit_dt,
    			a.member_number AS review_member_number
    FROM 		reader_reviews a
    INNER JOIN	ezine_previews b ON a.ezine_preview_number = b.ezine_preview_number
    LEFT OUTER JOIN (
    	SELECT reader_review_number, COUNT(*) AS edit_count, MAX(edited_dt) AS last_edit_dt
    	FROM   reader_review_edits
    	GROUP BY reader_review_number
    ) e ON e.reader_review_number = a.reader_review_number
    LEFT OUTER JOIN members m ON m.member_number = a.member_number
	WHERE 		a.ezine_preview_number = ?
    AND			a.book_number = 0
    AND 		a.reader_review_approved_flag = 1
    

	ORDER BY a.reader_review_rating DESC, a.reader_review_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 21101

get_arc_idfk (Datasource=bookbrowse_com_new, Time=17ms, Records=1) in /root/website/queries/qry_get_discussion_by_id.cfm @ 21:28:09.009
SELECT 		a.arc_forumidfk,a.discourse_flag
    FROM 		arcs a
    INNER JOIN 	ezine_previews e on e.ezine_preview_number = a.ezine_preview_number
    
	
        WHERE 		e.ezine_preview_number = ? 
    AND DATALENGTH(a.arc_forumidfk) > 0 AND arc_obc_flag=1
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 21101

get_arc_idfk_legacy (Datasource=bookbrowse_com_new, Time=17ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 21:28:09.009
SELECT 		a.arc_forumidfk,a.discourse_flag
    FROM 		arcs a
    INNER JOIN 	ezine_previews e on e.ezine_preview_number = a.ezine_preview_number
    
	
        WHERE 		e.ezine_preview_number = ? 
    AND DATALENGTH(a.arc_forumidfk) > 0 AND arc_obc_flag=1 AND a.discourse_flag = 0
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 21101

obc_discussions (Datasource=booktalk_new, Time=212ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 21:28:09.009
SELECT 		t.name,
                m.title, m.body,
                u.username, t.id,
				(SELECT COUNT(*) from booktalk_messages where threadidfk = t.id) AS	"responses"
                
    FROM 		booktalk_forums f
    INNER JOIN	booktalk_threads t on t.forumidfk = f.id
    INNER JOIN	booktalk_messages m on m.posted = t.lastpostcreated
    INNER JOIN	booktalk_users u on u.id = m.useridfk
    
    WHERE 	f.id = ?
    AND 	f.active = 1
	AND		t.active = 1
    
    ORDER BY t.name, t.messages DESC
Query Parameter Value(s) -
Parameter #1(cf_sql_varchar) =

searchResults (Datasource=bookbrowse_com_new, Time=122ms, Records=21) in /root/website/queries/qry_get_discussion_by_id.cfm @ 21:28:09.009
SELECT book_number, post_id, topic_id, blurb, username, topic_title
					FROM DiscourseSearchResults
					
        WHERE 		book_number = ? 
                    AND topic_id IS NOT NULL
Query Parameter Value(s) -
Parameter #1(cf_sql_varchar) = p21101

ya_check (Datasource=bookbrowse_com_new, Time=8ms, Records=0) in /root/website/queries/qry_get_books_by_briefs_category.cfm @ 21:28:09.009
select ezine_preview_reading_level 
from ezine_previews 
where ezine_preview_number = ?
and ezine_preview_reading_level = 2
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 21101

get_books_by_brief (Datasource=bookbrowse_com_new, Time=6ms, Records=20) in /root/website/queries/qry_get_books_by_briefs_category.cfm @ 21:28:09.009
select 			top 20
				a.ezine_preview_reading_level,
				b.category_name,
				c.category_number, 
				d.book_number, d.book_title,
				f.author_number, f.author_first_name, author_middle_initial, author_last_name
				
from 			ezine_previews a 
inner join		categories b on b.ezine_preview_category_number = a.ezine_preview_category_number
inner join		category_book_mapping c on c.category_number = b.category_number
inner join		books d on d.book_number = c.book_number
inner join		book_author_mapping e on e.book_number = d.book_number
inner join		authors f on f.author_number = e.author_number

where			a.ezine_preview_number = ? 

order by 		d.book_number DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 21101

get_author_bookcount (Datasource=bookbrowse_com_new, Time=7ms, Records=0) in /root/website/queries/qry_get_author_bookcount.cfm @ 21:28:09.009
select		b.book_title as "title", 1 as "bb_flag", b.book_number as "number"
        from		book_author_mapping a
		inner join	books b on b.book_number = a.book_number
        where		a.author_number = ?
union
    	select		c.ezine_preview_title as "title", 0 as "bb_flag", c.ezine_preview_number as "number"
        from		ezine_previews c
        where		c.ezine_preview_bb_author_link = ?
        and			c.ezine_preview_bb_link = 0
		and 1=0
order by title DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0
Parameter #2(CF_SQL_INTEGER) = 0

get_obc_number (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/queries/qry_get_obc_number.cfm @ 21:28:09.009
select a.arc_forumidfk
    from arcs a
    
    	where a.ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(cf_sql_numeric) = 21101.0

existingResults (Datasource=bookbrowse_com_new, Time=75ms, Records=21) in /root/website/actions/udfs.cfm @ 21:28:09.009
SELECT id, last_updated
        FROM DiscourseSearchResults
        WHERE book_number = ?
        ORDER BY last_updated DESC
Query Parameter Value(s) -
Parameter #1(cf_sql_varchar) = p21101

get_ads (Datasource=bookbrowse_com_new, Time=16ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:28:09.009
SELECT		a.adid,	adweight
	FROM		adsystem a
	INNER JOIN 	ad_category_mapping b ON b.adid = a.adid
	WHERE		a.section = ?
	AND			a.active  = 1
	AND 		a.start_date <= GETDATE()
	
	AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
            

	AND     (b.category_number IN (	SELECT	category_number
									FROM	category_book_mapping
									WHERE	book_number = ?)
      		OR 	b.category_number = ?)
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = adzone3
Parameter #2(CF_SQL_VARCHAR) = 0
Parameter #3(CF_SQL_VARCHAR) = 0

get_ads (Datasource=bookbrowse_com_new, Time=10ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:28:09.009
SELECT	a.adid,	adweight
        FROM	adsystem a
        WHERE	a.section = ? 
        AND 	a.active  = 1 
        AND		a.start_date <= GETDATE()	
        
        AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
        AND (select count(*) from ad_category_mapping where datalength(category_number) >= 1 and adid = a.adid) = 0
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = adzone3

get_member_account_types (Datasource=bookbrowse_com_new, Time=16ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 21:28:09.009
select member_account_type_number, member_account_type_name, member_account_type_charge, member_account_type_charge_frequency, member_account_type_postscript, member_account_type_months, member_account_type_stripe_lookup_key
from member_account_types
where member_account_type_number = (select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 12
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
or member_account_type_number =		(select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 3
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
order by member_account_type_sort_order ASC
get_member_account_types (Datasource=bookbrowse_com_new, Time=7ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 21:28:09.009
select member_account_type_number, member_account_type_name, member_account_type_charge, member_account_type_charge_frequency, member_account_type_postscript, member_account_type_months, member_account_type_stripe_lookup_key
from member_account_types
where member_account_type_number = (select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 12
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
or member_account_type_number =		(select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 3
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
order by member_account_type_sort_order ASC
get_ads (Datasource=bookbrowse_com_new, Time=18ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:28:09.009
SELECT		a.adid,	adweight
	FROM		adsystem a
	INNER JOIN 	ad_category_mapping b ON b.adid = a.adid
	WHERE		a.section = ?
	AND			a.active  = 1
	AND 		a.start_date <= GETDATE()
	
	AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
            

	AND     (b.category_number IN (	SELECT	category_number
									FROM	category_book_mapping
									WHERE	book_number = ?)
      		OR 	b.category_number = ?)
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = adzone11
Parameter #2(CF_SQL_VARCHAR) = 0
Parameter #3(CF_SQL_VARCHAR) = 0

get_ads (Datasource=bookbrowse_com_new, Time=15ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:28:09.009
SELECT	a.adid,	adweight
        FROM	adsystem a
        WHERE	a.section = ? 
        AND 	a.active  = 1 
        AND		a.start_date <= GETDATE()	
        
        AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
        AND (select count(*) from ad_category_mapping where datalength(category_number) >= 1 and adid = a.adid) = 0
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = adzone11

get_member_account_types (Datasource=bookbrowse_com_new, Time=9ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 21:28:09.009
select member_account_type_number, member_account_type_name, member_account_type_charge, member_account_type_charge_frequency, member_account_type_postscript, member_account_type_months, member_account_type_stripe_lookup_key
from member_account_types
where member_account_type_number = (select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 12
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
or member_account_type_number =		(select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 3
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
order by member_account_type_sort_order ASC
get_liked_by_brief_id (Datasource=bookbrowse_com_new, Time=8ms, Records=0) in /root/website/queries/qry_get_liked_by_brief_id.cfm @ 21:28:09.009
SELECT
		ep.ezine_preview_title AS book_title,
		'p' + CAST(ep.ezine_preview_number AS VARCHAR) AS book_number,
		b.book_title AS "referenced_book_title",
		CAST(b.book_number AS VARCHAR) AS "liked_book_number",
		b.book_short_summary AS "liked_short_summary",
		CASE
			WHEN datalength(e.author_middle_initial) > 0
			THEN e.author_first_name + ' ' + e.author_middle_initial + '. ' + e.author_last_name
			ELSE e.author_first_name + ' ' + e.author_last_name
		END AS "author_name",
		(select top 1 edition_publish_dt from editions where editions.book_number = b.book_number order by edition_publish_dt DESC) AS 'sortdate',
		(select count(*) from book_author_mapping m where m.author_number = d.author_number)
		+ (select count(*) from ezine_previews where ezine_preview_bb_author_link = d.author_number and ezine_preview_bb_link =0) AS 'liked_author_bookcount',
		0 AS 'is_brief'

	FROM 		liked a
	INNER JOIN	ezine_previews ep ON ep.ezine_preview_number = ?
		AND a.book_number = ep.ezine_preview_number
	INNER JOIN	books b ON b.book_number = a.liked_book_number
	INNER JOIN	book_author_mapping d ON d.book_number = b.book_number
	INNER JOIN	authors e ON e.author_number = d.author_number

	UNION

	
	SELECT
		ep.ezine_preview_title AS book_title,
		'p' + CAST(ep.ezine_preview_number AS VARCHAR) AS book_number,
		b.book_title AS "referenced_book_title",
		CAST(b.book_number AS VARCHAR) AS "liked_book_number",
		b.book_short_summary AS "liked_short_summary",
		CASE
			WHEN datalength(auth.author_middle_initial) > 0
			THEN auth.author_first_name + ' ' + auth.author_middle_initial + '. ' + auth.author_last_name
			ELSE auth.author_first_name + ' ' + auth.author_last_name
		END AS "author_name",
		(select top 1 edition_publish_dt from editions where editions.book_number = b.book_number order by edition_publish_dt DESC) AS 'sortdate',
		0 AS 'liked_author_bookcount',
		0 AS 'is_brief'

	FROM 		readalikes_cache rc
	INNER JOIN	ezine_previews ep ON ep.ezine_preview_number = ?
		AND rc.source_book_number = 'p' + CAST(ep.ezine_preview_number AS VARCHAR)
	INNER JOIN	books b ON b.book_number = rc.recommended_book_number
	INNER JOIN	book_author_mapping bam ON bam.book_number = b.book_number
	INNER JOIN	authors auth ON auth.author_number = bam.author_number

	ORDER BY 	sortdate desc, referenced_book_title
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 21101
Parameter #2(CF_SQL_INTEGER) = 21101

get_member_account_types (Datasource=bookbrowse_com_new, Time=14ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 21:28:09.009
select member_account_type_number, member_account_type_name, member_account_type_charge, member_account_type_charge_frequency, member_account_type_postscript, member_account_type_months, member_account_type_stripe_lookup_key
from member_account_types
where member_account_type_number = (select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 12
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
or member_account_type_number =		(select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 3
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
order by member_account_type_sort_order ASC
get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=8ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 21:28:10.010
SELECT 	top 10 a.arc_number,arc_promo_text,
		b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_publish_dt, 
		(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,0))) AS numeric(12,0)))+
				(CASE WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
				 WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 50 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
				 ELSE 0
				 END)
 			from arc_allocator	where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS arcrating

FROM arcs a
INNER JOIN ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number

WHERE arc_closed_flag = 1
AND arc_obc_flag = 0
AND getdate() >= arc_on_ad_dt
AND (select count(*) from arc_allocator d where d.arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) > 1
and getdate() <= dateadd(day,1,a.arc_off_ad_dt)

ORDER BY NEWID()
get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=30ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 21:28:10.010
SELECT 	top 3 a.arc_number,arc_promo_text,
			b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_publish_dt, 
			(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,0))) AS numeric(12,0)))+
					(CASE WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
					 WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 50 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
					 ELSE 0
					 END)
				from arc_allocator	where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS arcrating

	FROM arcs a
	INNER JOIN ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number

	WHERE arc_closed_flag = 1
	AND arc_obc_flag = 0
	AND getdate() >= arc_on_ad_dt
	AND (select count(*) from arc_allocator d where d.arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) > 1

	ORDER BY a.arc_off_ad_dt DESC
get_ads (Datasource=bookbrowse_com_new, Time=24ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:28:10.010
SELECT		a.adid,	adweight
	FROM		adsystem a
	INNER JOIN 	ad_category_mapping b ON b.adid = a.adid
	WHERE		a.section = ?
	AND			a.active  = 1
	AND 		a.start_date <= GETDATE()
	
	AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
            

	AND     (b.category_number IN (	SELECT	category_number
									FROM	category_book_mapping
									WHERE	book_number = ?)
      		OR 	b.category_number = ?)
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = adzone6
Parameter #2(CF_SQL_VARCHAR) = 0
Parameter #3(CF_SQL_VARCHAR) = 0

get_ads (Datasource=bookbrowse_com_new, Time=29ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 21:28:10.010
SELECT	a.adid,	adweight
        FROM	adsystem a
        WHERE	a.section = ? 
        AND 	a.active  = 1 
        AND		a.start_date <= GETDATE()	
        
        AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
        AND (select count(*) from ad_category_mapping where datalength(category_number) >= 1 and adid = a.adid) = 0
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = adzone6

get_type (Datasource=bookbrowse_com_new, Time=13ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 21:28:10.010
SELECT	a.start_date, a.adid, a.end_date, a.camp_views, a.image_name, a.alt_text, a.views, a.code, a.adsize
        FROM	adsystem a
        WHERE	a.adid = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1112

get_quotes (Datasource=bookbrowse_com_new, Time=13ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 21:28:10.010
select top 1 ezine_number, ezine_quote, ezine_quote_title
	    from ezines
	    where len(ezine_quote_title) > 1
	    order by newid()
get_free_newsletters (Datasource=bookbrowse_com_new, Time=0ms, Records=4, Cached Query) in /root/website/queries/qry_get_free_newsletters.cfm @ 21:28:10.010
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=11ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:28:10.010
SELECT		a.adid,	adweight
	FROM		adsystem a
	INNER JOIN 	ad_category_mapping b ON b.adid = a.adid
	WHERE		a.section = ?
	AND			a.active  = 1
	AND 		a.start_date <= GETDATE()
		 	AND a.adid NOT IN (?) 
	AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
            

	AND     (b.category_number IN (	SELECT	category_number
									FROM	category_book_mapping
									WHERE	book_number = ?)
      		OR 	b.category_number = ?)
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = showcase_track
Parameter #2(CF_SQL_INTEGER) = 1112
Parameter #3(CF_SQL_VARCHAR) = 0
Parameter #4(CF_SQL_VARCHAR) = 0

get_ads (Datasource=bookbrowse_com_new, Time=10ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 21:28:10.010
SELECT	a.adid,	adweight
        FROM	adsystem a
        WHERE	a.section = ? 
        AND 	a.active  = 1 
        AND		a.start_date <= GETDATE()	
        		AND a.adid NOT IN (?) 
        AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
        AND (select count(*) from ad_category_mapping where datalength(category_number) >= 1 and adid = a.adid) = 0
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = showcase_track
Parameter #2(CF_SQL_INTEGER) = 1112

get_type (Datasource=bookbrowse_com_new, Time=19ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 21:28:10.010
SELECT	a.start_date, a.adid, a.end_date, a.camp_views, a.image_name, a.alt_text, a.views, a.code, a.adsize
        FROM	adsystem a
        WHERE	a.adid = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 594


Scope Variables

CGI Variables:
AUTH_PASSWORD=
AUTH_TYPE=
AUTH_USER=
CERT_COOKIE=
CERT_FLAGS=
CERT_ISSUER=
CERT_KEYSIZE=
CERT_SECRETKEYSIZE=
CERT_SERIALNUMBER=
CERT_SERVER_ISSUER=
CERT_SERVER_SUBJECT=
CERT_SUBJECT=
CF_TEMPLATE_PATH=/root/website/bb_briefs/detail/index.cfm
CONTENT_LENGTH=
CONTENT_TYPE=
CONTEXT_PATH=
GATEWAY_INTERFACE=
HTTPS=
HTTPS_KEYSIZE=
HTTPS_SECRETKEYSIZE=
HTTPS_SERVER_ISSUER=
HTTPS_SERVER_SUBJECT=
HTTP_ACCEPT=*/*
HTTP_ACCEPT_ENCODING=gzip, br, zstd, deflate
HTTP_ACCEPT_LANGUAGE=
HTTP_CONNECTION=upgrade
HTTP_COOKIE=CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%23; CFGLOBALS=urltoken%3DCFID%23%3D4074641%26CFTOKEN%23%3D5d1a29fcf96a7567%2DFF5BC786%2DCDA3%2DE8D1%2DB46CBDA4DA558DEA%23lastvisit%3D%7Bts%20%272026%2D05%2D31%2021%3A28%3A08%27%7D%23hitcount%3D110%23timecreated%3D%7Bts%20%272026%2D05%2D31%2021%3A27%3A47%27%7D%23cftoken%3D5d1a29fcf96a7567%2DFF5BC786%2DCDA3%2DE8D1%2DB46CBDA4DA558DEA%23cfid%3D4074641%23; CFTOKEN=5d1a29fcf96a7567-FF5BC786-CDA3-E8D1-B46CBDA4DA558DEA; FREEACCESSCOUNT=0; CFID=4074641
HTTP_HOST=dev.bookbrowse.com
HTTP_REFERER=
HTTP_URL=
HTTP_USER_AGENT=Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
LOCAL_ADDR=127.0.0.1
PATH_INFO=/ezine_preview_number/21101/the-lamplighters-bookshop
PATH_TRANSLATED=/root/website/bb_briefs/detail/index.cfm
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REMOTE_HOST=127.0.0.1
REMOTE_USER=
REQUEST_METHOD=GET
SCRIPT_NAME=/bb_briefs/detail/index.cfm
SERVER_NAME=dev.bookbrowse.com
SERVER_PORT=8500
SERVER_PORT_SECURE=0
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=
WEB_SERVER_API=
Client Variables:
cfid=4074641
cftoken=5d1a29fcf96a7567-FF5BC786-CDA3-E8D1-B46CBDA4DA558DEA
hitcount=116
lastvisit={ts '2026-05-31 21:28:10'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-05-31 21:27:47'}
urltoken=CFID=4074641&CFTOKEN=5d1a29fcf96a7567-FF5BC786-CDA3-E8D1-B46CBDA4DA558DEA
view=books
Cookie Variables:
CFCLIENT_BOOKBROWSE=order=p#member_number=0#member_active_flag=0#member_logged_in_flag=0#library_user_flag=0#view=books#
CFGLOBALS=urltoken=CFID#=4074641&CFTOKEN#=5d1a29fcf96a7567-FF5BC786-CDA3-E8D1-B46CBDA4DA558DEA#lastvisit={ts '2026-05-31 21:28:08'}#hitcount=110#timecreated={ts '2026-05-31 21:27:47'}#cftoken=5d1a29fcf96a7567-FF5BC786-CDA3-E8D1-B46CBDA4DA558DEA#cfid=4074641#
CFID=4074641
CFTOKEN=5d1a29fcf96a7567-FF5BC786-CDA3-E8D1-B46CBDA4DA558DEA
FREEACCESSCOUNT=0
Session Variables:
cfid=4074641
cftoken=5d1a29fcf96a7567-FF5BC786-CDA3-E8D1-B46CBDA4DA558DEA
quiz=Struct (4)
quizadmin=0
sessionid=BOOKBROWSE_4074641_5d1a29fcf96a7567-FF5BC786-CDA3-E8D1-B46CBDA4DA558DEA
urltoken=CFID=4074641&CFTOKEN=5d1a29fcf96a7567-FF5BC786-CDA3-E8D1-B46CBDA4DA558DEA
URL Parameters:
ezine_preview_number=21101
the-lamplighters-bookshop=
Debug Rendering Time: 17 ms