Kate B

Kate B

BookBrowse Reviewer
+ Follow
BookBrowse Reviewer Kate is a BookBrowse Reviewer and has written reviews featured in The BookBrowse Review.

Kate is originally from Edinburgh but now lives in Pennsylvania. She loves literary fiction, historical fiction and thrillers and she also writes and reviews for the Historical Novel Society. She is the author of Charlatan, a novel of poison and intrigue at the court of Louis XIV, due to be published by Fireship Press in 2016. Her website is www.kate-braithwaite.com

BookBrowse Editorial Reviews (48)

BookBrowse Editorial Review
Confessions of the Fox
by Jordy Rosenberg
(8/1/2018)
Confessions of the Fox is a complex novel with layers of meaning and textual questioning that would merit discussion in an academic tutorial and may push away the average reader. That said, Rosenberg's writing is top-notch, his talent is undeniable and his evocation of early eighteenth-century London is a pleasure to read.
BookBrowse Editorial Review
The Abbot's Tale
by Conn Iggulden
(6/20/2018)
The book suffers at points from the limitations of a first-person narrator point of view. Dunstan's voice, although enjoyable, is that of an old man looking to the past and this keeps many of the other characters at a distance. What the novel lacks in dramatic tension, however, it makes up for in its epic sweep and immersion into a fully realized vision of the past. From the smelting of coins to the crowning of kings and hunting for stag in the wilds of the countryside, The Abbot's Tale c
BookBrowse Editorial Review
The Mercy Seat
by Elizabeth H. Winthrop
(5/30/2018)
The Mercy Seat is a tense and haunting novel that doesn't shy away from darkness but remains hopeful, even beautiful, and painfully moving as all the various narratives wrap up in a powerful conclusion.
BookBrowse Editorial Review
How to Be Safe
by Tom McAllister
(5/2/2018)
The novel is a scathing satire that pulls no punches in its examination of American life today. It shows no mercy, not to politicians–local and national–to religious groups, gun activists, the mainstream media, Internet trolls or even to men who, with the exception of Anna's brother and boyfriend, are excoriated throughout. At times, hope for the human race runs pretty thin, yet McAllister finds optimism at the end of Anna's year. How To Be Safe is a damning, yet also beautifully written
BookBrowse Editorial Review
I Am, I Am, I Am: Seventeen Brushes with Death
by Maggie O'Farrell
(4/4/2018)
I am I am I am, Seventeen Brushes with Death, acclaimed novelist Maggie O'Farrell's latest book, speaks to the beauty and importance of life, even at its most ordinary, by closely examining seventeen of her own personal episodes. It is an unusual format for a memoir, but one that works well. Readers may find their own memories stirred by reading O'Farrell's memoir – something else to savor along with the sage words from a writer at the peak of her powers.
BookBrowse Editorial Review
White Houses
by Amy Bloom
(3/21/2018)
Although Eleanor and Hick's story is tethered by their re-connection in New York after Roosevelt's death, at times the movements back and forth in their life histories are hard to keep track of and the narrative feels rather rudderless. The novel lacks plot and suspense. As the portrait of the life-long love of one woman for another, however—a love the reader hopes, although is not certain is returned in the same measure—White Houses is genuinely moving.
BookBrowse Editorial Review
Fortress America: How We Embraced Fear and Abandoned Democracy
by Elaine Tyler May
(2/7/2018)
In Fortress America, Elaine Tyler May presents a fascinating but alarming portrait of America's recent history and the effect of events upon its citizens. Beginning with the threats posed by the Cold War, she examines the different fears that have gripped the nation in subsequent decades—fears that are often not substantiated by the facts. However it provides only a one-sided view. While Fortress America is certainly a thought-provoking and informative read, particularly about the
BookBrowse Editorial Review
The Mannequin Makers
by Craig Cliff
(1/3/2018)
The novel that unfolds from an unusual premise moves forward and backward in time, and is dark in many ways. In Cliff's deft hands all the bizarre elements are surprisingly believable. The narrative is woven together from disparate strands mixing the various characters' perspectives before climaxing, in almost gothic fashion, on a cliff face miles from Marumaru. As entertaining as it is challenging, The Mannequin Makers is an impressive debut.
BookBrowse Editorial Review
The Blind: A Chilling Psychological Suspense
by A.F. Brady
(10/18/2017)
The abuse Sam suffers at boyfriend Lucas' hands is graphic, almost clinically described. It is in keeping with her voice and character, but not for the faint of heart. As the novel progresses, a theme emerges: Does personal experience with a problem help a therapist be more effective? Brady hints that if this line has been crossed – if a drug counselor has had his or her own drug problems for example – then the therapist might be able to be more effective than another person with no personal exp
BookBrowse Editorial Review
Manhattan Beach
by Jennifer Egan
(10/4/2017)
At times the depth of research assembled in Manhattan Beach threatens to overwhelm the narrative. Dense passages devoted to naval maneuvers, war action and diving technique and safety, although interesting and beautifully written, slow the action. Anna's character and story, however, are compelling and thought-provoking. Egan is highly successful at bringing her to life and her choices and decisions keep the pages turning.
BookBrowse Editorial Review
Less
by Andrew Sean Greer
(9/6/2017)
Less is also a love story with many bittersweet moments. Thoughts of Freddy's marriage haunt Arthur, even as he takes a lover in Berlin and comes up with a plan to re-write his new novel, after his publisher rejects it. As he completes his global journey and comes to terms with "the tragi-comic business of being alive" this story wraps up with a warm-hearted and fitting conclusion. Overall, this is a charming tale, very well told.
BookBrowse Editorial Review
Birdcage Walk
by Helen Dunmore
(8/23/2017)
Birdcage Walk contains all the elements required in a first-rate gothic novel. Dunmore expertly portrays the tensions and simmering sexual violence in Diner and Lizzie's marriage. The reader suspects from the outset what Lizzie does not – that Diner has killed Lucy several years previously and buried her body in nearby woods. The question here becomes not so much whether this truth will come out, as whether Lizzie will have the strength to find and face the facts about her husband. Even i
BookBrowse Editorial Review
A Good Country
by Laleh Khadivi
(5/31/2017)
Readers who seek to understand another person's life experience – whether similar or vastly different to their own – will not be disappointed in A Good Country, and they may find their world view is changed and challenged by this powerful story too.
BookBrowse Editorial Review
Anything Is Possible: Amgash Series #2
by Elizabeth Strout
(5/3/2017)
Strout's characters struggle: with infidelity, bullying, post-traumatic stress disorder, isolation, poverty, abuse and more. But despite all this, the tone of the book is as optimistic as its title suggests. What Anything is Possible lacks, however, is a strong unifying character to tie all its disparate strands together, in the way that Olive Kitteridge did.
BookBrowse Editorial Review
This Is How It Always Is
by Laurie Frankel
(2/1/2017)
Certainly this is an issue-driven novel. The author, Laurie Frankel, is the parent of a transgender child. As her fictional creation Rosie makes clear, "this is a medical issue, but mostly it's a cultural issue. It's a social issue and an emotional issue and a family dynamic issue and a community issue." For all the sensitive and difficult nature of the subject, Frankel has written a novel that is above all endearing and at times witty.
BookBrowse Editorial Review
Conclave
by Robert Harris
(1/4/2017)
The attention to detail and fulsome description of the key locations of the novel – primarily the Sistine Chapel and the Casa Santa Marta where the Cardinals all sleep and eat for the duration of the conclave – bring this story to vivid life. Even if this conclave is fictional, the novel has wonderful authenticity. Places and characters are believable and convincing, and although the ending may stretch credulity a little, Harris succeeds in the delicate balance of placing absorbing fiction withi
BookBrowse Editorial Review
Coffin Road
by Peter May
(11/16/2016)
Coffin Road perfectly combines a fast-paced murder mystery with a fascinating real-life environmental crisis. He also continues, as he did in his critically acclaimed Lewis Trilogy of novels, to exploit the grandeur, isolation and stormy beauty of the Hebridean Islands to create a chillingly atmospheric and gripping read.
BookBrowse Editorial Review
The Perfect Girl
by Gilly Macmillan
(11/2/2016)
The Perfect Girl is very strong in parts. Zoe's troubles at school and her claustrophobic new family set-up are well imagined. Her relationship with her stepbrother is nuanced and engaging and her aunt's marital difficulties add layers of complexity and interest. However, other elements feel heavy-handed: A primary character's illness reads like an add-on or afterthought, a rather clumsy attempt at delivering depth. An all-around lack of emotional response to Maria's death is also particu
BookBrowse Editorial Review
The Gustav Sonata
by Rose Tremain
(10/5/2016)
Rose Tremain is a tremendous writer and her literary powers are displayed to great effect in this novel. She is a master at leaving gaps for the reader to fill in and really feel what is happening. Although I enjoyed the conclusion to the story of Gustav and his friend Anton, I felt that there were not enough scenes of them together, particularly in the section when they are adults, to provide the emotional punch Tremain was aiming for.
BookBrowse Editorial Review
This Must Be the Place: A novel
by Maggie O'Farrell
(9/7/2016)
Tenderhearted and character-driven, This Must Be the Place is entertaining, thoughtful and wise. Because the fictional portraits seem so real, it is impossible not to become caught up in Dan and Claudette's lives and read eagerly – and anxiously - to see how their story will be resolved.
BookBrowse Editorial Review
Arrowood: A Novel
by Laura McHugh
(8/3/2016)
As Arden faces the possibility that her sisters were not taken by the driver of the gold car, she is forced to consider alternative explanations. Several hours of that afternoon seem to be missing from her memory. Where was her father on the afternoon the twins disappeared? Where was her mother? What really happened at Arrowood? The answers to these questions combine to form a thoroughly enjoyable novel of family secrets that explores the ways in which memory and the beliefs we hold dear form ou
BookBrowse Editorial Review
The Strings of Murder
by Oscar de Muriel
(6/22/2016)
The relationship between the two detectives and Oscar de Muriel's sparkling dialogue really elevate this murder mystery. Great wit and humor are on display as the cops gradually learn to appreciate each other's skills and intelligence, all the while sparring with great gusto. With such a colorful background, intriguing characters and a satisfyingly twisting plot, The Strings of Murder is a pleasure to read.
BookBrowse Editorial Review
Redemption Road
by John Hart
(6/1/2016)
It should be noted that violence, sexual abuse and torture are all on display here, but despite the grim subjects, this is a novel that lives up to its title. The road to redemption for many of Hart's characters is as rocky and twisting as you would hope for in this genre, with a conclusion that is highly satisfying.
BookBrowse Editorial Review
The Mirror Thief
by Martin Seay
(5/18/2016)
All three narratives have dark themes and scenes of a violent and or sexual nature, which may not appeal to all readers. The story is complex and at times hard to parse... For those happy to enjoy the ride, however, there is much to enjoy here: a twisting mystery, rich language, metaphysical discourse and allusions and references to medieval texts, philosophy and poetry galore. Seay is clearly a talented and knowledgeable writer who has written a transporting and original novel.
BookBrowse Editorial Review
Louisa: The Extraordinary Life of Mrs. Adams
by Louisa Thomas
(5/4/2016)
Subtitled 'The extraordinary life of Mrs. Adams," this biography does not fail to meet the expectations it sets. Overall, Louisa is a crisply written, accessible biography that feels authentic to the lives of women at the time and paints a vivid and engrossing portrait of the sixth First Lady of the United States
BookBrowse Editorial Review
The Hourglass Factory
by Lucy Ribchester
(4/20/2016)
Early 20th Century London glitters in Ribchester’s hands. Her Edwardian world is colorful and risqué. Characters are described with sharp, physical details and they spring to life on the page. From the aging courtesan, holding court from her bed in her London mansion, to Milly the snake-charmer; from the Houses of Parliament to the Bow Street magistrates court, The Hourglass Factory is a delight to the senses.
BookBrowse Editorial Review
High Dive
by Jonathan Lee
(3/16/2016)
Overall, High Dive is a cleverly worked story, full of acute observations of character and punctuated by a dark and enjoyable vein of humor. Fictionalizing events leading up to a disaster about which every reader has foreknowledge, allows Lee countless opportunities for dramatic irony. Some may be frustrated by the lack of a "splash" or any explanation of what happens to some of the characters beyond the explosion. But Lee does tie up Dan's story well and crafts an ending that mirrors his
BookBrowse Editorial Review
The Kindness of Enemies
by Leila Aboulela
(2/3/2016)
The concept of jihad has become synonymous with terrorism but when Imam Shamil, an honorable, even noble, character uses the term, he is describing the defense of his homeland, not aggression or acts of terror. In the contemporary storyline, Oz is arrested and his university career derailed, it appears, solely because of online research he conducts for a course. And although Natalie wants nothing more than to feel at home somewhere, it is clear in Aboulela's novel, that for a young, intelligent
BookBrowse Editorial Review
Mr. Splitfoot
by Samantha Hunt
(1/20/2016)
Part ghost story, part love story, part modern gothic horror, Mr. Splitfoot is an original, vivid and compelling work of literary fiction. Although at times the story becomes almost mired in its own beautifully described misery – for example when Cora says, "There's sacrifice, antagonism, rebellion, obsession, and adoration, but no properly complex word for what's between a mother and a daughter, roots so twisted, a relationship so deep, people suffocated it in kitsch and comfort words to
BookBrowse Editorial Review
The Prize
by Jill Bialosky
(11/18/2015)
As a portrait of middle-aged vulnerability and weakness, this is a rich story with a believable, complex central character. Edward might choose the worst imaginable moment to reveal the secret from his past to his wife, Holly, but he remains a sympathetic character, even when his failings are most obvious. The marriage between the two celebrity artists is also intriguing, with suggestions of competition and manipulation between the pair. The Prize is a moving, well-crafted novel but at ti
BookBrowse Editorial Review
Thirteen Ways of Looking: Fiction
by Colum McCann
(11/4/2015)
Both in his afterword and in recent interviews, McCann emphasizes the influence that the experience of being violently punched on the street by a stranger in 2014 has had on his life, and, in particular, on this book. He connects the stories in the collection around this event and therefore to his own life story, adding another fascinating layer to his beautifully written fiction.
BookBrowse Editorial Review
Mrs. Engels
by Gavin McCrea
(10/21/2015)
The Mrs. Engels of Gavin McCrea's debut novel, is...not Engels' wife in the eyes of the law, even though Lizzie Burns lived with him for many years. This is just one facet of the enormously rich and complex relationship McCrea has imagined around the bare biographical facts that are known about Lizzie. The story is anchored in the eight years Lizzie and Frederick lived together in London — between 1870 and 1878 — but also delves into the past when Frederick was the owner of the Manchester cotton
BookBrowse Editorial Review
Crooked Heart
by Lissa Evans
(9/16/2015)
Evans treads a careful path through the light and dark sides of criminality during World War II. Although the tone of the story is light and often humorous, the dark backdrop of war is always present. London during the Blitz is successfully portrayed and Evans manages to convey a sense of tragedy, fear and loss without losing an overarching sense of humor and optimism. Evans keeps the story on track and doesn't slip into mawkishness or bathos. Overall, Crooked Heart is an entertaining and
BookBrowse Editorial Review
Barbara the Slut and Other People
by Lauren Holmes
(8/12/2015)
In the main, the characters in Barbara the Slut and Other People are likable, believable people, struggling to find themselves and the key to happiness. It is a testament to Holmes' ability to bring her characters to life that several of the stories left me wanting to know more, but on the negative side, this does mean that sometimes there is a lack of resolution that may disappoint some readers.
BookBrowse Editorial Review
The Library at Mount Char
by Scott Hawkins
(7/8/2015)
The vast imagination at work in this novel is impressive, yet at times, almost overwhelming. Steve's amazement echoes the effect that this novel may have on its readership. Although loose ends are tied up and everything that needs to be explained is properly addressed by the end, it is so complex that confusion does occasionally creep in. The Library at Mount Char is also a very violent story, with the gore of a horror flick and the pace of a thriller. Highly recommended, but not for the
BookBrowse Editorial Review
The Folded Clock: A Diary
by Heidi Julavits
(6/17/2015)
Every entry in The Folded Clock starts with the word "Today," but this is not a diary of events and happenings: this is far more a journal of the mind. Each "Today" moment serves as a setting off point for Julavits' sharp wit, her observation and her unblinking consideration of themes. Heidi Julavits is first and foremost a writer: someone who talks about her craft and has composed and deliberately structured this diary in a non-linear form, yet there is an overarching sense of candor and
BookBrowse Editorial Review
The Blondes
by Emily Schultz
(5/13/2015)
Much of the enjoyment of this novel is derived from the way author Emily Schultz charts the reaction of the world to a virus that, to many, only becomes ‘real’ when a celebrity falls victim to it. She is playful with the media’s attempts to understand and name the illness.
BookBrowse Editorial Review
God Help the Child: A novel
by Toni Morrison
(4/15/2015)
Life, as shown to us in God Help the Child, is hard and often painful, even if there is hope that circumstances can and do get better. Inhabiting her characters' lives and voices, in a story told from multiple perspectives, Morrison examines the beauty and ugliness in all our lives, in a memorable story, skillfully told.
BookBrowse Editorial Review
The Strangler Vine
by M.J. Carter
(4/1/2015)
From a hanging in Jubbulpore to a tiger hunt in Doora and on to a mountain prison on the road to Mirzapore, The Strangler Vine is a riot of color and vibrancy. Carter is an historian and this is her first fictional outing. Certainly the novel is a highly detailed, vivid and authentic piece of historical writing. For all that it offers the reader however, it suffers from a slightly predictable plot and minimal character development.
BookBrowse Editorial Review
My Sunshine Away
by M.O. Walsh
(3/4/2015)
As the novel progresses, Walsh manages the tricky act of re-telling scenes from his youth with great clarity and freshness. Interjections from the narrator's adult self have the potential to jar, awkwardly lifting the reader out of the story of his teenage years, but this is never a problem. Instead, Walsh's dual perspective on events becomes a real strength as he increasingly overlays the young man's mistakes and mis-steps with mature reflection. Lindy's past "is unchangeable" but there is a ph
BookBrowse Editorial Review
Alphabetical: How Every Letter Tells a Story
by Michael Rosen
(2/18/2015)
Some readers might find Rosen to be trying to do too much. At times the subjects he covers link only tenuously to the chapter letter. In I for Improvisation, for instance, he hops from animal noises to apostrophes to forms of address, seemingly at random. Inevitably some topics are touched on only lightly; for a more in-depth understanding of the history of the English language readers might want to turn to more specialist scholars of language such as David Crystal or Seth Lerer. That said, A
BookBrowse Editorial Review
The Unquiet Dead: A Rachel Getty and Esa Khattak Novel
by Ausma Zehanat Khan
(2/4/2015)
Where The Unquiet Dead really soars is Khan's sensitive and intelligent portrayal of the violent history of the former Yugoslavia, which raises questions of responsibility, retribution and justice. This is a novel that manages to be informative without being didactic or slow-paced, and to be complex without being confusing.
BookBrowse Editorial Review
How We Learn: The Surprising Truth About When, Where, and Why It Happens
by Benedict Carey
(11/19/2014)
The book is perhaps not as "surprising" as the subtitle claims and at the end of the text there is an appendix of eleven essential questions that covers most of the author's actual advice on how to learn. But to only read the appendix would be to miss out. How We Learn is witty and informative, clearly well grounded by the author's depth of knowledge.
BookBrowse Editorial Review
The Undertaking
by Audrey Magee
(11/19/2014)
The Undertaking is a remarkable piece of writing. Throughout, Magee's language is both unflinching and spare. Similarly to Pat Barker in her World War I novels, Magee's descriptions are stripped of metaphor and simile and her dialogue is crisp and vivid. Moreover, this is one of those rare historical novels that wears its research so lightly that the reader can forget that this is a story set in the past and simply move into the scenes and lives of its characters.
BookBrowse Editorial Review
The Zone of Interest
by Martin Amis
(10/15/2014)
The fragmented narration is a strength. Who can look at such horror for sustained periods of time? Not the reader and certainly not the three men telling the story. The choppy switches that Amis creates between the mechanics of mass genocide and scenes of domesticity and child rearing are also highly moving. Equally the comedic interplay between characters, although jarring to read, is in fact wholly appropriate, driving home the unpalatable reality that the extermination of Jewish people carrie
BookBrowse Editorial Review
The Remarkable Courtship of General Tom Thumb
by Nicholas Rinaldi
(9/17/2014)
Structurally, the prologue is overly long and I would have enjoyed Tom's early history more if it had been woven into the main chapters. Rinaldi also gives the lion's share of the story to Charlie but at times switches over to Vinnie and it is not always clear that the change is necessary. None of which is to say that the novel is not a superbly enjoyable read, or that the characters are not appealing and well drawn.
BookBrowse Editorial Review
The Frozen Dead
by Bernard Minier
(9/3/2014)
Every character, is rounded, believable and enjoyable to spend time with. The story is full of all the expected, unexpected twists and revelations of the genre, but every surprise is believable and each player, good and bad, is intriguing to get to know. The novel takes perhaps a little longer than it should, to get going. But once the stage is fully set, and Minier has all his pieces in place, the pace is excellent, the drama every bit as riveting and the climax as nail-biting as any thriller l
BookBrowse Editorial Review
Dark Aemilia: A Novel of Shakespeare's Dark Lady
by Sally O'Reilly
(7/9/2014)
This is first and foremost a story of passion and witchcraft. It is also a fascinating exploration of the trials and tribulations of Elizabethan life from a woman's perspective. From start to finish, Dark Aemilia is beautifully written, ripe and vivid. It is historically astute — fictional certainly, but entertaining and credible, cleverly using the little that is known about Shakespeare to give Aemilia a dramatic, engaging life of her own.

