Summary and Reviews of Daughters of Shandong by Eve Chung

Daughters of Shandong by Eve J. Chung

Daughters of Shandong

by Eve J. Chung
  • BookBrowse Review:
  • Critics' Consensus (3):
  • Readers' Rating (93):
  • First Published:
  • May 7, 2024, 400 pages
  • Paperback:
  • May 2025, 400 pages
  • Rate this book

About This Book

Book Summary

A propulsive, extraordinary novel about a mother and her daughters' harrowing escape to Taiwan as the Communist revolution sweeps through China, by debut author Eve J. Chung, based on her family story.

Daughters are the Ang family's curse.

In 1948, civil war ravages the Chinese countryside, but in rural Shandong, the wealthy, landowning Angs are more concerned with their lack of an heir. Hai is the eldest of four girls and spends her days looking after her sisters. Headstrong Di, who is just a year younger, learns to hide in plain sight, and their mother—abused by the family for failing to birth a boy—finds her own small acts of rebellion in the kitchen. As the Communist army closes in on their town, the rest of the prosperous household flees, leaving behind the girls and their mother because they view them as useless mouths to feed.

Without an Ang male to punish, the land-seizing cadres choose Hai, as the eldest child, to stand trial for her family's crimes. She barely survives their brutality. Realizing the worst is yet to come, the women plan their escape. Starving and penniless but resourceful, they forge travel permits and embark on a thousand-mile journey to confront the family that abandoned them.

From the countryside to the bustling city of Qingdao, and onward to British Hong Kong and eventually Taiwan, they witness the changing tide of a nation and the plight of multitudes caught in the wake of revolution. But with the loss of their home and the life they've known also comes new freedom—to take hold of their fate, to shake free of the bonds of their gender, and to claim their own story.

Told in assured, evocative prose, with impeccably drawn characters, Daughters of Shandong is a hopeful, powerful story about the resilience of women in war; the enduring love between mothers, daughters, and sisters; and the sacrifices made to lift up future generations.

1

Heirless

Nai Nai said whores weren't allowed in the house, so she kicked Mom out, slamming the wooden door shut with a clatter that startled the birds. We didn't know where my sister Di was, but Three and I sat beside Mom as she leaned against the courtyard wall of our shiheyuan, hands red and chapped from washing dishes. "Don't worry," she said to us. "She'll calm down when your father comes home." Nai Nai was a small, thin lady with ebony hair, birdlike hands, and dainty bound feet. Yet, even as she tottered in her small silk slippers, she had the presence of a warlord and a tongue like a whip. I was eleven, and old enough to know that no one could calm her after such a rage, not even her first and favorite son.It was fall, and dried leaves swirled in the chilly wind, skimming yellow grass that swayed gently. Luckily, the harvest was finished and most of the workers had gone home. Mom didn't want reports of this shameful spectacle to make the rounds-the peasants hated Nai Nai as much...

Please be aware that this discussion guide will contain spoilers!
  1. Hai and Di each have dreams for themselves. Do they achieve them? If not, was there anything different that they could have or should have done?
  2. Di often calls Hai a coward. What kinds of bravery does each character exhibit? How does each character's bravery (or lack thereof) shape the family's story?
  3. Familial relationships are important to all the characters. How do Hai's and Di's relationship with their mom evolve throughout the book? What about Hai and Di's relationship with each other?
  4. Is there an antagonist in Daughters of Shandong? If so, who or what do you think it is, and why?
  5. If you were either Hai or Di, could you forgive your father? What about your grandmother and grandfather?
  6. Hai's mom makes many difficult decisions. Do you think ...
Please be aware that this discussion may contain spoilers!

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

