Book Summary and Reviews of The Day Tripper by James Goodhand

The Day Tripper by James Goodhand

The Day Tripper

A Novel

by James Goodhand

  • Critics' Consensus (6):
  • Readers' Rating (35):
  • Published:
  • Mar 2024, 368 pages
  • Rate this book

About this book

Book Summary

"Witty and wise, The Day Tripper had me pulling for Alex through all of his mixed-up days. James Goodhand brings a fun, fresh voice to the time travel genre in this gem of a novel. I loved it!" —Shelby Van Pelt, New York Times bestselling author of Remarkably Bright Creatures

The right guy, the right place, the wrong time.

It's 1995, and Alex Dean has it all: a spot at Cambridge University next year, the love of an amazing woman named Holly and all the time in the world ahead of him. That is until a brutal encounter with a ghost from his past sees him beaten, battered and almost drowning in the Thames.

He wakes the next day to find he's in a messy, derelict room he's never seen before, in grimy clothes he doesn't recognize, with no idea of how he got there. A glimpse in the mirror tells him he's older—much older—and has been living a hard life, his features ravaged by time and poor decisions. He snatches a newspaper and finds it's 2010—fifteen years since the fight.

After finally drifting off to sleep, Alex wakes the following morning to find it's now 2019, another nine years later. But the next day, it's 1999. Never knowing which day is coming, he begins to piece together what happens in his life after that fateful night by the river.

But what exactly is going on? Why does his life look nothing like he thought it would? What about Cambridge, and Holly? In this page-turning adventure, Alex must navigate his way through the years to learn that small actions have untold impact. And that might be all he needs to save the people he loves and, equally importantly, himself.

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

"Goodhand's adult debut is a compelling look at the way decisions, good and bad, build up over time to create a life. Recommended for fans of The Midnight Library by Matt Haig and readers who enjoy time-travel narratives." —Library Journal

"A page-turner." —Booklist

"Goodhand's debut is a compelling look at the way decisions, good and bad, build up over time to create a life." —Library Journal

"James Goodhand takes the time-travel genre and reshapes it into something wonderful. A tender, compulsive, miracle of a love story that's stays with you long after the final page is turned. Essential." —Adam Simcox, author of The Dying Squad Trilogy

"I adored The Day Tripper. Utterly original, moving, and so brilliantly crafted." —Louisa Reid, author of The Poet

"Witty and wise, The Day Tripper had me pulling for Alex through all of his mixed-up days. James Goodhand brings a fun, fresh voice to the time travel genre in this gem of a novel. I loved it!" —Shelby Van Pelt, New York Times bestselling author of Remarkably Bright Creatures

This information about The Day Tripper 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

Janie-Hickok-Siess

Profoundly Thought-Provoking & Emotionally Elegant
The Day Tripper is author James Goodhand’s first published adult novel, but he has previously penned two young adult books, Last Lesson and Man Down. For about the past twenty years, he has earned a living as an auto mechanic, which he enjoys and finds satisfying. He is also a musician who did not formally study writing, an impressive fact considering how skillfully written and memorable The Day Tripper is. He says he often gets story ideas during walks in the woods near the home in England he shares with his wife and son.

“What if you woke up each morning on a different random day of your life?” That’s the premise of the story that opens in 1995. Alex Dean is twenty years old, has been admitted to Cambridge University, and has been dating twenty-one-year-old Holly, who is studying to become a doctor, for just five weeks. But he already knows she is the woman for him because “becoming the person I should be for her is more important than seeing her,” he notes in the first-person narrative Goodhand effectively employs to relate Alex’s story. Alex grew up a loner who hid in his room playing his guitar and earning excellent grades. Their perfect date is blissful until he encounters Blake Benfield for the first time in four years. Alex admits that “just hearing that name in his head” can paralyze him. Clearly, they have a troubled history (revealed later in the story). Suddenly, Benfield strikes him, but Alex is incapable of defending himself or fighting back, leaving him puzzled and frustrated. “Why do I pity him?” he asks himself. Benfield beats him so badly that he blacks out and plunges into the Thames River.