Reviews (0)

No reviews yet.

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

There is no science without fancy and no art without fact

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 /readers/index.cfm
Time Stamp 01-Jun-26 12:19 AM
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
1780273178374 ms 1.78027317837E+012 ms 1 /root/website/app_server.cfm
1841 ms 1841 ms 1 /root/website/readers/index.cfm
1339 ms 1339 ms 1 /root/website/readers/dsp_profile.cfm
244 ms 244 ms 1 /root/website/app_layout.cfm
208 ms 208 ms 1 /root/website/app_globals.cfm
154 ms 77 ms 2 /root/website/adsystem/adsystem_mod.cfm
150 ms 150 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
82 ms 82 ms 1 /root/website/adzones/AdZone6.cfm
75 ms 75 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
74 ms 74 ms 1 /root/website/adzones/showcase_track.cfm
68 ms 68 ms 1 /root/website/queries/qry_get_active_obc.cfm
42 ms 42 ms 1 /root/website/queries/qry_get_current_competition.cfm
36 ms 36 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
36 ms 36 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
28 ms 28 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
26 ms 26 ms 1 /root/website/actions/adstatus.cfm
26 ms 26 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
26 ms 26 ms 1 /root/website/queries/qry_get_member_profile.cfm
24 ms 24 ms 1 /root/website/queries/qry_get_follower_count.cfm
23 ms 23 ms 1 /root/website/queries/qry_get_reviews_by_member.cfm
22 ms 22 ms 1 /root/website/act_check_login.cfm
22 ms 22 ms 1 /root/website/queries/qry_get_member_info.cfm
21 ms 21 ms 1 /root/website/queries/qry_get_following_count.cfm
15 ms 5 ms 3 /root/website/actions/act_spider_tracker.cfm
10 ms 10 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
8 ms 8 ms 1 /root/website/site/blocks/layout/main_menu.cfm
7 ms 7 ms 1 /root/website/site/blocks/layout/main_search.cfm
6 ms 6 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_reader_reviews_power_reviewers.cfm
1 ms 1 ms 1 /root/website/site/blocks/dsp_border_booktalk.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/head.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_get_previous_arcs_for_ad.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
1 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
1842 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=14ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 00:19:38.038
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=21ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 00:19:38.038
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=24ms, Records=2) in /root/website/actions/adstatus.cfm @ 00:19:38.038
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 @ 00:19:38.038
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=26ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 00:19:38.038
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=22ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 00:19:38.038
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=19ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 00:19:38.038
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 @ 00:19:38.038
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=18ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 00:19:38.038
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=20ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 00:19:38.038
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=28ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 00:19:38.038
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_member_profile (Datasource=bookbrowse_com_new, Time=25ms, Records=1) in /root/website/queries/qry_get_member_profile.cfm @ 00:19:38.038
SELECT  m.member_number, m.discourse_username, m.member_first_name, m.member_last_name, m.profile_image_url, m.member_full_name, m.member_bio, m.external_link, m.member_classification_number, m.member_email
        FROM    members m
        WHERE   m.member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 9059