Ask the Author mug winners
Here are the latest BookBrowse mug winners for the questions to our visiting authors: Eve J. Chung ( https://www.bookbrowse.com/reviews/index.cfm/book_number/4821/daughters-of-shandong Daughters of Shandong ): @Jorene_J Princess Joy L. Perry ( https://www.bookbrowse.com/bb_briefs/detail/index.cfm...
-kim.kovacs


BookBrowsers Ask Eve J. Chung, author of Daughters of Shandong
Thanks for being here, Eve, it's been a real pleasure chatting with you. I really appreciate all the time and thought you gave to your answers. Best of luck to you, and I can't wait to read what you come up with next!
-kim.kovacs


What are you reading this week? And what did you think of last week’s books? (11/6/2025)
Let's see… So last week I was fortunate enough to read two absolutely wonderful novels. The first, https://www.bookbrowse.com/bb_briefs/detail/index.cfm/ezine_preview_number/23451/the-young-will-remember The Young Will Remember by Eve J. Chung, won't be out until May - but be on the lookout for i...
-kim.kovacs


Eve J. Chung author Q&A
Just a reminder that Eve J. Chung, author of Daughters of Shandong, will be visiting us Monday, November 3 - Wednesday, November 5. Click here to follow the discussion. Those who take the time to ask the author a question will be entered to win a BookBrowse mug after the discussion closes.
-kim.kovacs


What are you reading this week? And what did you think of last week’s books? (10/30/2025)
Just a reminder that Eve J. Chung, author of Daughters of Shandong, will be visiting us Monday, November 3 - Wednesday, November 5. Click here to follow the discussion. Those who take the time to ask the author a question will be entered to win a BookBrowse mug after the discussion closes.
-kim.kovacs


What are you reading this week? And what did you think of last week’s books? (10/16/2025)
Finished up https://www.bookbrowse.com/bb_briefs/detail/index.cfm/ezine_preview_number/23189/house-of-leaves House of Leaves - fascinating book - as well as https://www.bookbrowse.com/bb_briefs/detail/index.cfm/ezine_preview_number/23249/whalefall Whalefall by Daniel Kraus. Thanks to the folks he...
-kim.kovacs


Di often calls Hai a coward. What kinds of bravery does each character exhibit? How does each character's bravery (or lack thereof) shape the family's story?
I found Di to be very very selfish and only interested in saving herself with no thought to how her actions could affect her sister and mother. I think in the end Di was an impulsive person and in the moment, perhaps because she was so young and feared that she may not have a tomorrow, so she was...
-Teresa_L


Have you traveled to China or Taiwan? If so, what were some interesting experiences or observations that you encountered? If not, would you like to vacation there if you had the opportunity?
Taiwan celebrates the history of China in the National Palace Museum. The Chiang Kai Shek memorial is breathtaking. The people are friendly and pure capitalists at heart.
-Vivian_H


What was your last 5-star read, and what made you choose it?
...of the Child by Niall Williams, Gentleman in Moscow by Amor Towles, The Mountains Sing by Nguyễn Phan Quế Mai, West with Giraffes by Lynda Rutledge, Daughters of Shandong by Eve J. Chung, Project Hail Mary by Andy Weir, The King's Messenger by Susan Kearsley.
-Luisa_H


Overall, what did you think of Daughters of Shandong? (no spoilers, please!)
What an amazing story about China from 1948 to 1960, a time when girls didn't matter in Chinese culture. The author, Eve J. Chung says this is fiction, yet there is so much about China's history that is true. I loved all the characters (well not Nai Nai though she represents the elders in Chinese...
-Ruth_Hollandsworth


How does the behavior of Hai's Uncle Sen and the other men in Daughters of Shandong compare with what we’ve come to understand about Chinese culture?
We've discussed Hai's father and grandfather, but haven't talked about her cousin, her uncle, and the several men they meet on their perilous journey. How does the behavior of these men compare with what we've come to understand about Chinese culture?
-Carol_B


If you were either Hai or Di, could you forgive your father? What about your grandmother and grandfather?
Im not sure I could forgive any of them, the father was a spineless coward and the grandmother was just plain evil. I would pray that I never saw them again and cut them out of my life!
-Teresa_L


Did knowing the book is based on Eve Chung’s grandmother’s experiences change the way you approached the novel, and if so, how?
His motivation was to save himself and be an obedient son. It was not clear whether he was aware of the consequences of his actions on his wife and daughters.
-Audrey_S


What audience would you recommend Daughters of Shandong to? Is there another book or author you feel has a similar theme or style?
Readers of historical fiction as well as readers of memoirs/narrative nonfiction will probably enjoy this book.
-Kathleen_K


Is there an antagonist in Daughters of Shandong? If so, who or what do you think it is, and why?
Nai Nai is an antagonist in the novel. She represents all that is cruel and most oppressive about traditional Chinese culture before the Communist takeover. She is suspicious and distrustful of the workers the Angs employ, always suspecting them of trying to rob her. Nai Nai is the exemplar of th...
-Lillian_T


To what audience would you recommend The Girls of Good Fortune? Is there another book or author you feel has a similar theme or style?
I thoroughly enjoyed Daughters of Shandong by Eve J Chung - goo recommendation, Lynne!
-Diane_Jones


Hai and Di each have dreams for themselves. Do they achieve them? If not, was there anything different that they could have or should have done?
Hai and Di each face unique obstacles and challenges, and their dreams are not fully realized in the traditional sense. Hai succeeds in her goals of seeking education and Independence rather than relying on the support of others. Her most outstanding accomplishment is realizing she raised a young...
-Lillian_T


What did you think of the ending of Daughters of Shandong? Would you have changed anything about it? If so, what?
I agree with others, a lot at the end of story and would have liked to know more about Di.
-Dorothy_H


Is there a quote or scene in Daughters of Shandong that stood out to you? Why do you suppose it resonated?
Quote: "I knew then and there that my daughter would never kneel to anyone." –The concluding scene of the novel offers a satisfying resolution of everything Hai has worked for, a story of generations of women lifting women up. The thought that Chiang-Yue 's daughter can be independent and never b...
-Lillian_T


Hai wonders what her mother would have insisted on joining her husband in Taiwan if she hadn’t been encumbered with her children. What do you think? Would her path have been different without her daughters?
I also think that without children there would have been a greater chance that the husband would have taken her with him and yes she might have relied on more because she needed all the strength she find to safeguard her childrem
-Carrie_Marlowe


At Rennie’s Mill, the girls’ friend Biao-Wu turns down a “golden ticket” to Taiwan, opting to stay in Hong Kong instead. Do you think he made the right decision? Why or why not?
Yes, I think he made the right decision. He turned down the golden ticket because he didn't want to go to Taiwan. He said "Hong Kong is going to be my home. I'll learn Cantonese in time and maybe, once things are better in the mainland, I could go back and find my mom." He was outgoing and he had...
-Sylvia_L


Hai says, "Sometimes, success is something that happens over the course of generations..." Why is it important for her to make this observation? Within your own family or community, have you seen examples that reflect this sentiment?
It took generations for change within Hai's family. She admired her mother for her resilience, intelligence and resourcefulness troughout their journey to reunite with their father's family. However Mom continued Chinese traditional beliefs that Hai was determined to not pass on to her children. ...
-Sylvia_L


Di is often portrayed as selfish. When she’s caught stealing the Zhang family’s eggs, she defends herself saying she’s “adapting.” What do you think of her actions here and elsewhere in the book?
Agreed! Di may be hard to like, but I admired her tenacity and desire to survive against immense odds.
-Ricki_Aiello


What are some of the most pressing injustices that continue to affect women and girls today? What do you think we can do to change them?
Injustice, especially against women and girls, is rooted in cultural, political, and historical systems. We see how Hai, Di, and their mother are devalued because they are female. This inequality still exists today. The most pressing injustices women and girls continue to face include: Gender-bas...
-Karen_M


Hai is convinced her father knew that he was leaving his wife and daughters in Shandong with no resources or protection. What do you think his motives were? Do you think he realized how dire their situation would become?
I don't know that he thought much about leaving them behind. He was just doing what he was told and looking out for himself. He may also have been in denial about what might happen to them.
-Vicky_S


Did you learn anything new about China’s culture or history from the novel? What surprised you?
Yes! I enjoyed learning so much about Chinese culture - I knew there was a preference for boys/sons but didn't know much beyond that. I also wasn't familiar with the war in the 40s. Absolutely fantastic historical fiction (based on true story) - so well written!
-Amber_H


Hai's mom makes many difficult decisions. Do you think she regrets any of them? Do you think she is happy at the end of her life?
Difficult decisions, many. Regret, hard to say. She was forced to live in the moment. She was in survival mode for most of her life. Her love for her daughters forced her to make the decisions she made. Decisions were moment to moment, day to day. She did what she had to do to get them to Taiwan ...
-Joan_G


In China, the historical favoritism for boy children has led to terrible consequences for girls and to broad social issues. Are there any harmful traditions in or aspects of your own culture that affected you or people who you know?
Great comment that includes a lot that I left out!
-Donna_M


Familial relationships are important to all the characters. How do Hai's and Di's relationship with their mom evolve throughout the book? What about Hai and Di's relationship with each other?
Through the process of abandonment, all 3 learn to rely on each other. Even though Hai and Di are different in their approach to life in general, they did learn to appreciate each other and support their mother. All three did their best to survive even if meant some forgiveness of differences and...
-Ann_H


About the Daughters of Shandong by Eve J. Chung Discussion category
Please join BookBrowse in our book club discussion of Daughters of Shandong by Eve J. Chung.
-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!
  • award image

    BookBrowse Awards
    2024

Reviews

BookBrowse Review

BookBrowse

A mother and three daughters are left behind when the more powerful members of their Nationalist family flee to escape Communists during the revolution. The story is told from the perspective of the oldest daughter, Li Hai, and the author does an astonishing job of capturing the thoughts of an adolescent girl dealing with both inconceivable trauma and everyday concerns (Kathleen L). If a book taking place during a war can be called enjoyable, this is it. I say enjoyable based on the mother/daughter relationships, the three-dimensional characters and the rising above the circumstances, which almost makes the reader forget the horrors in favor of the power of the storyline (Marie M). Chung's writing is descriptive without being overly expansive. Daughters of Shandong was a real pleasure to read and I hope Chung continues to write (Laurie B)...continued

Full Review Members Only (632 words)

(Reviewed by First Impressions Reviewers).

Media Reviews

People
Throw open the doors of your heart for the lionhearted girls of Chung's gripping debut…they are heroines for the ages.

Publishers Weekly
Readers will be moved by this humanizing account of a turbulent period in China's history.

Author Blurb Jamie Ford, New York Times bestselling author of The Many Daughters of Afong Moy
One of those rare works of fiction that entertains, educates, and inspires. Harrowing, heartbreaking, and brilliantly paced, Daughters of Shandong is impossible to put down. I'll definitely be recommending this one to my book club.

Author Blurb Karin Tanabe, author of The Sunset Crowd
If you like your historical fiction to read like a thriller, Daughters of Shandong delivers. A story of never giving up on yourself, Chung's debut is a propulsive journey through Chinese history that shows not the women who walked so their daughters could run, but the women who fought so their daughters could fly.

Author Blurb Kate Quinn, New York Times bestselling author of The Diamond Eye
Human rights attorney and debut author Eve J. Chung takes personal family history and spins it into pure gold in her haunting first novel...Daughters of Shandong is a powerhouse debut from a major new talent!

Author Blurb Thao Thai, author of Banyan Moon
In Eve J. Chung's skillful debut, she creates a winding, breathtaking tale through the many political upheavals of mid-century China. ...Spellbindingly transportive, Daughters of Shandong is one of those rare books that stays with readers long after the last pages and promises to illuminate all the corners of humanity.

Author Blurb Weina Dai Randel, Wall Street Journal bestselling author of The Last Rose of Shanghai
From the snowy land, to the golden wheat field, to the crowded colony of tents, to the island across a glittering sea, Daughters of Shandong tells an epic journey of a mother and her three children seeking to unite with the family that abandons them. ...Intimate, immersive, and utterly enthralling, Daughters of Shandong is a brilliant debut by an astonishingly gifted writer!

Reader Reviews

kayla

best book
So, I recently finished reading the book "Daughter of Shandong" and wow, it really impressed me! The story follows the life of a young girl from Shandong, China, who struggles to find her identity and place in the world. The author's writing style ...   Read More
Dianne_Y

Haunting historical fiction novel
Daughters of Shandong by Eve J Chung This historical fiction novel is a haunting story of the journey and sufferings of a mother and her three daughters from the gentry class in China, as they escape the communist who seize their property and...   Read More
jillg

An Impressive Debut
Daughters of Shandong By Eve J. Chung A work of historical fiction inspired by Chung’s family who was displaced during the Communist Revolution in China. The Daughters of Shandong is told through the eyes of Hai, the eldest daughter of the Ang ...   Read More
Margaret_S

Compassionate empathy for humans caught in unfathomable chaos
I have often wondered how it is that people know to leave. Where would a story teller be without a journey? Hai tells this story, with the help of her grandmother. A stranger's gift is part of a chain of cultural transmissions through the Chinese ...   Read More

Write your own review!

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!

Beyond the Book



Real-Life Inspirations for Daughters of Shandong

Color photo portrait of Eve J. Chung Eve J. Chung's debut novel Daughters of Shandong focuses on the mother and daughters of a landowning family who flee China for Taiwan as a result of the Communist revolution in the late 1940s. Chung has spoken about how she was motivated to write the book by her maternal grandmother's experiences of that period of history.

However, what became a work of fiction started as a simple attempt to record her family's past. In a note to readers, Chung portrays the special relationship she formed with her grandmother from having lived with her in Taiwan as a child. While they were close, bonding over competitive billiards and period dramas, Chung knew little of her grandmother's history as a refugee. After her grandmother passed away in ...

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

Read-Alikes Full readalike results are for members only

If you liked Daughters of Shandong, try these:

  • Four Treasures of the Sky jacket

    Four Treasures of the Sky

    by Jenny Tinghui Zhang

    Published 2022

    About this book

    A propulsive and dazzling debut novel set against the backdrop of the Chinese Exclusion Act, about a Chinese girl fighting to claim her place in the 1880s American West.

  • The Mountains Sing jacket

    The Mountains Sing

    by Nguyen Phan Que Mai

    Published 2021

    About this book

    More by this author

    Winner of the 2020 BookBrowse Debut Award

    The Mountains Sing tells an enveloping, multi-generational tale of the Trần family, set against the backdrop of the Việt Nam War. "Both vast in scope and intimate in its telling ... Moving and riveting." - Viet Thanh Nguyen, author of The Sympathizer, winner of the Pulitzer Prize

  • Pachinko jacket

    Pachinko

    by Min Jin Lee

    Published 2017

    About this book

    More by this author

    A new tour de force from the bestselling author of Free Food for Millionaires, for readers of The Kite Runner and Cutting for Stone.

Read-Alikes are one of the many benefits of membership. Join free to see the complete list of recommendations.
Search read-alikes
How we choose 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...

In order to become the master, the politician poses as the servant

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


Debugging Information
ColdFusion Server Developer 2021,0,13,330286
Template /reviews/index.cfm
Time Stamp 31-May-26 07:51 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
1780257095887 ms 1.78025709589E+012 ms 1 /root/website/app_server.cfm
1005 ms 1005 ms 1 /root/website/reviews/index.cfm
317 ms 317 ms 1 /root/website/reviews/dsp_main.cfm
156 ms 156 ms 1 /root/website/queries/qry_get_discussion_by_id.cfm
132 ms 132 ms 1 /root/website/queries/qry_get_reader_reviews_by_book_id.cfm
117 ms 23 ms 5 /root/website/adsystem/adsystem_mod.cfm
97 ms 97 ms 1 /root/website/queries/qry_get_book_by_id.cfm
95 ms 95 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
52 ms 52 ms 1 /root/website/queries/qry_get_free_flag_by_book_id.cfm
50 ms 50 ms 1 /root/website/app_globals.cfm
46 ms 46 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
44 ms 44 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
42 ms 42 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
42 ms 11 ms 4 /root/website/site/blocks/membership_advantages.cfm
40 ms 40 ms 1 /root/website/adzones/showcase_track.cfm
39 ms 10 ms 4 /root/website/queries/qry_get_member_account_types.cfm
35 ms 35 ms 1 /root/website/adzones/AdZone6.cfm
24 ms 24 ms 1 /root/website/queries/qry_get_ezine_by_book_id.cfm
22 ms 22 ms 1 /root/website/site/blocks/dsp_top_book_block.cfm
21 ms 21 ms 1 /root/website/adzones/AdZone11.cfm
17 ms 17 ms 1 /root/website/adzones/AdZone2.cfm
17 ms 17 ms 1 /root/website/queries/qry_get_active_obc.cfm
12 ms 12 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
11 ms 11 ms 1 /root/website/queries/qry_get_current_competition.cfm
8 ms 8 ms 1 /root/website/adzones/AdZone3.cfm
6 ms 6 ms 1 /root/website/queries/qry_get_book_awards_by_book_id.cfm
5 ms 5 ms 1 /root/website/queries/qry_get_liked_by_book_id.cfm
4 ms 1 ms 6 /root/website/actions/act_spider_tracker.cfm
3 ms 3 ms 1 /root/website/actions/adstatus.cfm
2 ms 2 ms 1 /root/website/act_check_login.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_categories_by_book_id.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_member_info.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.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/formurl2attributes.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_set_book_hit.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/head.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
3 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
1008 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


Exceptions

19:51:36.036 - Expression Exception - in /root/website/site/blocks/dsp_top_book_block.cfm : line 237
	    Variable BOOK_NUMBER is undefined.
	    


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 19:51:35.035
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=1ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 19:51:35.035
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=3ms, Records=2) in /root/website/actions/adstatus.cfm @ 19:51:35.035
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 @ 19:51:35.035
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=2ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 19:51:35.035
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=8ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 19:51:35.035
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=1ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 19:51:35.035
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 @ 19:51:35.035
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=6ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 19:51:35.035
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=4ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 19:51:35.035
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=5ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 19:51:35.035
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_book_by_id (Datasource=bookbrowse_com_new, Time=6ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:51:35.035
SELECT		a.book_number, a.book_title, a.book_sub_title, a.book_url, a.book_entry_dt, a.book_short_summary, a.book_excerpt, a.book_jacket_info, a.book_reading_guide, a.book_copyright_info, a.book_notes,
            	b.author_number, b.author_first_name, b.author_last_name, b.author_middle_initial,
            	f.edition_publish_dt AS "hardcover_publish_dt", f.edition_number_of_pages AS "hardcover_number_of_pages", f.edition_isbn AS "hardcover_isbn", f.edition_isbn13 "hardcover_isbn13", f.edition_jacket_image as "hardcover_jacket_image", f.edition_publisher as "hardcover_publisher",
            	g.edition_publish_dt AS "paperback_publish_dt", g.edition_number_of_pages AS "paperback_number_of_pages", g.edition_isbn AS "paperback_isbn", g.edition_isbn13 "paperback_isbn13", g.edition_jacket_image as "paperback_jacket_image", g.edition_publisher as "paperback_publisher",
            	i.author_info_interview, i.author_info_biography,i.author_info_image,
            	CASE WHEN datalength(author_middle_initial) = 1 THEN author_first_name + ' ' + author_middle_initial + ' ' + author_last_name
            		 ELSE author_first_name + ' ' + author_last_name
            		 END "author_name",
            	CASE WHEN 
					(select count(*) from editions where book_number = 4364) = 1
					AND
					(select count(*) from editions where book_number = 4364 and edition_paperback_flag = 1) = 1
				THEN 1
				ELSE 0
				END AS "po_flag",
				(select count(*) from book_author_mapping m where m.author_number = b.author_number)
				+
				(select count(*) from ezine_previews where ezine_preview_bb_author_link = b.author_number and ezine_preview_bb_link =0)
				 as 'author_bookcount',
            	(SELECT CAST(AVG(CAST(rating AS decimal(12,0))) AS decimal(12,1))
				FROM (
					SELECT reader_review_rating AS rating
					FROM reader_reviews
					WHERE book_number = a.book_number
					AND reader_review_rating > 0
					
					UNION ALL
					
					SELECT reading_list_book_rating AS rating
					FROM reading_lists
					WHERE book_number = CAST(a.book_number AS VARCHAR)
					AND reading_list_book_rating > 0
				) combined_ratings
			) "savrating",
			(SELECT COUNT(rating)
				FROM (
					SELECT reader_review_rating AS rating
					FROM reader_reviews
					WHERE book_number = a.book_number
					AND reader_review_rating > 0
					
					UNION ALL
					
					SELECT reading_list_book_rating AS rating
					FROM reading_lists
					WHERE book_number = CAST(a.book_number AS VARCHAR)
					AND reading_list_book_rating > 0
				) combined_ratings
			) as "savrating_count",
            	(select top 1 media_review_rating from media_reviews where book_number = a.book_number and media_review_type_number = 9) as "bbrating",
            	(select cast(AVG(CAST(media_review_rating AS numeric(12,2)))AS decimal(12,1)) from media_reviews where book_number = a.book_number and media_review_type_number <> 7 and media_review_rating > 0) "scritrating",
				(SELECT COUNT(media_review_rating) FROM media_reviews WHERE book_number = a.book_number AND media_review_type_number <> 7 AND media_review_rating > 0) as "scritrating_count",
            	(select top 1 gg.ezine_number from ezine_edition_mapping aa, editions bb, books cc, ezines gg            	
            	where aa.edition_number = bb.edition_number and bb.book_number = cc.book_number and aa.ezine_number = gg.ezine_number 
            	and cc.book_number = a.book_number and gg.ezine_bbsays_flag = 1 and gg.ezine_active_flag = 1) as "ezine_number",
				cgm.category_number,
				cgya.category_number AS "ya_flag"
				
,(select top 1 publisher_holding_company from publishers where (publisher_imprint like f.edition_publisher OR publisher_imprint like g.edition_publisher) AND publisher_holding_company LIKE 'Harper%') AS "publisher_holding_company"		
        
    FROM		books a 
    INNER JOIN	book_author_mapping c ON c.book_number = a.book_number
    INNER JOIN	authors b ON b.author_number = c.author_number  
    INNER JOIN	author_info i ON i.author_number = b.author_number
    
    LEFT JOIN	editions f ON f.book_number = a.book_number AND f.edition_paperback_flag = 0
    LEFT JOIN	editions g ON g.book_number = a.book_number AND g.edition_paperback_flag = 1
    LEFT JOIN	category_book_mapping cgm on cgm.book_number = a.book_number AND cgm.category_number = 48
    LEFT JOIN	category_book_mapping cgya on cgya.book_number = a.book_number AND cgya.category_number = 40
          
    WHERE 		a.book_number = ?
         
    ORDER BY	c.book_author_mapping_number
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=89ms, Records=8) in /root/website/queries/qry_get_book_by_id.cfm @ 19:51:36.036
SELECT		a.media_review_number, 
				a.book_number, 
				a.media_review_type_number, 
				a.media_review_title, 
				a.media_review_rating, 
				a.media_review, 
				a.media_review_old,
	
				CASE WHEN a.media_review_type_number = 9 THEN 	(select top 1 (case when dbo.WordCount(c.ezine_review_2) > 0 then dbo.WordCount(c.ezine_review_2) + dbo.WordCount(c.ezine_extras) 
                                                                                    else dbo.WordCount(c.ezine_review) 
                                                                                    end)
                                                                from ezine_edition_mapping c
                                                                INNER JOIN editions d ON (d.edition_number = c.edition_number)
                                                                INNER JOIN ezines e ON e.ezine_number = c.ezine_number
                                                                WHERE d.book_number = ?
                                                                
                                                                ORDER BY e.ezine_number ASC)
	 			ELSE 0 
	 			END  "wordc",
				
				CASE WHEN a.media_review_type_number = 9 THEN 	(select top 1 reviewer_number
		 														 from ezine_edition_mapping c
		 														 INNER JOIN editions d ON (d.edition_number = c.edition_number)
																 INNER JOIN ezines e ON e.ezine_number = c.ezine_number
		 														 WHERE d.book_number = ?
		 														 AND e.ezine_bbsays_flag = 1
																 ORDER BY d.edition_publish_dt DESC)
	 			ELSE 1
				END "reviewer_number",
				
				CASE WHEN a.media_review_type_number = 9 THEN 	(select top 1 reviewer_first_name + ' ' + reviewer_last_name AS "reviewer_name"
		 														 from ezine_edition_mapping c
		 														 INNER JOIN editions d ON (d.edition_number = c.edition_number)
																 INNER JOIN ezines e ON e.ezine_number = c.ezine_number
																 INNER JOIN reviewers r on r.reviewer_number = c.reviewer_number
		 														 WHERE d.book_number = ?
		 														 AND e.ezine_bbsays_flag = 1
																 ORDER BY d.edition_publish_dt DESC)
	 			END "reviewer_name"
	
	FROM		media_reviews a, media_review_types b
	
	WHERE		a.book_number IN (select distinct c.book_number from categories a, category_book_mapping b, book_author_mapping c where a.category_number = b.category_number and a.category_active_flag = 1 and b.book_number = c.book_number)
	AND			a.book_number = ?
	AND			a.media_review_type_number = b.media_review_type_number
	
	ORDER BY	b.media_review_type_sort_order ASC, media_review_rating DESC, media_review_title ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821
Parameter #2(CF_SQL_INTEGER) = 4821
Parameter #3(CF_SQL_INTEGER) = 4821
Parameter #4(CF_SQL_INTEGER) = 4821

get_reader_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=132ms, Records=42) in /root/website/queries/qry_get_reader_reviews_by_book_id.cfm @ 19:51:36.036
select 		a.reader_review_number, a.book_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.book_title,
    			ISNULL(e.edit_count, 0) AS edit_count,
    			e.last_edit_dt,
    			a.member_number AS review_member_number
    from 		reader_reviews a
    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,
    			books b
    where 		a.book_number IN (select distinct c.book_number from categories a, category_book_mapping b, book_author_mapping c where a.category_number = b.category_number and a.category_active_flag = 1 and b.book_number = c.book_number)
    and 		a.book_number = ?
    and 		a.reader_review_approved_flag = 1
    and 		a.book_number = b.book_number
    

	order by a.reader_review_rating DESC, a.reader_review_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_book_awards_by_book_id (Datasource=bookbrowse_com_new, Time=3ms, Records=1) in /root/website/queries/qry_get_book_awards_by_book_id.cfm @ 19:51:36.036