Next, he wakes up hungover in a dank room that is barely twice the size of the single bed on which he has been sleeping. Dirty clothes are scattered about, and the windowsill is littered with empty bottles and cigarette butts. Emerging into a dark hallway, he encounters Kenzie, a young woman he does not recognize, in the kitchen. But she obviously knows him and seems accustomed to Alex being confused on mornings that follow a night of blackout drinking. She responds to his inquiries with sad amusement, but Alex finds no humor in Kenzie’s revelation that it is November 2010. Fifteen years since Alex’s violent encounter with Benfield. He cannot figure out why he has no recollection of fifteen years of his life. Is it a joke? Or has he been in some sort of fugue state? The landlord is banging on his door, demanding payment of past rent, but his focus is immediately on Holly. Where is she?

Making his way back to the bar by the river, he runs into Jazz, a young man who, like Kenzie, is acquainted with him and fills in some of the details about the life Alex has been living. He also goes to Holly’s home and has a deeply disturbing verbal altercation with her father. Readers learn that something terrible happened a couple of years ago, for which her father blames Alex. In fact, he reminds Alex that he is violating an injunction prohibiting him from having any contact with Holly’s family.

When he next wakes up, he finds himself in 2019, and with each successive visit to another time period, Alex begins to piece together not only what has happened to him, but also the fates of the people who mean the most to him. His visits to his parents’ home are particularly poignant and revelatory, as Goodhand demonstrates how much Alex loves and admires his mother, the dynamics of his parents’ marriage, and Alex’s troubled relationship with his father. He is often baffled by the things he learns from other characters but recognizes that he cannot express his confusion or the circumstances in which he finds himself with them because they would surely think he is delusional. Perhaps he is. But he confirms that his life has continued uninterrupted, even though he does not remember anything that happened to him after Benfield knocked him into the river. He pieces together that he has barely eked out a living as a street performer, playing his guitar and singing, and he never attended Cambridge. Holly is no longer in his life. And he is an alcoholic.

Alex recalls a conversation with Holly on that fateful day before everything went wrong. They discussed cause and effect. “This life I’m experiencing is all effect. But what of the cause? What has led me to this?” Alex asks himself. He meets Dr. Paul Defrates, a mysterious scientist who calls himself an expert on Alex’s situation, studying the phenomenon in a quest to fully understand it. (Goodhand injects a plot twist involving Paul that is shocking and brilliant.) As they meet from time to time during different time periods, Paul tends to ask many thought-provoking questions, but provide few answers. He suggests approaches Alex might pursue in his effort to escape his predicament. Because Alex is intent on finding a way out and restoring his life to a linear progression. With Paul’s help, he begins to find that if he does something different on an earlier date, circumstances are in fact different when he wakes up at a later time in his life.

Goodhand says his uncle, an alcoholic lost to addiction at the young age of thirty-nine, was “a lot of the inspiration behind Alex’s story.” His research revealed that his uncle suffered trauma in his early life and that made him wonder, “What does that do to somebody?” He concluded those experiences may have been catalysts for his uncle’s troubles and employed that concept in what he describes as “an investigation into why things have gone wrong for Alex, what those small decisions are, and what small decisions he can make at the right times that divert him from” alcoholism, instead of “just reaching for” a drink. In The Day Tripper, he wanted to explore very serious subject matter but “lighten it by looking at it through the lens of a high concept idea.” That is “why readers see Alex both at his worst and his best” as they develop an understanding of the trajectory of Alex’s life and, hopefully, refrain from judging him or others struggling with addiction.

As the story proceeds, Goodhand explores Alex’s relationships both with Benfield and his father, who he knows he has bitterly disappointed. They have both bullied and belittled Alex through the years. Alex comes to appreciate that “by focusing hate back on them, he is being dragged into their game, expending negative energy, when what he needs to do is remove himself from their control.” His progression toward maturity and wisdom is gradual and not without hiccups as Alex realizes that he has been subjected to toxic masculinity and succumbed to its influence on his life choices.