get_reviews_by_member (Datasource=bookbrowse_com_new, Time=22ms, Records=0) in /root/website/queries/qry_get_reviews_by_member.cfm @ 00:19:38.038
SELECT  a.book_number, a.ezine_preview_number, a.reader_review_number,
            COALESCE(NULLIF(LTRIM(RTRIM(m.discourse_username)), ''), NULLIF(LTRIM(RTRIM(a.reader_review_reviewer_name)), '')) AS reader_review_reviewer_name,
            a.reader_review_title, a.reader_review_rating, a.reader_review_description, a.reader_review_dt,
            (SELECT COUNT(*) FROM reader_review_likes rl WHERE rl.reader_review_number = a.reader_review_number) AS like_count
    FROM    reader_reviews a
    LEFT OUTER JOIN members m ON m.member_number = a.member_number
    WHERE   a.member_number = ?
    AND     a.reader_review_approved_flag = 1
    
        ORDER BY a.reader_review_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 9059

get_follower_count (Datasource=bookbrowse_com_new, Time=23ms, Records=1) in /root/website/queries/qry_get_follower_count.cfm @ 00:19:38.038
SELECT COUNT(*) AS follower_count
    FROM member_follows
    WHERE followed_member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 9059

get_following_count (Datasource=bookbrowse_com_new, Time=21ms, Records=1) in /root/website/queries/qry_get_following_count.cfm @ 00:19:38.038
SELECT COUNT(*) AS following_count
    FROM member_follows
    WHERE follower_member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 9059