select 		c.book_awards_category_number, c.book_awards_category_name, c.book_awards_category_sort_order,
				m.book_awards_mapping_number, m.book_award_dt,
                a.book_award_number, a.book_award_image, a.book_award_name
                
                
	from 		book_awards_mapping m
	inner join 	book_awards_category c on c.book_awards_category_number = m.book_awards_category_number
    inner join	book_awards a on a.book_award_number = c.book_award_number
    
	where 		m.book_number = ?
    
    order by	c.book_awards_category_sort_order ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_bb_runner_ups (Datasource=bookbrowse_com_new, Time=2ms, Records=0) in /root/website/queries/qry_get_book_awards_by_book_id.cfm @ 19:51:36.036
select	book_number
    
    from	category_book_mapping a, categories b, top_categories t
    
    where	t.top_category_number = b.top_category_number
    and		b.category_number = a.category_number
    and		t.top_category_number = 9
    and		a.book_number = ?
    and		b.category_visible_flag = 1
	and		a.book_number not in (	select book_number 
    									from 		book_awards_mapping m
													inner join 	book_awards_category c on c.book_awards_category_number = m.book_awards_category_number
    												inner join	book_awards a on a.book_award_number = c.book_award_number
                                    	where m.book_number = ? 
                                    	and a.book_award_number = 7)
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821
Parameter #2(CF_SQL_INTEGER) = 4821