The Day Tripper is an expertly crafted and refreshingly inventive tale. As Alex’s journey careens into the future and back to the past, Goodhand illustrates how his actions have impacted not only his life, but the lives of those with whom he interacts. It is an emotional journey both for Alex and readers as he realizes how profoundly he has hurt people he loves and grapples with his guilt, remorse, and regrets. And grows increasingly desperate to alter the future that has been revealed to him. Alex is likable, endearing, and empathetic because readers can relate to his distress about his mistakes and desire to un-do them. At one point, his “beautiful, perfect Holly” is gone from his life – they agreed “right person, wrong time” – and Alex declares that he is “broken by booze.”

But Goodhand gives Alex enviable opportunities to change both his past and the future, and the story becomes hopeful and affirming as Alex begins to implement changes that bring about better results. The dialogue flows naturally and believably, and Goodhand’s prose is deceptively profound and emotionally resonant. He viscerally conveys Alex’s inner turmoil, and Alex’s ruminations about Goodhand’s themes are richly thought-provoking and beautifully crafted.

“Ultimately,” Goodhand says, “it’s a love story,”. Alex’s overriding and unwavering motivation to understand and extricate himself from his predicament is his intense desire to win Holly back. Alex does “infuriating things” and even when his goal is almost in his grasp, he manages to “miss it.” Watching him fumble his chances and learn from his failures is absorbing, entertaining, and frequently heartbreaking. And suspenseful. Will he figure out how to get his life on track and find happiness?

The Day Tripper, despite dark moments, is an optimistic meditation on one deceptively simple truth: “Change doesn’t happen by accident,” but is possible. Goodhand illustrates that the power of love can and does inspire and facilitate positive change through an intriguing story populated with memorable and fully developed characters. The Day Tripper establishes Goodhand as a creative and talented writer storyteller, leaving readers anxious to read more from him.

Thanks to NetGalley for an Advance Reader's Copy of the book.

Deborah_C1

The Day Tripper is a Treat!
I've always been fascinated by time travel stories, from the original Back to the Future movies to the TV series Quantum Leap, and the books The Time Traveler's Wife, The Midnight Library, and Oona Out of Order. Each of these stories have their own plots, problems, and solutions. The thing that they all have in common is that you are unsure how it will all work out until the end.

This book, The Day Tripper, is ingenious and thought-provoking and kept me entranced. It started out slow, but once the main character, Alex, became caught up in his daily time switch, I was reeled in. I could feel his frantic confusion and his frustration while he was trying to figure out what was happening to him.

This story ultimately becomes a testament to the power of love and leaves the reader asking themselves, If I could change something in MY past, would I do it and what would it be?

This book is a "must read" for fans of time travel stories, but I would also recommend it to just about everyone. This could possibly be a good discussion book for book clubs also.

Mark_S

A must read for time travel enthusiasts
As a fan of all things related to time travel, The Day Tripper was outstanding! While I generally spend a few weeks reading each book, this page turner was completed in two days. Goodhand is a gifted writer who does an amazing job of dropping the reader into the same sense of confusion that Alex feels as he navigates through various iterations of his life. We are drawn into his progression from trying to understand what is happening to him to his later recognition of how his choices directly impact his life and the lives of those around him. What makes this novel even more enjoyable is the way in which Goodhand dances with the debate between fate and free will. This allows Alex to exist as character who is both frustrating and likable at the same time. It felt like a blend of It's a Wonderful Life and Groundhog Day, with a splash of The Five People You Meet in Heaven. This would be a great read for a book club!

Catherine H. (Asbury Park, NJ)

The Day Tripper
The Day Tripper by James Goodhand is a novel showing how events in the main character's life are responsible for other future events, and how these events can be altered by time travel. Most of us at some point have thought "What if I had done something differently." This story shows how cause and effect in our daily life influences us to be a better person.
I really enjoyed this book and plan to re-read it. I liked the fast pace and little jewels of thought such as "The worse our enemies can do is to turn us into them."
Fans of Quantum Leap and The Twilight Zone would be impressed with this story. I recommend this book for group discussions for others who think about free will, change, and commitment to making a difference.