get_reviewer_number (Datasource=bookbrowse_com_new, Time=26ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 00:19:38.038
SELECT TOP 1 reviewer_number
                FROM reviewers
                WHERE reviewer_email = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = kate.braithwaite@gmail.com

get_reader_reviews_power_reviewers (Datasource=bookbrowse_com_new, Time=0ms, Records=50, Cached Query) in /root/website/queries/qry_get_reader_reviews_power_reviewers.cfm @ 00:19:38.038
SELECT 		top 50 reader_review_reviewer_email_address, count(reader_review_reviewer_email_address) as "count"
	FROM 		reader_reviews
	WHERE 		reader_review_reviewer_email_address like '%@%'
	AND 		reader_review_reviewer_email_address <> 'reviews@bookbrowse.com'
	GROUP BY 	reader_review_reviewer_email_address
	
	
	ORDER BY 	count desc
get_reviewer_details (Datasource=bookbrowse_com_new, Time=32ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 00:19:38.038
SELECT reviewer_photo, reviewer_bio, reviewer_first_name, reviewer_last_name
            FROM reviewers
            WHERE reviewer_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 72

get_editorial_reviews (Datasource=bookbrowse_com_new, Time=1229ms, Records=48) in /root/website/readers/dsp_profile.cfm @ 00:19:39.039
SELECT  d.book_number, d.book_title, d.book_sub_title,
                    e.ezine_dt,
                    ep.ezine_preview_number, ep.ezine_preview_title, ep.ezine_preview_subtitle,
                    ep.ezine_preview_author, ep.ezine_preview_jacket_image,
                    mr.media_review_rating,
                    LEFT(mr.media_review, 500) AS review_excerpt
            FROM    ezine_edition_mapping b
            INNER JOIN editions c ON c.edition_number = b.edition_number
            INNER JOIN books d ON d.book_number = c.book_number
            INNER JOIN ezines e ON e.ezine_number = b.ezine_number
            LEFT JOIN ezine_previews ep ON ep.ezine_preview_isbn13 = c.edition_isbn13
                AND ep.ezine_preview_isbn13 IS NOT NULL AND LEN(ep.ezine_preview_isbn13) > 0
            LEFT JOIN media_reviews mr ON mr.book_number = c.book_number AND mr.media_review_type_number = 9
            WHERE   b.reviewer_number = ?
            AND     e.ezine_dt = (SELECT TOP 1 ez.ezine_dt
                                  FROM ezines ez
                                  INNER JOIN ezine_edition_mapping eem ON eem.ezine_number = ez.ezine_number
                                  INNER JOIN editions ed ON ed.edition_number = eem.edition_number
                                  WHERE ed.book_number = c.book_number
                                  ORDER BY ez.ezine_dt ASC)
            ORDER BY e.ezine_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 72

get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=15ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 00:19:39.039
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=20ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 00:19:40.040
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=22ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 00:19:40.040
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=20ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 00:19:40.040
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=36ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 00:19:40.040
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=27ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 00:19:40.040
select top 1 ezine_number, ezine_quote, ezine_quote_title
	    from ezines
	    where len(ezine_quote_title) > 1
	    order by newid()
get_free_newsletters (Datasource=bookbrowse_com_new, Time=0ms, Records=4, Cached Query) in /root/website/queries/qry_get_free_newsletters.cfm @ 00:19:40.040
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=24ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 00:19:40.040
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=24ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 00:19:40.040
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=21ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 00:19:40.040
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/readers/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=6df545343f861c62-0580AF75-068B-5355-B6610FAB7DB7A4DC; CFGLOBALS=urltoken%3DCFID%23%3D4077947%26CFTOKEN%23%3D10d55b86f2653fd3%2D0580A747%2D9AAA%2D2FF4%2D77F48989633E001F%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2000%3A19%3A38%27%7D%23hitcount%3D4%23timecreated%3D%7Bts%20%272026%2D06%2D01%2000%3A19%3A35%27%7D%23cftoken%3D10d55b86f2653fd3%2D0580A747%2D9AAA%2D2FF4%2D77F48989633E001F%23cfid%3D4077947%23; CFID=4077949
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=/9059
PATH_TRANSLATED=/root/website/readers/index.cfm
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REMOTE_HOST=127.0.0.1
REMOTE_USER=
REQUEST_METHOD=GET
SCRIPT_NAME=/readers/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=4077949
cftoken=6df545343f861c62-0580AF75-068B-5355-B6610FAB7DB7A4DC
hitcount=5
lastvisit={ts '2026-06-01 00:19:40'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 00:19:36'}
urltoken=CFID=4077949&CFTOKEN=6df545343f861c62-0580AF75-068B-5355-B6610FAB7DB7A4DC
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#=4077947&CFTOKEN#=10d55b86f2653fd3-0580A747-9AAA-2FF4-77F48989633E001F#lastvisit={ts '2026-06-01 00:19:38'}#hitcount=4#timecreated={ts '2026-06-01 00:19:35'}#cftoken=10d55b86f2653fd3-0580A747-9AAA-2FF4-77F48989633E001F#cfid=4077947#
CFID=4077949
CFTOKEN=6df545343f861c62-0580AF75-068B-5355-B6610FAB7DB7A4DC
Session Variables:
cfid=4077949
cftoken=6df545343f861c62-0580AF75-068B-5355-B6610FAB7DB7A4DC
sessionid=BOOKBROWSE_4077949_6df545343f861c62-0580AF75-068B-5355-B6610FAB7DB7A4DC
urltoken=CFID=4077949&CFTOKEN=6df545343f861c62-0580AF75-068B-5355-B6610FAB7DB7A4DC
URL Parameters:
9059=
Debug Rendering Time: 8 ms