get_liked_by_book_id (Datasource=bookbrowse_com_new, Time=4ms, Records=3) in /root/website/queries/qry_get_liked_by_book_id.cfm @ 19:51:36.036
SELECT 		b.book_title, b.book_number,
    			c.book_title "referenced_book_title", c.book_number AS "liked_book_number", c.book_short_summary as "liked_short_summary",
            	e.*,
                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 = c.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'
                
	FROM 		liked a
	INNER JOIN	books b ON b.book_number = a.book_number
	INNER JOIN	books c ON c.book_number = a.liked_book_number
	INNER JOIN	book_author_mapping d ON c.book_number = d.book_number
	INNER JOIN	authors e ON d.author_number = e.author_number
    
    WHERE 		a.book_number = ?
    
	ORDER BY 	sortdate desc, c.book_title
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_categories_by_book_id (Datasource=bookbrowse_com_new, Time=2ms, Records=14) in /root/website/queries/qry_get_categories_by_book_id.cfm @ 19:51:36.036
select 		distinct a.category_number, a.top_category_number, a.category_name, a.category_description, a.category_meta_keywords, a.category_active_flag, a.category_visible_flag, a.category_member_only_flag, a.category_qry_template, a.category_sort_order, a.category_tag_size,
    			b.*
	
    from 		categories a
	left join	top_categories b on a.top_category_number = b.top_category_number
	left join	category_book_mapping c on c.category_number = a.category_number
	
    where 		a.category_active_flag = 1
    and 		a.category_visible_flag = 1
	and 		c.book_number = ?
	

    order by 	b.top_category_sort_order, b.top_category_name, a.category_sort_order, a.category_name
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