Linda S. (West Linn, OR)

Time Travel With A Twist
I'm drawn to time travel books, favorites being Stephen King's 11/22/63 and Jack Finney's two-book series Time and Again; and From Time to Time. James Goodhand's new book The Day Tripper is time travel with a twist. Each day Alex Dean confronts a new place and year, but the days are not in chronological order. One day he might be 36 years old and the next he's 22. He is experiencing his life out of order, often bewildered as to what events have gotten him to a specific place and time. For the reader It would be easy to get frustrated and confused. At the beginning you have no idea what is going on nor why, but neither does Alex! It doesn't take long, however, for the story to begin to take shape and you are hooked. The format is so unique and the book is so well-written that you are swept up in the quest to find out what is happening, how it's happening and why it's happening.
My feelings about Alex Dean were all over the place. Much of his life is fueled by alcohol, laziness, and irresponsibility. However, he also has a loving kindness about him that is so endearing it moves you to tears. As you learn his background story you can't help but root for him.

About half way through the book I decided I needed a visual aid and I made a timeline, with very brief descriptions of what took place on each date. I don't typically interrupt my reading with note taking, but the time line was actually quite helpful. Prepare to put everything on hold as you delve into this beautifully written, one-of-a-kind time travel escapade.

Sina_De_Capri

The Day Tripper review
The Day Tripper invites readers on a tumultuous journey through time, blending elements of science fiction, romance, and mystery. Set in 1995, the novel introduces Alex Dean, a young man seemingly destined for greatness. His life takes an unexpected turn when a brutal encounter leaves him battered and disoriented, almost drowning in the Thames.

The central premise is captivating: Alex wakes up in a derelict room, older than he should be, with no memory of the intervening years. The days shift unpredictably between 1999 and 2010, leaving Alex perpetually disoriented. As he navigates this temporal maze, he discovers that seemingly insignificant actions have far-reaching consequences.

Goodhand skillfully explores the butterfly effect—the ripples caused by a single stone thrown into the river of time. Alex’s choices impact not only his own life but also those of the people he loves. The novel raises thought-provoking questions: Can we alter our fate? How do our decisions echo across time?

While the concept is intriguing, execution falls short in places. The writing lacks depth, and character development feels one-dimensional. Alex’s emotional journey could have been more nuanced. Additionally, the romance subplot, while promising, remains underdeveloped.

The novel’s strength lies in its portrayal of the human condition. Alex grapples with existential questions, haunted by the past and uncertain of the future. His relationships—particularly with Holly—add emotional weight to the narrative. The moments of connection and loss resonate deeply.

The pacing keeps readers engaged, but some transitions between time periods feel abrupt. The mystery surrounding Alex’s predicament builds suspense, urging us to unravel the secrets hidden within the temporal fabric.

In summary, The Day Tripper offers a tantalizing blend of time travel and emotional exploration. While imperfect, it leaves us pondering the fragility of existence and the choices that shape our destiny. If you enjoy thought-provoking narratives and don’t mind occasional narrative hiccups, this book is worth a read.

...12 more reader reviews

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

James Goodhand

James Goodhand has written two YA novels. His YA debut, Last Lesson, was called "a powerfully charged study in empathy," by the Financial Times. This is his adult debut. He lives in England with his wife and young son.

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...