bb_review (Datasource=, Time=0ms, Records=1) in /root/website/reviews/index.cfm @ 19:51:36.036
SELECT media_review, reviewer_number, media_review_rating from get_media_reviews_by_book_id where media_review_type_number = 9
get_arc_idfk (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/queries/qry_get_discussion_by_id.cfm @ 19:51:36.036
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_bb_link = ? 
    AND DATALENGTH(a.arc_forumidfk) > 0 AND arc_obc_flag=1
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 4821

get_arc_idfk_legacy (Datasource=bookbrowse_com_new, Time=9ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 19:51:36.036
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_bb_link = ? 
    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) = 4821

obc_discussions (Datasource=booktalk_new, Time=96ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 19:51:36.036
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=40ms, Records=30) in /root/website/queries/qry_get_discussion_by_id.cfm @ 19:51:36.036
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) = 4821

get_ezine_type (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/queries/qry_get_ezine_by_book_id.cfm @ 19:51:36.036
SELECT a.ezine_type_number
	FROM ezines a
	WHERE a.ezine_number = 1
get_ezine_by_book_id (Datasource=bookbrowse_com_new, Time=18ms, Records=1) in /root/website/queries/qry_get_ezine_by_book_id.cfm @ 19:51:36.036
SELECT TOP 1  
                a.ezine_short_title, a. ezine_boxed_content_title, a.ezine_boxed_content, a.ezine_review, a.ezine_review_2,
                b.edition_paperback_flag, b.edition_publish_dt, b.edition_isbn,
                c.book_title, c.book_sub_title, c.book_reading_guide, c.book_excerpt, c.book_number,
                e.author_first_name, e.author_middle_initial, e.author_last_name, e.author_number, 
                f.author_info_biography, 
                g.ezine_number, g.ezine_dt, g.ezine_bbsays_flag,
				i.article_category_number, i.article_category_name
		
	FROM    	ezine_edition_mapping AS a 
		
	INNER JOIN 	editions AS b ON (a.edition_number = b.edition_number)
	INNER JOIN 	books AS c ON (b.book_number = c.book_number )
	INNER JOIN 	book_author_mapping AS d ON (c.book_number = d.book_number )
	INNER JOIN 	authors AS e ON (d.author_number = e.author_number )
	INNER JOIN 	author_info AS f ON (e.author_number = f.author_number)
	INNER JOIN 	ezines AS g ON (a.ezine_number = g.ezine_number)
	LEFT JOIN	article_ezine_edition_mapping h ON h.ezine_edition_mapping_number = a.ezine_edition_mapping_number
	LEFT JOIN	article_categories i ON i.article_category_number = h.article_category_number

	WHERE		c.book_number = ?
	AND			g.ezine_bbsays_flag = 1
	AND			g.ezine_active_flag = 1
	
	
	ORDER BY 		g.ezine_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

check_permalink (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 19:51:36.036
SELECT 	count(*) as "count"
    FROM 	books
    WHERE 	book_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0

check_editors_choice (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 19:51:36.036
SELECT 	count(*) as "count"
    FROM 	books
    WHERE 	book_number = ?
    AND		book_number IN (SELECT		top 4 a.book_number
                            FROM		editors_choice a 
                            WHERE		editors_choice_dt < getdate()
                            ORDER BY	editors_choice_dt DESC)
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

check_free_ezine (Datasource=bookbrowse_com_new, Time=6ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 19:51:36.036
SELECT 		count(*) as "count"
    FROM    	ezine_edition_mapping AS a
    INNER JOIN 	ezines b ON b.ezine_number = a.ezine_number
    INNER JOIN	editions c ON c.edition_number = a.edition_number
    WHERE 		c.book_number = ?
	AND			ezine_edition_free_review_flag = 1
	AND			dateadd(ww,4,b.ezine_dt) > getdate()
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

check_cat_73 (Datasource=bookbrowse_com_new, Time=11ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 19:51:36.036
SELECT 		count(*) as "count"
    FROM    	books AS b
    INNER JOIN 	category_book_mapping AS c ON c.book_number = b.book_number
    WHERE 		b.book_number = ?
	AND			c.category_number = 73
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_ezine_status (Datasource=bookbrowse_com_new, Time=8ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 19:51:36.036
SELECT 	top 1 g.ezine_active_flag, ezine_dt, book_title
FROM		ezine_edition_mapping AS a 
INNER JOIN	editions AS b ON (a.edition_number = b.edition_number)
INNER JOIN	books AS c ON (b.book_number = c.book_number)
INNER JOIN	ezines AS g ON (a.ezine_number = g.ezine_number)
WHERE		c.book_number = ?
ORDER BY	g.ezine_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

check_old_ezine (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 19:51:36.036
SELECT 		count(*) as "count"
    FROM    	ezine_edition_mapping AS a
    INNER JOIN 	ezines b ON b.ezine_number = a.ezine_number
    INNER JOIN	editions c ON c.edition_number = a.edition_number
    WHERE 		c.book_number = ?
	AND			datediff(mm,b.ezine_dt,getdate()) > 12
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_ezine_status (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 19:51:36.036
SELECT 	top 1 g.ezine_active_flag, ezine_dt, book_title
FROM		ezine_edition_mapping AS a 
INNER JOIN	editions AS b ON (a.edition_number = b.edition_number)
INNER JOIN	books AS c ON (b.book_number = c.book_number)
INNER JOIN	ezines AS g ON (a.ezine_number = g.ezine_number)
WHERE		c.book_number = ?
ORDER BY	g.ezine_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_coauthor (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 		book_number, 
            			CASE	WHEN datalength(d.author_middle_initial) > 1 
				                THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
				                ELSE d.author_first_name + ' ' + d.author_last_name
                        END "author",
                        d.author_number
            from		book_author_mapping e
            inner join	authors d ON e.author_number = d.author_number
            where		e.book_number = ?
			order by	book_author_mapping_number ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_coauthor (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 		book_number, 
            			CASE	WHEN datalength(d.author_middle_initial) > 1 
				                THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
				                ELSE d.author_first_name + ' ' + d.author_last_name
                        END "author",
                        d.author_number
            from		book_author_mapping e
            inner join	authors d ON e.author_number = d.author_number
            where		e.book_number = ?
			order by	book_author_mapping_number ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_coauthor (Datasource=bookbrowse_com_new, Time=6ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 		book_number, 
            			CASE	WHEN datalength(d.author_middle_initial) > 1 
				                THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
				                ELSE d.author_first_name + ' ' + d.author_last_name
                        END "author",
                        d.author_number
            from		book_author_mapping e
            inner join	authors d ON e.author_number = d.author_number
            where		e.book_number = ?
			order by	book_author_mapping_number ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

existingResults (Datasource=bookbrowse_com_new, Time=47ms, Records=30) in /root/website/actions/udfs.cfm @ 19:51:36.036
SELECT id, last_updated
        FROM DiscourseSearchResults
        WHERE book_number = ?
        ORDER BY last_updated DESC
Query Parameter Value(s) -
Parameter #1(cf_sql_varchar) = 4821

get_coauthor (Datasource=bookbrowse_com_new, Time=3ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 		book_number, 
            			CASE	WHEN datalength(d.author_middle_initial) > 1 
				                THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
				                ELSE d.author_first_name + ' ' + d.author_last_name
                        END "author",
                        d.author_number
            from		book_author_mapping e
            inner join	authors d ON e.author_number = d.author_number
            where		e.book_number = ?
			order by	book_author_mapping_number ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_book_image (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_jacket_image "hardcover_jacket_image", 
            g.edition_publish_dt "paperback_publish_dt", g.edition_jacket_image "paperback_jacket_image"
    
    from   	books a
	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 	a.book_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_book_image (Datasource=bookbrowse_com_new, Time=8ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_jacket_image "hardcover_jacket_image", 
            g.edition_publish_dt "paperback_publish_dt", g.edition_jacket_image "paperback_jacket_image"
    
    from   	books a
	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 	a.book_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_coauthor (Datasource=bookbrowse_com_new, Time=3ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 		book_number, 
            			CASE	WHEN datalength(d.author_middle_initial) > 1 
				                THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
				                ELSE d.author_first_name + ' ' + d.author_last_name
                        END "author",
                        d.author_number
            from		book_author_mapping e
            inner join	authors d ON e.author_number = d.author_number
            where		e.book_number = ?
			order by	book_author_mapping_number ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_ads (Datasource=bookbrowse_com_new, Time=11ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 19:51:36.036
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) = adzone2
Parameter #2(CF_SQL_VARCHAR) = 0
Parameter #3(CF_SQL_VARCHAR) = 0

get_ads (Datasource=bookbrowse_com_new, Time=2ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 19:51:36.036
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) = adzone2

get_ads (Datasource=bookbrowse_com_new, Time=3ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 19:51:36.036
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=3ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 19:51:36.036
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_coauthor (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 		book_number, 
            			CASE	WHEN datalength(d.author_middle_initial) > 1 
				                THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
				                ELSE d.author_first_name + ' ' + d.author_last_name
                        END "author",
                        d.author_number
            from		book_author_mapping e
            inner join	authors d ON e.author_number = d.author_number
            where		e.book_number = ?
			order by	book_author_mapping_number ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4821

get_member_account_types (Datasource=bookbrowse_com_new, Time=6ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 19:51:36.036
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 @ 19:51:36.036
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=8ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 19:51:36.036
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=14ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 19:51:36.036
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=11ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 19:51:36.036
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_book_image (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_jacket_image "hardcover_jacket_image", 
            g.edition_publish_dt "paperback_publish_dt", g.edition_jacket_image "paperback_jacket_image"
    
    from   	books a
	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 	a.book_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4440

get_coauthor (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 		book_number, 
            			CASE	WHEN datalength(d.author_middle_initial) > 1 
				                THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
				                ELSE d.author_first_name + ' ' + d.author_last_name
                        END "author",
                        d.author_number
            from		book_author_mapping e
            inner join	authors d ON e.author_number = d.author_number
            where		e.book_number = ?
			order by	book_author_mapping_number ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4440

get_edition_info (Datasource=bookbrowse_com_new, Time=12ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_number_of_pages AS "hardcover_number_of_pages", f.edition_isbn13 "hardcover_isbn13", f.edition_publisher as "hardcover_publisher",
            g.edition_publish_dt "paperback_publish_dt", g.edition_number_of_pages AS "paperback_number_of_pages", g.edition_isbn13 "paperback_isbn13", g.edition_publisher as "paperback_publisher"
            
    from   	books a
	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 	a.book_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4440

get_book_image (Datasource=bookbrowse_com_new, Time=14ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_jacket_image "hardcover_jacket_image", 
            g.edition_publish_dt "paperback_publish_dt", g.edition_jacket_image "paperback_jacket_image"
    
    from   	books a
	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 	a.book_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4075

get_coauthor (Datasource=bookbrowse_com_new, Time=17ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 		book_number, 
            			CASE	WHEN datalength(d.author_middle_initial) > 1 
				                THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
				                ELSE d.author_first_name + ' ' + d.author_last_name
                        END "author",
                        d.author_number
            from		book_author_mapping e
            inner join	authors d ON e.author_number = d.author_number
            where		e.book_number = ?
			order by	book_author_mapping_number ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4075

get_edition_info (Datasource=bookbrowse_com_new, Time=9ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_number_of_pages AS "hardcover_number_of_pages", f.edition_isbn13 "hardcover_isbn13", f.edition_publisher as "hardcover_publisher",
            g.edition_publish_dt "paperback_publish_dt", g.edition_number_of_pages AS "paperback_number_of_pages", g.edition_isbn13 "paperback_isbn13", g.edition_publisher as "paperback_publisher"
            
    from   	books a
	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 	a.book_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4075

get_book_image (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_jacket_image "hardcover_jacket_image", 
            g.edition_publish_dt "paperback_publish_dt", g.edition_jacket_image "paperback_jacket_image"
    
    from   	books a
	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 	a.book_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3524

get_coauthor (Datasource=bookbrowse_com_new, Time=3ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 		book_number, 
            			CASE	WHEN datalength(d.author_middle_initial) > 1 
				                THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
				                ELSE d.author_first_name + ' ' + d.author_last_name
                        END "author",
                        d.author_number
            from		book_author_mapping e
            inner join	authors d ON e.author_number = d.author_number
            where		e.book_number = ?
			order by	book_author_mapping_number ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3524

get_edition_info (Datasource=bookbrowse_com_new, Time=9ms, Records=1) in /root/website/actions/udfs.cfm @ 19:51:36.036
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_number_of_pages AS "hardcover_number_of_pages", f.edition_isbn13 "hardcover_isbn13", f.edition_publisher as "hardcover_publisher",
            g.edition_publish_dt "paperback_publish_dt", g.edition_number_of_pages AS "paperback_number_of_pages", g.edition_isbn13 "paperback_isbn13", g.edition_publisher as "paperback_publisher"
            
    from   	books a
	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 	a.book_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3524

get_member_account_types (Datasource=bookbrowse_com_new, Time=6ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 19:51:36.036
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=24ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 19:51:36.036
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=18ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 19:51:36.036
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=11ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 19:51:36.036
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=12ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 19:51:36.036
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=7ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 19:51:36.036
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=11ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 19:51:36.036
select top 1 ezine_number, ezine_quote, ezine_quote_title
	    from ezines
	    where len(ezine_quote_title) > 1
	    order by newid()
get_ads (Datasource=bookbrowse_com_new, Time=11ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 19:51:36.036
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=11ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 19:51:36.036
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 @ 19:51:36.036
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/reviews/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=
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=/book_number/4821/daughters-of-shandong
PATH_TRANSLATED=/root/website/reviews/index.cfm
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REMOTE_HOST=127.0.0.1
REMOTE_USER=
REQUEST_METHOD=GET
SCRIPT_NAME=/reviews/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=4072872
cftoken=2b3ffbd5359ce9c8-FBEB0846-E1D9-2886-CD50E4645DB3C00F
hitcount=1
lastvisit={ts '2026-05-31 19:51:35'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-05-31 19:51:35'}
urltoken=CFID=4072872&CFTOKEN=2b3ffbd5359ce9c8-FBEB0846-E1D9-2886-CD50E4645DB3C00F
view=books
Cookie Variables:
CFID=4072872
CFTOKEN=2b3ffbd5359ce9c8-FBEB0846-E1D9-2886-CD50E4645DB3C00F
Session Variables:
cfid=4072872
cftoken=2b3ffbd5359ce9c8-FBEB0846-E1D9-2886-CD50E4645DB3C00F
sessionid=BOOKBROWSE_4072872_2b3ffbd5359ce9c8-FBEB0846-E1D9-2886-CD50E4645DB3C00F
urltoken=CFID=4072872&CFTOKEN=2b3ffbd5359ce9c8-FBEB0846-E1D9-2886-CD50E4645DB3C00F
URL Parameters:
book_number=4821
daughters-of-shandong=
Debug Rendering Time: 13 ms