I am what the librarians have made me with a little assistance from a professor of Greek and a few poets

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:26 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
1780262774937 ms 1.78026277494E+012 ms 1 /root/website/app_server.cfm
1275 ms 1275 ms 1 /root/website/bb_briefs/detail/index.cfm
299 ms 299 ms 1 /root/website/bb_briefs/detail/dsp_main.cfm
283 ms 283 ms 1 /root/website/queries/qry_get_discussion_by_id.cfm
182 ms 182 ms 1 /root/website/app_layout.cfm
145 ms 36 ms 4 /root/website/adsystem/adsystem_mod.cfm
131 ms 131 ms 1 /root/website/queries/qry_get_reader_reviews_by_preview_number.cfm
126 ms 126 ms 1 /root/website/queries/qry_get_briefs_reader_rating.cfm
118 ms 118 ms 1 /root/website/app_globals.cfm
107 ms 107 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
53 ms 13 ms 4 /root/website/site/blocks/membership_advantages.cfm
49 ms 49 ms 1 /root/website/adzones/AdZone6.cfm
48 ms 12 ms 4 /root/website/queries/qry_get_member_account_types.cfm
47 ms 47 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
45 ms 45 ms 1 /root/website/adzones/showcase_track.cfm
42 ms 42 ms 1 /root/website/queries/qry_get_books_by_briefs_category.cfm
41 ms 41 ms 1 /root/website/queries/qry_get_obc_number.cfm
40 ms 40 ms 1 /root/website/queries/qry_get_active_obc.cfm
30 ms 30 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
29 ms 29 ms 1 /root/website/adzones/AdZone3.cfm
29 ms 29 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
28 ms 28 ms 1 /root/website/queries/qry_get_current_competition.cfm
26 ms 26 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
25 ms 25 ms 1 /root/website/adzones/AdZone11.cfm
21 ms 21 ms 1 /root/website/queries/qry_get_preview_awards_by_id.cfm
17 ms 17 ms 1 /root/website/actions/adstatus.cfm
16 ms 16 ms 1 /root/website/queries/qry_get_preview_by_id.cfm
13 ms 13 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
11 ms 11 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
11 ms 11 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
11 ms 11 ms 1 /root/website/site/blocks/layout/head.cfm
10 ms 10 ms 1 /root/website/queries/qry_get_author_bookcount.cfm
8 ms 8 ms 1 /root/website/act_check_login.cfm
7 ms 7 ms 1 /root/website/queries/qry_get_member_info.cfm
6 ms 6 ms 1 /root/website/queries/qry_get_liked_by_brief_id.cfm
3 ms 1 ms 5 /root/website/actions/act_spider_tracker.cfm
3 ms 3 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/formurl2attributes.cfm
1 ms 1 ms 1 /root/website/site/blocks/dsp_top_brief_block.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/main_menu.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/act_libraryIPLogin.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/js/fbjavascriptsdk.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_current_ezine.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_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/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_search.cfm
1 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
1276 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=3ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 21:26:14.014
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=7ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 21:26:14.014
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=16ms, Records=2) in /root/website/actions/adstatus.cfm @ 21:26:14.014
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:26:14.014
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=12ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 21:26:14.014
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=15ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 21:26:15.015
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=10ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 21:26:15.015
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:26:15.015
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=16ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 21:26:15.015
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=9ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 21:26:15.015
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=13ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 21:26:15.015
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=15ms, Records=1) in /root/website/queries/qry_get_preview_by_id.cfm @ 21:26:15.015
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) = 18253

get_preview_awards_by_id (Datasource=bookbrowse_com_new, Time=20ms, Records=0) in /root/website/queries/qry_get_preview_awards_by_id.cfm @ 21:26:15.015
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) = 18253

get_briefs_reader_rating (Datasource=bookbrowse_com_new, Time=125ms, Records=1) in /root/website/queries/qry_get_briefs_reader_rating.cfm @ 21:26:15.015
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) = 18253
Parameter #2(CF_SQL_INTEGER) = 18253

get_reader_reviews_by_preview_number (Datasource=bookbrowse_com_new, Time=131ms, Records=18) in /root/website/queries/qry_get_reader_reviews_by_preview_number.cfm @ 21:26:15.015
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) = 18253

get_arc_idfk (Datasource=bookbrowse_com_new, Time=19ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 21:26:15.015
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) = 18253

get_arc_idfk_legacy (Datasource=bookbrowse_com_new, Time=13ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 21:26:15.015
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) = 18253

obc_discussions (Datasource=booktalk_new, Time=175ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 21:26:15.015
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=73ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 21:26:15.015
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) = p18253

ya_check (Datasource=bookbrowse_com_new, Time=12ms, Records=0) in /root/website/queries/qry_get_books_by_briefs_category.cfm @ 21:26:15.015
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) = 18253

get_books_by_brief (Datasource=bookbrowse_com_new, Time=28ms, Records=20) in /root/website/queries/qry_get_books_by_briefs_category.cfm @ 21:26:15.015
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) = 18253

get_author_bookcount (Datasource=bookbrowse_com_new, Time=9ms, Records=0) in /root/website/queries/qry_get_author_bookcount.cfm @ 21:26:15.015
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=40ms, Records=1) in /root/website/queries/qry_get_obc_number.cfm @ 21:26:15.015
select a.arc_forumidfk
    from arcs a
    
    	where a.ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(cf_sql_numeric) = 18253.0

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

get_ads (Datasource=bookbrowse_com_new, Time=6ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:26:15.015
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=14ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:26:15.015
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=5ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 21:26:15.015
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=13ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 21:26:15.015
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=8ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:26:15.015
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:26:15.015
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=20ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 21:26:16.016
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=6ms, Records=0) in /root/website/queries/qry_get_liked_by_brief_id.cfm @ 21:26:16.016
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) = 18253
Parameter #2(CF_SQL_INTEGER) = 18253

get_member_account_types (Datasource=bookbrowse_com_new, Time=4ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 21:26:16.016
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=6ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 21:26:16.016
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=23ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 21:26:16.016
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=13ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:26:16.016
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=22ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 21:26:16.016
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=9ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 21:26:16.016
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=25ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 21:26:16.016
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=10ms, Records=4) in /root/website/queries/qry_get_free_newsletters.cfm @ 21:26:16.016
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=15ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 21:26:16.016
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=13ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 21:26:16.016
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=14ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 21:26:16.016
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; CFTOKEN=6c52d556cd8a055e-FF4CB3EE-0285-D412-B0C44A2BFE3B0C82; CFID=4074620; FREEACCESSCOUNT=0; CFGLOBALS=urltoken%3DCFID%23%3D4074620%26CFTOKEN%23%3D6c52d556cd8a055e%2DFF4CB3EE%2D0285%2DD412%2DB0C44A2BFE3B0C82%23lastvisit%3D%7Bts%20%272026%2D05%2D31%2021%3A26%3A14%27%7D%23hitcount%3D17%23timecreated%3D%7Bts%20%272026%2D05%2D31%2021%3A26%3A09%27%7D%23cftoken%3D6c52d556cd8a055e%2DFF4CB3EE%2D0285%2DD412%2DB0C44A2BFE3B0C82%23cfid%3D4074620%23
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/18253/the-day-tripper
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=4074620
cftoken=6c52d556cd8a055e-FF4CB3EE-0285-D412-B0C44A2BFE3B0C82
hitcount=26
lastvisit={ts '2026-05-31 21:26:16'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-05-31 21:26:09'}
urltoken=CFID=4074620&CFTOKEN=6c52d556cd8a055e-FF4CB3EE-0285-D412-B0C44A2BFE3B0C82
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#=4074620&CFTOKEN#=6c52d556cd8a055e-FF4CB3EE-0285-D412-B0C44A2BFE3B0C82#lastvisit={ts '2026-05-31 21:26:14'}#hitcount=17#timecreated={ts '2026-05-31 21:26:09'}#cftoken=6c52d556cd8a055e-FF4CB3EE-0285-D412-B0C44A2BFE3B0C82#cfid=4074620#
CFID=4074620
CFTOKEN=6c52d556cd8a055e-FF4CB3EE-0285-D412-B0C44A2BFE3B0C82
FREEACCESSCOUNT=0
Session Variables:
cfid=4074620
cftoken=6c52d556cd8a055e-FF4CB3EE-0285-D412-B0C44A2BFE3B0C82
sessionid=BOOKBROWSE_4074620_6c52d556cd8a055e-FF4CB3EE-0285-D412-B0C44A2BFE3B0C82
urltoken=CFID=4074620&CFTOKEN=6c52d556cd8a055e-FF4CB3EE-0285-D412-B0C44A2BFE3B0C82
URL Parameters:
ezine_preview_number=18253
the-day-tripper=
Debug Rendering Time: 58 ms