Cathryn_Conroy

Cathryn_Conroy

Power Reviewer Power Reviewer
+ Follow

Reviews (468)

The Color of Water
by James McBride
A Brilliant, Mesmerizing Memoir: Candid and Brutally Honest Revelations About Two Incredible Lives (5/26/2025)
If you're a James McBride fan, this is a must-read book. If you haven't yet treated yourself to this award-winning author's novels, don't read this memoir of his life and his mother's life quite yet. I've only read two of his novels—"Deacon King Kong" and "The Heaven and Earth Grocery Store"—but it's fascinating to see how the seed of some of his story ideas came from his mother's storied and remarkable past. Read a novel or two or three first and then treat yourself to this masterful memoir.

James McBride is the eighth of 12 children born to a White woman and a Black father. His father, Andrew Dennis McBride, died before James's birth. His mother, Ruth McBride Jordan, remarried several years later to another Black man named Hunter Jordan; the couple had four children, but most importantly, Mr. Jordan treated the McBride kids as his own. Lots of love to go around. McBride loved Hunter Jordan dearly and thought of him as his father.

Ruth was not only a White woman living in a Black world in a time when society mightily disapproved of this, but also she was the daughter of an Orthodox Jewish rabbi. In addition to regularly sexually abusing her, her father was cruel and vindictive. Ruth ran away from her Suffolk, Virginia home on day after her high school graduation, and when she married a Black man, her family declared her dead to them. They sat shiva for her. She found solace in the Christian church, something that held her up after the tragic loss of her two husbands.

Discerning his mother's life story was a difficult, years-long project for James McBride. Ruth was a very private person and saw no need to dredge up the past. But James was insistent. As he says, "It took many years to find out who she was, partly because I never knew who I was."

This memoir switches chapter-by-chapter between Ruth's life story and James's life story when he grew up poor in Brooklyn and Queens with little money, little food, and sleeping four to a bed. Some of the stories—especially Ruth's—are so astonishing as to feel made-up, but it's all true. James truly did come from two worlds—one White, one Black—and this has greatly informed and influenced his writing. Even though he was brought up a Christian, he says he has a Jewish soul inherited from his mother.

McBride's thoughts and ruminations on race and the struggles he had with his racial identity are candid, but also heartbreaking, and form the backbone of this brilliant memoir. His mother truly was an extraordinary woman, raising 12 children in poverty. She enforced strict rules and focused on their education. It paid off. Two became medical doctors, one a psychologist, one an Ivy League college professor, one a registered nurse and midwife, one a chemistry researcher, one a medical practice office manager, one a computer consultant, and two teachers. And James McBride himself is not only an accomplished musician, but also the 2013 winner of the National Book Award for "The Good Lord Bird."

This is a fascinating, almost mesmerizing book that reads more like a novel than nonfiction. It is filled with sincere, forthright, and brutally honest revelations that truly capture their lives—the good, the bad, and the ugly. It takes a lot of courage to be this truthful.

The meaning of the book's title? When he was little, James asked his mother the color of God's spirit. "Oh boy…God's not black. He's not white. He's a spirit," his mother told him. "What color is God's spirit?" asked James. "It doesn't have a color," she said. "God is the color of water. Water doesn't have a color."
The Note: A Novel
by Alafair Burke
A Delicious and Totally Riveting Mystery/Thriller: It's the Equivalent of Literary Dessert (5/24/2025)
This is one of those delicious mystery/thrillers that is unputdownable while you're reading it (or more likely devouring it), but chances are you won't remember it weeks or months later. It's the equivalent of literary dessert. Oh, so tasty!

Written by Alafair Burke, this is the story of three best friends, the secrets they closely guard and the lies they tell each other and themselves until their lives implode after a murder and they are forced to face the truth—no matter how difficult that truth may be.

It's summer and rich girl Kelsey Ellis invites her besties Lauren Berry and May Hanover to join her for a week in the Hamptons in a home she has rented on the bay. Kelsey works for her very controlling father in the sprawling and highly successful family real estate business in Boston. Lauren is a classical musician and the director of the Houston Symphony. May is a new professor of law at Fordham University, having just left the Manhattan district attorney's office. All three have endured being socially "canceled" after three completely unrelated, embarrassing, and highly public events that diminished their professional and personal lives. Now they are off for a bit of R&R in the tony Hamptons.

The first night together, they go to Sag Harbor for drinks with Lauren driving. She spots a primo parking space and patiently waits while the driver in the huge pickup holding the space takes his sweet time pulling out. Just as he does and before Lauren can scoot into the space, it is taken by another couple. When they get out of their car, they turn to the three women and gloat. Seriously gloat. Well, that's maddening! This becomes the main topic of conversation over drinks, and they decide to write notes to the driver. It's fun. It's harmless. And the notes get stuffed into a purse. The note Kelsey writes says, "He's cheating. He always does." Unbeknownst to Lauren and May, Kelsey goes one step further, tucking the note under the wipers of the car. It's just a harmless prank that is payback for stealing the parking space!

The weekend is fun and relaxing until the driver of that car turns up missing, and Kelsey, Lauren, and May are targeted as suspects by the police. What started as a silly joke quickly spirals out of their control. They spin elaborate lies—so many lies. They guard deeply-held secrets—so many secrets. And the plot twists and turns, keeping the reader guessing until the end.

This is an ideal vacation book—fast and easy to read and totally riveting.
Local Souls
by Allan Gurganus
Three Novellas, One Small Town: The Plot Summaries Sound Good, but It's Slow Read (5/20/2025)
Local Souls
By Allan Gurganus

Imagine a small Southern town where everyone knows each other and on the surface, it's a beatific, innocent place. A visitor might look around this town, named Falls, North Carolina, and see happily married couples, successful children, thriving businesses, and churches of every denomination. Okay, now scratch the surface. What do you see? Everything isn't as perfect as it seems. That is the subject of these three loosely connected novellas by Allan Gurganus.

Each story focuses on characters who have a deep yearning to form a connection with others.

• "Fear Not": When Susan was 14 years old her father accidentally died in a horrific, very public way at the hands of his lifelong best friend, Dennis, who is also Susan's godfather. Dennis, the married father of three, is wracked with guilt—just consumed with it. Susan is grieving. Her mother has checked out mentally having witnessed her husband's death and takes to her bed. Dennis spends a lot of time alone with Susan, and before you know it, he gets Susan pregnant—and she's only 14. What happens to her in the ensuing years is the soul of this heart wrenching story.

• "Saints Have Mothers": Caitlin Mulray is a bit much. She is a high school junior who is perfect. And I mean perfect: Kind to everyone (and she's a teenage girl!), brilliant, musical, talented in every possible way, and gorgeous. She is also compassionate, working tirelessly with and for those who have less. The summer before her senior year, she goes to Africa to teach. While she is there, something horrific happens that sends her mother reeling, as well as her father and stepmother in California, her twin 11-year-old brothers, and basically the entire town of Falls, North Carolina. She is, after all, their golden girl. This melodramatic novella is written in the first person by Caitlin's less-than-perfect mother, Jean, who is having an identity crisis all her own. It's a difficult story to enjoy because Caitlin and Jean are tough characters to like.

• "Decoy": Bill Mabry has a bad heart—so bad that it was diagnosed as a ticking time bomb when he was just a child. But the small town of Falls, North Carolina has one of its own as the favorite physician, and Doc has sworn to care for Bill with great care and keep him alive. Told in the first person from Bill's point of view, this is a love letter to Doc and life in a small town. All is well, almost idyllic, until tragedy strikes Falls when the normally placid river overflows its banks after a hurricane, causing death and destruction.

This is a slow read. Yes, the stories frequently drag, getting bogged down in mindless details. But it's more than that. There is something about the writing that makes it difficult to read at times. Hence, three stars.
James: A Novel
by Percival Everett
A Triumphant Masterpiece: Sophisticated Storytelling That is Provocative and Profound (5/16/2025)
Oh, wow! This book gave me goosebumps. Quite simply, it's a masterpiece.

Brilliantly and imaginatively written by Percival Everett, this is the other side of Mark Twain's 1885 novel, "The Adventures of Huckleberry Finn." It is a treatise on the inherent evils of slavery, the significance of abiding friendship and romantic love, and the deeply human need to be respected and free. It rightly won the 2025 Pulitzer Prize for Fiction and the 2024 National Book Award.

In Twain's novel, Huck frequently goes off on adventures, leaving Jim alone, mostly to tend the raft and canoe, their mode of transportation as they both escape their former lives as they float down the Mississippi River. What was Jim doing all that time when he was left alone? Everett has reimagined "Huck Finn" to tell Jim's side of the story, and it's a story that is so compelling, so enthralling, so mesmerizing that you likely will stay up long past your bedtime to read just one more chapter.

Mark Twain portrays Jim as a befuddled, ignorant Black man, liberally using a much harsher and derogatory epithet than "Black man." In Percival Everett's book, Jim is an educated, erudite man who can read and write. He expounds complex philosophical ideas. He speaks English properly, as do all the slaves, except in the presence of White people when he speaks in a put-on Southern dialect common to slaves. They call it slave language. But Jim is trapped as a slave, until he escapes Miss Watson. Meanwhile, Huck Finn has been abused by his no-good father one time too many, and he, too, escapes, leaving an ingenious trail so the townspeople will think he was murdered. The two serendipitously find each other on a deserted island in the Mississippi. Everett sticks fairly close—but not entirely—to Twain's story of Huck and Jim's adventures. In this book we see a whole new side of Jim, as he cares for and protects Huck, who is, after all, just a child.

About two-thirds of the way through "James," which is the beginning of Part II, Everett bids farewell to Twain's "Huck Finn" and strikes out on his own in a page-turning story that is riveting and remarkable and filled with surprises—especially one stunner. (No spoilers here!) Everett wisely abandons Twain's version when it got to be silly and farfetched as Huck and Tom Sawyer try to rescue Jim when he was captured as a runaway on the Phelps family's plantation. This second part of "James" is the strongest and most electrifying part of the book.

This is a fast-paced novel that is more plot than philosophy, but taken as a whole it is one of the most powerful and profound novels I have ever read. Most notably, Everett, unlike Twain, treats slavery as the violent, bloody, abusive, and inhumane institution it was.

And the ending? I will only say it was amazing. It's the best ending, albeit unexpected, I could ever have imagined.

"James" is truly an extraordinary novel with sophisticated storytelling that is provocative, haunting, and triumphant. Read it.

Just a thought: Consider reading (or rereading) "The Adventures of Huckleberry Finn" before reading "James." I did this, and had I not, I wouldn't have appreciated or even understood not only certain plot turns, but also many subtle references. That said, because "James" does veer from Twain's novel, it's not absolutely necessary to read "Huck" first.
The Stolen Queen: A Novel
by Fiona Davis
Richly Imagined and Captivating with Page-Turning Suspense: I Was Spellbound! (5/12/2025)
Clear the decks! Order takeout for dinner. Turn off your phone. This is a riveting, unputdownable history-mystery by Fiona Davis that had me mesmerized from the first chapter. Yes, it's ChickLit, but it's intelligent ChickLit.

This is the story of two very different women, a priceless ancient Egyptian artifact, and the challenges smart women have endured in a man's world.

• Charlotte Cross is 60 years old and is the associate curator of the celebrated Department of Egyptian Art at New York City's Metropolitan Museum of Art. Her specialty is Hathorkare, a rare female pharaoh whom most other Egyptologists deem unimportant. It's 1978, and Charlotte has a big secret she has been guarding for decades. In 1936 as an undergraduate college student, she worked on an archaeological dig in Egypt, making an extraordinary discovery—one that may have cursed her for life. Charlotte also fell in love, got pregnant, and then got married (big taboo then) until tragedy struck. What happened on that fateful night has haunted her ever since, but repressing the memories has left her a somewhat broken woman.

• Annie Jenkins, who is 19, has spent her life since her father died when she was five years old caring for her high-strung and unstable mother. Instead of college, she took on small jobs—waitressing and cleaning houses—to pay the bills for them because her mother refuses to work. Quite surprisingly, Annie receives an opportunity to work as the personal assistant to the revered and feared Diana Vreeland, the legendary former fashion editor of Vogue magazine. Now 75, she is chairing the annual Met Gala, which is a week away. Annie is thrilled because the Met is her favorite place to visit, and her favorite display is the fragment of a statue known as the Cerulean Queen in the Egyptian Art collection.

On the night of the Met Gala, everything goes wrong—terribly, terribly wrong, and the ramifications of what happens send Charlotte and Annie to Egypt to solve the mystery and the crime, a place Charlotte has deeply feared since she left in psychological tatters 42 years ago.

Very loosely based on historical fact and prodigiously researched, this richly imagined and captivating book is filled with unlikely twists and turns. With its superb pacing and page-turning suspense, I was spellbound!
Swift River
by Essie Chambers
An Intriguing and Well-Written Novel: It's a Slow Start, but Stick With It (5/8/2025)
This is a good book…a very good book. But…and there is a big "but" here: It took about 70 pages before it grabbed me and wouldn't let go. For many readers, this is way too long and too much effort to grasp that literary foothold. Stick with it! It's worth it.

Written by Essie Chambers, this is the story of Diamond Newberry, an obese Black 16-year-old girl living in abject poverty in the horribly racist fictional town of Swift River, Massachusetts. Her mother is White. Her father is Black. And after her father mysteriously disappears in the summer of 1980—although his shoes, wallet, and house keys are found, his body is not—Diamond is the only Black person in Swift River.

The poor mill town has a reprehensible history. One night in the early 1900s, forever known as "The Leaving," all the Black citizens fled before they could be violently expelled by the Whites, which was the original plan. Because they did so on their own terms—all at one time in one night—the White citizens were enraged. Only one Black person remained, a nurse named Clara. The town doctor desperately needed her as his nurse and housekeeper, but she was only allowed to stay in Swift River if she was off the streets by sundown or risk death. And just like that, Swift River became a "sundown town" like 10,000 others in the United States, mostly in the North and Midwest.

But 1987 marks seven years since Robert Newberry seemingly walked off the face of the Earth, and his wife, Annabelle, is determined to have him legally declared dead so she can collect the life insurance money. One day that summer, Diamond receives a letter from her father's cousin Lena in Woodville, Georgia, who wants to teach the child about her family and ancestors, including their Aunt Clara. The two secretly correspond, and Diamond learns her family's history of prejudice and abandonment, as well as love and caring. Meanwhile, Diamond is plotting her own leaving in a town where she endures overt racism and microaggressions from so many—from her classmates to the cops.

Some of the novel—and this is by far the best, most compelling part—is epistolary, told through letters from Lena and Clara. This is only a minor part of the overall book, but it is so good that I was wishing this was the story that was being told.

This is an intriguing and well-written novel that gets better and better with each page turn, a big improvement from the uneven and sometimes flat early chapters. It's a touching book about beginning again, focusing on the perils and regrets, as well as the expectations and dreams, of leaving and starting over and all that entails.
The Supremes at Earl's All-You-Can-Eat
by Edward Kelsey Moore
Literary Comfort Food for the Soul: A Little Treasure and an Absolute Delight (5/2/2025)
I laughed. I mean I really, really laughed out loud. Several times. And I cried. Oh, I needed a tissue or two. And not just once. This is just one of those books that hits every emotion.

And I loved it!

Written by Edward Kelsey Moore, this is the story of three longtime friends: Odette, Clarice, and Barbara Jean. They are now in their mid-fifties, but they met in high school in the 1960s and became inseparable. They were dubbed "The Supremes." One of their favorite places to go—then and now—is Earl's All-You-Can-Eat diner where lots of folks who live in the quiet little town of Plainview, Indiana also go. Good food, good gossip. But it's more than that. It's community, security, and solace.

And quite often, our three Supremes are the subject of that good gossip at Earl's, like it or not.
• Clarice, who is a superbly talented pianist, is married to Richmond, and Richmond has a very active love life—just not always with his wife. She has just about had it with him and his adulterous shenanigans. People are talking, and she is hurting.

• Barbara Jean, who was born to a single mother who had no idea who her daughter's father was, grew up in poverty but married Lester, a wealthy entrepreneur who loves and adores his beautiful wife. But years ago, their only son, Adam, tragically died when he was eight years old. After Lester dies, too, Barbara Jean suffers both losses terribly, drinking far too much while she pines for a long lost love who has suddenly returned to town.

• Odette is very happily married to James, but she has a few problems of her own. In addition to frequently seeing and talking to the ghost of her dead mother, Odette receives a scary health diagnosis that she tries to keep secret—until she can't.

Each of the three Supremes experiences great joys and great sorrows—just like in real life—and they are there for each other through it all, a testament to a friendship that has endured through the decades.

This is an engaging and captivating novel with colorful characters and often hilarious plot points. It is a little treasure and an absolute delight. Just like the dishes served at Earl's All-You-Can-Eat diner, this is a literary comfort food for the soul.

Just a note: When I bought this book, I thought it was ChickLit. It's not. Men: If you want to understand women better, read this book.
The Women: A Novel
by Kristin Hannah
Provocative and Haunting: A Testament to the Brave Women Serving in the Army Nurse Corps in Vietnam (4/27/2025)
This is going to sound odd, but I didn't want to like this book. Why? I have only read two other Kristin Hannah books, and both of them played deeply with my emotions in a way I felt wasn't a fair way for an author to treat a reader. And, of course, this one did the same thing. But it is a good book! Very good. So many people—from my best friend to Bill Gates—highly recommended it, which is why I gave in and read it.

This is the fictional story of one young woman who served as an Army nurse from 1967 to 1969 in Vietnam, and her tale—of moving from insecurity and naivety to confidence and heroism—that is meant to be the story for every brave and patriotic woman who served in that conflict and then came home to a nation that was not only ungrateful, but also openly hostile.

Frances Grace McGrath, or as Frankie as she is better known, grew up in a wealthy and privileged home on Coronado Island, California. The beach was her front yard and earliest sandbox. Frankie and her beloved brother, Finley, were inseparable as children. After graduating from the Naval Academy, Finley is sent to Vietnam, earning the respect and admiration of his father. When Frankie is challenged by one of Finley's classmates to go, too, she does. She has just graduated from nursing school and knows there is a desperate need for combat nurses. While her parents are proud of Finley, they are horrified with Frankie. But she goes anyway, joining the Army Nurse Corps.

The novel, which is a rat-a-tat-tat of action and plot twists and turns, is the story of Frankie's experiences in Vietnam, the other nurses and doctors she befriends, her impassioned love affair, and her transformation from the "good girl debutante" to one who is independent, confident, and opinionated. There is tragedy. There are gruesome wounds. There is death. (So much death). Throughout it all, there is the constant, unrelenting brutality and violence of war.

After two tours of duty, Frankie comes home to parents who reject her and a country that betrays her. But just as she relied on her best buddies in Vietnam, Ethel and Barb, so she relies on them when she comes back to the United States, a changed woman with barely controlled rage, irrational mood swings, and inexplicable anger. "She'd gone to war a patriot and come home a pariah. 'How do I get back to who I was?'" And, of course, the answer is, no one who went to Vietnam can ever get back to who she (or he) was.

Bonus: The detailed descriptions of 1960s and 1970s fashion and music add a lot to the ambiance of the story.

And while readers will take an emotional beating reading this book (keep a box of tissues handy), it is a page-turner that is hard to put down. Wrenching as it may be, this provocative and haunting book is a testament to the brave women who put their own lives at risk to help save the men fighting in Vietnam.
Wild and Distant Seas: A Novel
by Tara Karr Roberts
An Ingeniously Plotted Novel Filled with Intrigue, Secrets, Lies—and a Wonderful Touch of Magic (4/22/2025)
The subtitle of this enchanting and riveting debut novel by Tara Karr Roberts could be the famous Winnie the Pooh quote: "You are braver than you believe, stronger than you seem, smarter than you think, and loved more than you'll ever know." This is the story of four generations of brave, strong, smart, and beloved women very loosely interwoven into the story of "Moby Dick" and told with a light touch of magical realism.

And it's a delight!

The novel opens in 1849 on Nantucket Island. Evangeline Hussey has a psychic gift that she keeps a secret: She can see people's recent memories. And one day when her fisherman husband, Hosea, doesn't come home, she knows exactly what happened to him because she can see it in her mind. He fell off his boat and drowned. New to the island, Evangeline's marriage to Hosea was not viewed with approval by his large family and many friends, so she realizes she must do something drastic in order to keep hold of the Try Pots Inn they ran together, her only form of livelihood. Her bizarre plan works…for several years. And one day a man named Ishmael arrives on the doorstep of the inn, asking for a room and bowl of chowder. Before long, Ishmael is sharing Evangeline's bed. On Christmas morning, he and his buddy Queequeg ship out on the Pequod with the eccentric Captain Ahab, but he has left Evangeline a parting gift: She is pregnant.

Her little girl, Rachel, grows up saucy and sassy with a psychic gift of her own. She can place spells (which she calls "curses") on people forcing them either to remember something or to forget it. Rachel is nine years old when she learns about the mysterious Ishmael and is determined to find out who is. One day, she reads a column about whaling adventures in a Boston newspaper and realizes the author is her father, Ishmael. Rachel travels to Boston in search of him, but it's not easy tracking down an itinerant sailor. The story continues with Rachel's daughter, Mara, who has her own psychic gift: She not only vividly retains her own memories, even from very early childhood, but can sometimes see the darkest, most secret memories of other people. Mara's daughter, Antonia, has an uncanny ability to envision other people's paths and where they have been, seeing every stop along the way.

One thing all of the women have in common is the seemingly fruitless search for Ishmael because somehow, someway they believe it will lead them to family. This quest is what drives each of them, but secrets and lies—oh, so many lies—abound. Eventually, it is Mara and Antonia who realize the most important quest of all, and once those secrets are revealed and the truths divulged…well, let's just say that I (really, truly) got goosebumps.

This ingeniously plotted novel jumps from Nantucket Island to Boston to Brazil to Italy to Idaho and back to Nantucket Island, and each stop in this unusual historical travelogue is filled with intrigue, hope, fear, and touch of magic as the age-old mystery of Ishmael continues to haunt this family through the generations.

This is a sweeping epic that is creative storytelling at its best.
Held: A Novel
by Anne Michaels
Haunting and Deeply Philosophical: A Lyrical, Exquisitely Written Novel About Life and Death, Love and Memories (4/14/2025)
This is a haunting, deeply philosophical, and almost otherworldly novel, written in elegiac prose that feels poetic. It's short and succinct, and every word counts. It can also be confusing at times, but stick with it.

Masterfully written by Anne Michaels, this is the story of a single family covering more than 120 years—a family shrouded in tragedy but encompassed in a deep and abiding love. It's also a romantic story, but brace your heart because it's also incredibly sorrowful.

The novel, which was shortlisted for the prestigious 2024 Booker Prize, opens in 1917 on a snow-packed field near the River Escaut in Cambrai, in France during World War I where John, a British soldier, lies half-buried in the snow. He can't feel his legs, and he is hallucinating, remembering bits and pieces of his life, especially his one true love, Helena. We are then propelled three years hence when John is home with Helena, trying to restart his life, including his photography business. And then John begins taking photos of ghosts, an event that has a devastating impact on him. Again, a big jump in time to Anna, John and Helena's daughter…and then a jump in time to Anna and Peter and their daughter Mara…and then another jump in time to Mara and Alan.

It can be confusing because it bounces back and forth in time, introducing new characters whose connection to the characters we already know can be a bit murky at first. It can almost feel like a mirage until suddenly it clicks into place and meaning and you'll see clearly. Each chapter is labeled for location and year. Pay attention to that.

This is a story about life. And death and dying. And love and romance. And memories. Throughout the book are lyrical passages and plotlines about the spirituality of death and dying and the soul living on in a new and different state.

An example of just such a passage: "Everywhere the dead are leaving a sign. We feel the shadow but cannot see what casts the shadow. The door opens in the hillside, in the field, at the sea's edge, between the trees at dusk, in the small city garden, in a café, in a tram in the rain, on a stairway."

Exquisitely written with many passages that just beg to be read over and over, this is a novel that will likely offer hope and solace to those who are grieving.
Julia: A Novel
by Sandra Newman
A Haunting, Incendiary Tale That Is Truly Chilling. Could It Happen Now? (4/13/2025)
Chilling. Very, very chilling. And considering the times we are living in (I write this in April 2025), this book is terrifying. The dystopian idea of Big Brother watching your every move, governing your every action, paying heed to your every word has never before seemed so possible.

Written by Sandra Newman, this is a creative feminist retelling of George Orwell's classic novel "1984," told from the perspective of Julia Worthing, Winston Smith's illicit lover.

Julia is 26, smart, and an ideal citizen—doing everything she is supposed to do with a smile and only a little (private) cynicism. She is living an uncomplicated life in Air Strip One (formerly England), residing in a women's hostel, sleeping in a large dormitory room with dozens of others, and working as a mechanic in the Fiction Department of the Ministry of Truth. The Fiction Department is where books are "written" by machines that spout the party doctrine. Julia fixes the machines when they break, and she is good at her job. Because she is bored, she begins an illicit affair with Winston Smith—just for the clandestine excitement of trying to outwit the ever present telescreens of Big Brother. One day the manipulative and charismatic O'Brien, a high-level member of the Inner Party summons Julia to his luxury apartment with an offer she can't refuse. And while she really couldn't refuse it, the work she is then assigned is nefarious, ugly, and duplicitous, but she does it willingly. And that is when everything changes…and eventually falls apart.

What makes this rewrite different than the original is the female focal point. Not only do we see things through Julia's perspective, but also we learn much about how other women live in this restrictive government, both caring for and betraying each other. Still, it's not as strong as Orwell's classic.

This is a haunting, incendiary tale with a provocative and searing storyline that catapults from emotionally devastating to emotionally resonant. It's appalling and horrifying because it doesn't seem so farfetched as "1984" once did. And this sense that pieces and parts of it could really happen right now and right here is more terrifying than any horror novel.

Note No. 1: There are somewhat explicit sex scenes and very explicit scenes of violence and torture.

Note No. 2: Do read (or re-read) "1984" or at the very least look for a plot summary online before you begin this book so you can better appreciate the different perspective.
Eventide
by Kent Haruf
A Literary Masterpiece: This Book Will Own Your Heart. It Certainly Owned Mine (4/8/2025)
It's impossible not to love this book. And I mean love it like a favorite blanket…this is one of those books that I read with a smile and a frown, a laugh and a tear. This book will own your heart. It certainly owned mine.

Brilliantly written by Kent Hauf, this is the second in the three-part Plainsong series that begins with "Plainsong." And, yes, you need to read them in order because there are spoilers in this second book that you don't want to know if you haven't already read the first one.

This novel is the story of three groups of people living in the fictional rural setting of Holt County, Colorado. While they are very different, they have one thing in common: They are all emotionally damaged, but through their interactions with each other they achieve a level of healing:
• Raymond and Harold McPheron are elderly brothers who live 17 miles out of town on a cattle ranch. Orphaned at a young age, the two have always lived together and neither ever married. Two years ago, they "adopted" the then 17-year-old pregnant Victoria Roubideaux. The three became a family, and Victoria's little girl Katie is like a granddaughter to Raymond and Harold. And while they are proud and supportive of Victoria going away to college in Fort Collins, they desperately miss her.

• The Wallace family: Married couple Luther and Betty and their children Joy Rae, 11, and Richie, 6, are poor. Very, very poor. The parents are disabled and don't work so they live on welfare and food stamps. Rose Tyler, a devoted social worker, follows them closely, monitoring much in their lives. But Betty's Uncle Hoyt, a violent deadbeat, comes to live with them in their small, dilapidated, and (very) messy trailer, and nothing good comes of this.

• Mary Wells has two little girls, Dena and Emma. Mary's husband took off for Alaska, and as she gives up hope of ever seeing him again, she slides into a deep depression. Meanwhile, an 11-year-old boy down the street named DJ Kephart, who lives with and takes care of his grumpy, old grandfather, develops a deep friendship with Dena that may be the only thing that gives either of them a measure of happiness.

The writing, which is spare and sparse, reflects the equally spare and sparse landscape of Holt. But there is magic here. This spare and sparse writing seemingly transports the reader vicariously to become part of the spare and sparse setting. The plot is minimal. This is a character study about the deep truths of being human—the joys, the sorrows, the everydayness—but at some point just when you think nothing has happened, you will realize all that has happened.

I think this is a literary masterpiece.
The Absolutist: A Novel
by John Boyne
A Haunting and Gripping Saga About the Conflicted Feelings of Wartime (4/1/2025)
This brilliantly written book by John Boyne is layered with tragic secrets that are slowly revealed. It's a palimpsest in novel form—that is, a manuscript on which the original writing has been effaced to make room for later writing but of which traces remain. As the novel progresses, the past secrets are peeled away, but traces of them always remain, scarring and tainting the future.

The story begins in September 1919 in Norwich, England. On his 21st birthday, Tristan Sadler travels from London to Norwich to meet Marian, the sister of his deceased wartime buddy Will Bancroft. His stated mission is to deliver to Marian the letters that she wrote to Will during the Great War, but in reality he has come to unburden himself of a shameful, horrific secret about Will's death. After months of fighting, Will became "an absolutist," meaning he refused to fight or even assist in noncombat roles.

The novel bounces back in forth in time from Tristan and Marian's meeting in 1919 to the French wartime battlefields and the treacherous, grisly foxholes in 1916. This back-and-forth in time adds to the tension that slowly builds as we learn what really happened to Will and Tristan's role in it.

Tristan is guarding two secrets, both of which would devastate Will's family: One of them is not a spoiler…Tristan and Will were lovers. The other secret that is revealed near the conclusion of the novel is haunting and horrific, making the ending a real gut-punch for the reader.

This is a haunting and gripping saga that magnificently captures the conflicted feelings of wartime, social class, patriotism, and revenge. At times viscerally brutal and at times fiercely redemptive, this is a story of what it means to be a hero—and a traitor.

John Boyne is one of the most gift novelists writing today.
The Illusion of Separateness: A Novel
by Simon Van Booy
An Ingenious, Riveting, and Truly Profound Novel (3/30/2025)
Oh, this book! It is an ingenious, riveting, and truly profound novel that is a brilliant statement on the interconnectedness of human beings even generations apart. We are not separate. We only have an illusion of separateness.

Do note: This is a short novel at 225 pages or so, but carve out your reading time carefully. Once you start it, you won't be able to stop. It's THAT good.

This novel is a series of stories that take place from 1939 to 2010, bouncing back and forth in time and between characters—from the battlefields of France to Manchester, England in the 1980s to the Hamptons in 2005 and Hollywood in 2010. It may seem like literary whiplash, but it's literary brilliance. Author Simon Van Booy is always in tight control of the story, which I quickly realized could only be told this way.

The genius of the novel is that the characters are interconnected to one or more other characters, often without realizing it until the end when Van Booy pulls off the seemingly impossible by ending a novel in 1944 that began in 2010. (Yes, you read that right.)

We meet:
• John, an American World War II pilot of a B-24 bomber who parachuted into Nazi-occupied France and had to try to escape with a broken foot if he had any chance of survival.

• Amelia, John's 26-year-old granddaughter, who is blind and bravely trying to create a full life for herself, including finding romantic love.

• Mr. Hugo, a World War II soldier who was horribly maimed when half his face was shot off by a Nazi in Paris and along with it his memory. His only possession is a novel by Victor Hugo, so the medical staff name him Victor Hugo.

• Danny, a scared little boy from Nigeria who lived next door to Mr. Hugo in Manchester, England in the 1980s and grows up to become a successful film director.

• Sébastien, a dreamy child in Saint-Pierre, France in 1968, who finds the wreckage of a World War II jet on his family's farm, including photos the pilot stashed under the seat.

• Martin, a devoted orderly at the Starlight Retirement Home in Los Angeles, who has a startling secret in his past that his parents kept from him for years.

This multilayered story about war, love, resilience, imagination, and service is narratively compelling with bold and vibrant characters, but the secret sauce is the writing. It is lyrical. Tender. Magical. Magnificent. Read it.

Just a thought: This is an ideal book for someone who only reads occasionally. It's short, unputdownable, and suitable for men and women.
Arcadia: A Novel
by Lauren Groff
Extraordinary Writing! Richly Imagined Novel Takes You to a '60s Utopian Commune and Beyond (3/27/2025)
This is a richly imagined novel that transports readers to a utopian commune in New York State in the 1960s, 1970s, and 1980s…until eventually, it becomes a disintegrating, dying, and problem-filled commune. What makes this so special is that the story is told through the perspective of a small child—basically from his birth until far into his adulthood long after he joined "the Outside" world.

Masterfully written by Lauren Groff, this is a vibrant and captivating story of life in Arcadia, a 600-acre forested plot of land on which sits a (literal) mansion. When the scraggly group of several dozen acquired the property for $1, they were astounded that the house existed. That said, the house was broken—rodent-infested, rotted wood, shattered windows, collapsed roof. But with years of work and a lot of scavenging for pieces and parts, the group managed to build it back up. Living in Aradia was never easy. The residents worked long hours to survive and basically lived in poverty.

The story centers on a little boy named Ridley Sorrel Stone, who weighed only three pounds at birth and quickly acquired the nickname Bit—as in the Littlest Bit of a Hippie. Bit, who is always small for his age, is brilliant, teaching himself how to read and write. He is extremely attached to his parents, Abe and Hannah, who adore him. Hannah suffers from clinical depression, especially in the dark winter months.

Arcadia grows and within 10 to 15 years, the population explodes to more than 1,000 and now includes the "Trippies" (drug-addicts), the Runaways, and the Hen House (pregnant women) who gravitate to the commune. The Newbies are not turned away as long as they adhere to the rules. But eventually this experimental society falls apart with infighting and theft, desertion and poverty.

And this is where Bit's story becomes even more riveting when at age 14 he is thrust into "the Outside" and must make a life in a world he has never known. It is as an adult that he suffers his greatest heartbreaks and greatest joys.

This is not just another failed commune, a failed experiment in living. It is the only life Bit has ever known, and we readers are plunged into his despair, his anger, his longing, his insecurity in a way that would not have happened had the novel not been told from his childlike point of view.

What makes this novel a five-star book is not the vibrant characterization or compelling plot. It's the writing. Lauren Groff has the gift. Some sentences are so lyrical, so extraordinary that I just had to stop, take a breath, and reread them.

Lauren Groff is and will always be one of my favorite writers.
The Wildes: A Novel in Five Acts
by Louis Bayard
Ingeniously Plotted and Brilliantly Written: Reading This Is Like Being on Stage in an Oscar Wilde Play (3/19/2025)
Genius. Pure genius.

Written by Louis Bayard, this is a novel about one extraordinarily scandalous event in the life of renowned playwright Oscar Wilde and the effect the intense public notoriety and scorn had on his wife and two sons. Not only is the story riveting, but the style is so creative in that it is written—exactly as you would expect a novel to be—but within the shadow of a stage play.

Each of the novel's five "acts" is set (basically) in one place, making it easy to imagine it taking place on a stage. I could even see stage directions carefully disguised in the prose.

It is August 1892, and the Wilde family—Oscar, Constance, and 7-year-old Cyril—are vacationing in a rented house at Grove Farm in Norfolk, England. Their younger son, Vyvyan, is staying with friends in London as he recovers from whopping cough. Accompanying the family are their close friends Arthur and Florence Clifton, newlyweds who are on their honeymoon. One day, Oscar tells Constance that a new friend named Lord Alfred Douglas will be joining them. The aristocratic and flamboyant Lord Alfred, nicknamed Bosie, is years younger than Oscar, but the two seem incredibly close. Very, very close. For quite some time, Constance has wondered if Oscar truly loves her, and while it takes a while for her to figure it out, she finally does: Oscar is having a sexual relationship with Bosie. Her husband is gay! Constance angrily leaves Oscar, taking the boys with her. At this point, Oscar Wilde exits stage right and doesn't appear in the novel again—until the fantastical last chapter.

A pause for a bit of history: Lord Alfred's father, the Marquess of Queensberry, highly disapproved of the relationship between his son and Wilde. He publicly confronted Wilde. That led Wilde to sue Queensberry for libel, but his plan backfired—big time. Because homosexual sex was illegal in those days, Wilde was arrested, prosecuted, and imprisoned for two years. His career was destroyed, and he died in 1900, two years after Constance died in 1898.

The book focuses first on Constance and her shocked and deeply hurtful reaction to the scandal and then later to their tormented grown sons, who continued to live in their father's shameful shadow.

And then, somehow, it gets even better in Act 5 when Bayard creates an alternative account of their lives that is wonderfully creative and possibly believable—if only Constance could have done in real life what she did in this final section of the book.

Ingeniously plotted with an exceptional eye for detail, this is a harrowing story and emotionally devastating tale that is brilliantly written.

Reading this book is a lot like ending up on stage in an Oscar Wilde play!
The Red Book: A Novel
by Deborah Copaken Kogan
It May Be ChickLit, but This Is a Smart, Introspective and Good Read (3/15/2025)
What started out as an eye-rolling story about privileged, wealthy, entitled Harvard alumni going to their 20th reunion in 2009 morphed into a thoughtful, introspective, and smart novel about the ravages of time—of where we hoped to be in life by middle age versus where life's blows landed and what those blows did to us.

Four Harvard college roommates—Addison, Mia, Clover, and Jane—reunite in Cambridge for a weekend in June, along with their spouses, significant others, and children. They have kept in touch with each other and their classmates from the class of 1989 via "the red book," a publication that lists all the graduates and their accomplishments.

• Addison, who is a lesbian but couldn't imagine living life like that, is married to her prep school boyfriend, Gunner. She is an artist. He is a novelist, but he has only written one book that was published 10 years ago. They have three spoiled, bratty children. They live the high life all on his family's fortune. And guess what? His parents just invested all their money with Bernie Madoff. Poof! It's all gone. As if that's not enough to cause angst and stress, Addison's reunion weekend starts off horribly when she lands in jail for $100,000 in unpaid parking tickets she accumulated as a college student in Cambridge.

• Mia, a promising actress in her undergraduate days, is very happily married to Jonathan, a film director of romantic comedies. He is 18 years her senior, and they have four children, three boys and a newborn daughter named Zoe. Their children are polite, smart, kind, and compassionate. While Mia ponders all she personally and professionally gave up to be a stay-at-home mom, Jonathan is quietly worrying about their failing financial situation, reluctant to confide this to Mia.

• Clover, the mixed-race daughter of hippies who grew up on a remote commune, was laid off seven months ago from her high-paying job at Lehman Brothers when the 2008 housing industry crisis and recession hit full force. She is married to a man she loves, but he is incredibly self-centered. She desperately wants a baby—so much so that she'll do anything to get pregnant.

• Jane is a Vietnamese orphan, rescued as a child by an American physician and his wife. She has suffered so much loss in her life—first her entire family in Vietnam, then her adopted father, her husband, and her adopted mother. Jane is the mother of six-year-old Sophie, which is about the only thing holding her together. Jane makes some shocking discoveries during the reunion weekend—discoveries that rock her world and leave her staggering emotionally.

This is a time when long-held secrets come into the open, scores are settled, and relationships are forever changed. But it is also a time when all four roommates discover their authentic selves, and that is life-changing. The compelling plot points, the snappy dialogue, and the characters' wise and witty introspection make this a charming and insightful novel to read.

Bonus: Author Deborah Copaken Kogan, herself a Harvard graduate, has created her own version of Harvard's "red book" interspersed in the novel. Of course, the entries—each graduate writes a short essay—highlight all the alumni have accomplished, but what is missing from each entry is sometimes more telling. This may be the most entertaining and enlightening part of the book!

Granted, this is ChickLit and not award-winning literature, but it is a good read.
Girl, Woman, Other: A Novel
by Bernardine Evaristo
A Truly Extraordinary and Imaginative Novel, but It Takes a Bit of Literary Courage to Read It (3/11/2025)
It takes a bit of literary courage to read this 2019 Booker Prize-winning novel by Bernardine Evaristo because there are no capital letters to signal the start of a new sentence and no punctuation save a very rare period, question mark, or semicolon. But strategically-placed line breaks and the human brain's amazing ability to adjust make it a lot easier to read than I imagined before I started it.

But most important: This is an incredible book. It is intelligent and literary, but also captivating and filled with a big heart. It's everything a novel should be. I would give it 10 stars if I could!

While it most definitely is a novel, it's also a hybrid, doubling as a collection of interrelated short stories. There are 12 characters. They are all women. They are all Black. They all live in London. Some are lesbians, some are straight, some are young, some are old. They all have a fascinating story that ranges from the joyful to the tragic. This is human life on full display. And once I got going and got into its unusual rhythm, which is almost poetic, I couldn't put it down.

The 12 characters are divided into related groups of three with the stories told in four chapters. The fifth chapter brings everything together.

• Chapter One: Amma, Yazz, and Dominque
Amma is a 50-something lesbian who successfully manages an experimental theatre group. Yazz, Amma's daughter, is a university student who is really good at exploiting her gay father and multiple godparents. Dominque is Amma's friend and is smitten with a statuesque stranger named Nzinga she meets in a train station; the two become a couple and Dominque suffers greatly in this psychologically and physically abusive relationship.

• Chapter Two: Carole, Bummi, and LaTisha
Carole's story begins when she is gang-raped at age 13. After a year of hiding in her room, she emerges as the most brilliant student in her class. Her trajectory is nothing short of stellar. Bummi is Carole's mother. After her husband's untimely death from a heart attack, Bummi has raised Carole by herself, far from her homeland of Nigeria. LaTisha is Carole's best friend from childhood, but the two couldn't be more different. LaTisha's story is so familiar: by the time she is 21, she has three children by three baby daddies and no husband.

• Chapter Three: Shirley, Winsome, and Penelope
Shirley is a teacher at the troubled Peckham School for Boys and Girls where she endures taunting from the students and derision from her colleagues, but her heart is in educating kids. Winsome, Shirley's mother, is now retired with her husband, Clovis, and they are living in Barbados. Their children, the spouses, and grandchildren all visit for two weeks one summer, causing old memories to surface. Penelope is also a teacher at Shirley's school, and the two have a long love/hate friendship.

• Chapter Four: Megan/Morgan, Hattie, and Grace
Megan/Morgan, Hattie, and Grace are daughter, mother, and grandmother. Theirs is a complicated and horrifying story, but one filled with love for each other.

• Chapter Five: The After-party
During the after-party for Amma's new hit play about lesbian warriors, the disparate characters come together in one room, creating lots of sparks.

This imaginative and ingeniously plotted novel is truly extraordinary. The big and bold characters feel so real. Their profound and moving stories went straight to my heart. Taken as a whole, the book is provocative and haunting, as well as tender and wise. Above all, it is daring.

Do you dare read it? Oh, please do!
The Bee Sting: A Novel
by Paul Murray
A Riveting and Compelling Novel About the Power of Secrets to Destroy Us (2/27/2025)
Secrets…oh, so many secrets! And when those secrets are revealed in a most horrifying way, life as they know it implodes.

Written by Paul Murray, this award-winning literary novel is the story of a smart but unhappy man named Dickie Barnes. Dickie is the elder of two sons, but he has always lived under the big shadow cast by his larger-than-life father, Maurice, and athletic, handsome, and popular younger brother, Frank. Cerebral Dickie is a bit of a misfit in his small and insulated Irish town where Maurice owns a successful car dealership and garage and Frank plays football for The Gaelic Athletic Association. It's always been known that Dickie will succeed Maurice in the business, whether he likes it or not.

Dickie is the first in the family to go to college, and while he is just as unpopular at Trinity College in Dublin as he was at home, he does well in school, until something horrific happens and sends him fleeing for home in sheer terror. Meanwhile, Frank is falling in love with Imelda, a gorgeous woman, albeit one with no education from a poverty-stricken, disreputable, and dangerous family. In addition, Frank has his own problems as he succumbs to drink and drugs and gets kicked off the team.

When Frank is killed in a horrific car crash, everything changes for the surviving members of the Barnes family and Imelda. It's not a spoiler to reveal that Dickie and Imelda get married and have two children, Cass and P.J. What happens 20 years in the future is when all Dickie's secrets from Trinity College and beyond, all Imelda's disillusionments, all Cass's worries for her future and bad-girl ways, and P.J.'s terror from two men who are trying to harm him come crashing down on the family, just as the Irish economy is collapsing in 2008.

The novel is written in five sections, four of which are told from the point of view of each of the four members of Dickie and Imelda's family, beginning with Cass. The fifth section is a mixture of all four telling their troubling stories as the novel climaxes with each character swirling into their individual tornadoes of big feelings and angst…until the ending, which is bone-chilling.

This is a novel of desperate secrets, disconnected loved ones who don't communicate, the brutality of inner demons, and shallow lives lived without true fulfillment. It is about love and distrust. It is about good and evil. Most of all, it is deeply tragic tale of dysfunctional family drama. But it is also a study in human nature: One person's reality can be wildly different from another one—even married couples and parents and children who all live together—when they erect walls of denial and secrecy between them.

The writing is remarkable. Most of the book is written as readers would expect, but not all of it. Imelda's tale is a told in a stream-of-consciousness with very little punctuation or capitalization, so it takes a bit of work to read, while the final section is mostly told in the second person, which is an especially tricky point of view for author and reader.

Checking in at about 650 pages, this novel is a commitment. And while it truly is high-brow literary fiction, it is also a compelling and riveting story about the power of secrets to destroy us.
Mercy Street: A Novel
by Jennifer Haigh
An Unflinching, Sharp, and Triumphant Novel with Excellent Storytelling and Bold, Vivid Characters (2/16/2025)
This is an eye-opening book about the real world, but it's a world many of us have never inhabited. It's a scary world. It's almost an underworld. This is the world of an abortion clinic told from several points of view, but primarily from that of a dedicated clinic employee and two protestors, one of whom is on the premises and one of whom hatches online his peculiar form of terrorism against women.

The novel, which was published in February 2022 prior to the June 2022 demise of Rowe v. Wade, is set in snowy Boston, Massachusetts as the city is slammed with five nor'easters in five weeks. It opens on Ash Wednesday. Lent is the favored time for protesting in front of abortion clinics.

Written by Jennifer Haigh, this is the story of Claudia Birch Landau, a divorced 43-year-old who works as a counselor at a Boston clinic officially known as Women's Options but colloquially known by its address of Mercy Street. Claudia helps women, many of whom are teenagers or abused or poor or terrified (or all of the above), with their unplanned pregnancies. She views it as so much more than a job or even a career; it is her mission, her life's work. Claudia's mother, Deb, was 17 when she had her in 1971 and was shunned by her horrified parents. Deb and Claudia lived in an isolated town in Maine in a single-wide trailer, accompanied by Deb's assorted boyfriends and assorted foster children whom Deb took on for the extra money. It was Claudia's job—even as a little girl—to care for these fosters.

Claudia smokes marijuana to numb the anguish and fear caused by her job, making regular visits to her friendly dealer, Timmy, who is about her age. Timmy lives in squalor and smokes all day. He is always high and always on alert for getting caught. He dreads the day weed is made legal in Massachusetts, as he has no idea how he will earn a living. With an ex-wife and son living in Florida and no steady (legal) job, Timmy has a full-blown midlife crisis.

Anthony, whom Timmy calls Winky because of a facial tic, is 39 and lives with his mother. He was injured in an accident in the Big Dig and lives on his disability check. He spends his time going to early morning Mass at the local Roman Catholic Church, followed by coffee and doughnuts in the fellowship hall with elderly ladies, and then protesting outside the Mercy Street clinic. One day he shoots a video of Claudia who goes ballistic when she sees a sign that says: "Abortions Cause Breast Cancer." And then the 68-second video is posted online.

The video is posted by Victor Prine, a 65-year-old man living in "Nowhere" Pennsylvania, who is lonely, angry, and beaten down by life. While he desperately wishes he could have married and had children, he is a fierce, unapologetic misogynist. Using the screenname Excelsior11, he is determined that the white race populate itself and does all he can to fight abortions of white babies. He is filled with hate, angst, and anger against women. Now he is ready to risk everything for his beliefs.

This is a timely and perceptive novel about one of the country's most polarizing and divisive political issues, and it succeeds for two reasons: excellent storytelling and vivid and bold characters. The topic is harrowing and unsettling, but the story is unflinching, sharp, and triumphant.

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

What really knocks me out is a book that, when you're all done reading, you wish the author that wrote it was a ...

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 31-May-26 07:44 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
1780256677576 ms 1.78025667758E+012 ms 1 /root/website/app_server.cfm
1352 ms 1352 ms 1 /root/website/readers/index.cfm
1072 ms 1072 ms 1 /root/website/readers/dsp_profile.cfm
930 ms 78 ms 12 /root/website/queries/qry_get_book_by_id.cfm
183 ms 183 ms 1 /root/website/queries/qry_get_reviews_by_member.cfm
43 ms 43 ms 1 /root/website/app_layout.cfm
37 ms 5 ms 8 /root/website/queries/qry_get_preview_by_id_for_search.cfm
35 ms 35 ms 1 /root/website/app_globals.cfm
27 ms 27 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
18 ms 18 ms 1 /root/website/queries/qry_get_member_profile.cfm
17 ms 9 ms 2 /root/website/adsystem/adsystem_mod.cfm
16 ms 2 ms 8 /root/website/queries/qry_get_preview_awards_by_id.cfm
13 ms 13 ms 1 /root/website/queries/qry_get_active_obc.cfm
9 ms 9 ms 1 /root/website/adzones/AdZone6.cfm
9 ms 9 ms 1 /root/website/adzones/showcase_track.cfm
9 ms 9 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
8 ms 8 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
7 ms 7 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
7 ms 7 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
3 ms 3 ms 1 /root/website/act_check_login.cfm
3 ms 3 ms 1 /root/website/actions/adstatus.cfm
2 ms 1 ms 3 /root/website/actions/act_spider_tracker.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_current_competition.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_free_newsletters.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_bottom_block.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/formurl2attributes.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_follower_count.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_following_count.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/act_libraryIPLogin.cfm
0 ms 0 ms 1 /root/website/actions/udfs.cfm
0 ms 0 ms 1 /root/website/banners/ad_594.cfm
0 ms 0 ms 1 /root/website/js/fbjavascriptsdk.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_current_ezine.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_reader_reviews_power_reviewers.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_menu.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_search.cfm
1 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
1353 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 19:44:37.037
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=2ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 19:44:37.037
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=2ms, Records=2) in /root/website/actions/adstatus.cfm @ 19:44:37.037
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:44:37.037
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:44:37.037
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=0ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 19:44:37.037
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:44:37.037
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:44:37.037
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=3ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 19:44:37.037
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:44:37.037
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:44:37.037
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=17ms, Records=1) in /root/website/queries/qry_get_member_profile.cfm @ 19:44:37.037
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.discourse_username = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = Cathryn_Conroy

get_reviews_by_member (Datasource=bookbrowse_com_new, Time=182ms, Records=468) in /root/website/queries/qry_get_reviews_by_member.cfm @ 19:44:37.037
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) = 17248

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

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

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 @ 19:44:37.037
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
IsPowerReviewer (Datasource=, Time=0ms, Records=1) in /root/website/readers/dsp_profile.cfm @ 19:44:37.037
SELECT * FROM get_reader_reviews_power_reviewers
                WHERE reader_review_reviewer_email_address = 'CathrynConroy@gmail.com'
get_book_by_id (Datasource=bookbrowse_com_new, Time=20ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:37.037
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) = 373

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=2ms, Records=4) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:37.037
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) = 373
Parameter #2(CF_SQL_INTEGER) = 373
Parameter #3(CF_SQL_INTEGER) = 373
Parameter #4(CF_SQL_INTEGER) = 373

get_book_image (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:37.037
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) = 373

get_coauthor (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:37.037
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) = 373

get_preview_by_id (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:37.037
SELECT 	ezine_preview_number,
            ezine_preview_title, 
            ezine_preview_subtitle, 
            ezine_preview_author, 
            ezine_preview_publisher,
            ezine_preview_publish_dt,
            ezine_preview_number_of_pages, 
            ezine_preview_short_summary,
            ezine_preview_jacket_image,
            ezine_preview_reviews,
            ezine_preview_jacket_desc,
			ezine_preview_reading_guide,
            ezine_preview_isbn,
            ezine_preview_isbn13,
            ezine_preview_rating,
            ezine_preview_bb_author_link
            				
    FROM 	ezine_previews
    WHERE 	ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 19798

get_author_name (Datasource=bookbrowse_com_new, Time=9ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:37.037
SELECT 	a.author_number, datalength(b.author_info_interview) as "interview",
		        CASE 	WHEN datalength(a.author_middle_initial) > 0 then a.author_first_name + ' ' + a.author_middle_initial + '. ' + a.author_last_name
		            	ELSE a.author_first_name + ' ' + a.author_last_name
		            	END "author_name"
        FROM 		authors a
        INNER JOIN 	author_info b on b.author_number = a.author_number 
        
        WHERE 		a.author_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1181

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

get_preview_by_id (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:37.037
SELECT 	ezine_preview_number,
            ezine_preview_title, 
            ezine_preview_subtitle, 
            ezine_preview_author, 
            ezine_preview_publisher,
            ezine_preview_publish_dt,
            ezine_preview_number_of_pages, 
            ezine_preview_short_summary,
            ezine_preview_jacket_image,
            ezine_preview_reviews,
            ezine_preview_jacket_desc,
			ezine_preview_reading_guide,
            ezine_preview_isbn,
            ezine_preview_isbn13,
            ezine_preview_rating,
            ezine_preview_bb_author_link
            				
    FROM 	ezine_previews
    WHERE 	ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 8864

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

get_book_by_id (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:37.037
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) = 4796

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=71ms, Records=17) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:37.037
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) = 4796
Parameter #2(CF_SQL_INTEGER) = 4796
Parameter #3(CF_SQL_INTEGER) = 4796
Parameter #4(CF_SQL_INTEGER) = 4796

get_book_image (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:37.037
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) = 4796

get_coauthor (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:37.037
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) = 4796

get_preview_by_id (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:37.037
SELECT 	ezine_preview_number,
            ezine_preview_title, 
            ezine_preview_subtitle, 
            ezine_preview_author, 
            ezine_preview_publisher,
            ezine_preview_publish_dt,
            ezine_preview_number_of_pages, 
            ezine_preview_short_summary,
            ezine_preview_jacket_image,
            ezine_preview_reviews,
            ezine_preview_jacket_desc,
			ezine_preview_reading_guide,
            ezine_preview_isbn,
            ezine_preview_isbn13,
            ezine_preview_rating,
            ezine_preview_bb_author_link
            				
    FROM 	ezine_previews
    WHERE 	ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 19777

get_author_name (Datasource=bookbrowse_com_new, Time=0ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:37.037
SELECT 	a.author_number, datalength(b.author_info_interview) as "interview",
		        CASE 	WHEN datalength(a.author_middle_initial) > 0 then a.author_first_name + ' ' + a.author_middle_initial + '. ' + a.author_last_name
		            	ELSE a.author_first_name + ' ' + a.author_last_name
		            	END "author_name"
        FROM 		authors a
        INNER JOIN 	author_info b on b.author_number = a.author_number 
        
        WHERE 		a.author_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3468

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

get_preview_by_id (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:37.037
SELECT 	ezine_preview_number,
            ezine_preview_title, 
            ezine_preview_subtitle, 
            ezine_preview_author, 
            ezine_preview_publisher,
            ezine_preview_publish_dt,
            ezine_preview_number_of_pages, 
            ezine_preview_short_summary,
            ezine_preview_jacket_image,
            ezine_preview_reviews,
            ezine_preview_jacket_desc,
			ezine_preview_reading_guide,
            ezine_preview_isbn,
            ezine_preview_isbn13,
            ezine_preview_rating,
            ezine_preview_bb_author_link
            				
    FROM 	ezine_previews
    WHERE 	ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 18812

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

get_preview_by_id (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:37.037
SELECT 	ezine_preview_number,
            ezine_preview_title, 
            ezine_preview_subtitle, 
            ezine_preview_author, 
            ezine_preview_publisher,
            ezine_preview_publish_dt,
            ezine_preview_number_of_pages, 
            ezine_preview_short_summary,
            ezine_preview_jacket_image,
            ezine_preview_reviews,
            ezine_preview_jacket_desc,
			ezine_preview_reading_guide,
            ezine_preview_isbn,
            ezine_preview_isbn13,
            ezine_preview_rating,
            ezine_preview_bb_author_link
            				
    FROM 	ezine_previews
    WHERE 	ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 8150

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

get_book_by_id (Datasource=bookbrowse_com_new, Time=11ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:37.037
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) = 4747

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=77ms, Records=7) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4747
Parameter #2(CF_SQL_INTEGER) = 4747
Parameter #3(CF_SQL_INTEGER) = 4747
Parameter #4(CF_SQL_INTEGER) = 4747

get_book_image (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4747

get_coauthor (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4747

get_book_by_id (Datasource=bookbrowse_com_new, Time=23ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4753

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=65ms, Records=8) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4753
Parameter #2(CF_SQL_INTEGER) = 4753
Parameter #3(CF_SQL_INTEGER) = 4753
Parameter #4(CF_SQL_INTEGER) = 4753

get_book_image (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4753

get_coauthor (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4753

get_book_by_id (Datasource=bookbrowse_com_new, Time=9ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4774

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=48ms, Records=13) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4774
Parameter #2(CF_SQL_INTEGER) = 4774
Parameter #3(CF_SQL_INTEGER) = 4774
Parameter #4(CF_SQL_INTEGER) = 4774

get_book_image (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4774

get_coauthor (Datasource=bookbrowse_com_new, Time=0ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4774

get_book_by_id (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4728

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=87ms, Records=11) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4728
Parameter #2(CF_SQL_INTEGER) = 4728
Parameter #3(CF_SQL_INTEGER) = 4728
Parameter #4(CF_SQL_INTEGER) = 4728

get_book_image (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4728

get_coauthor (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4728

get_book_by_id (Datasource=bookbrowse_com_new, Time=12ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 1412

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=16ms, Records=13) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 1412
Parameter #2(CF_SQL_INTEGER) = 1412
Parameter #3(CF_SQL_INTEGER) = 1412
Parameter #4(CF_SQL_INTEGER) = 1412

get_book_image (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 1412

get_coauthor (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 1412

get_book_by_id (Datasource=bookbrowse_com_new, Time=15ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 2748

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=53ms, Records=10) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 2748
Parameter #2(CF_SQL_INTEGER) = 2748
Parameter #3(CF_SQL_INTEGER) = 2748
Parameter #4(CF_SQL_INTEGER) = 2748

get_book_image (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 2748

get_coauthor (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 2748

get_book_by_id (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 2891

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=118ms, Records=3) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 2891
Parameter #2(CF_SQL_INTEGER) = 2891
Parameter #3(CF_SQL_INTEGER) = 2891
Parameter #4(CF_SQL_INTEGER) = 2891

get_book_image (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 2891

get_coauthor (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 2891

get_preview_by_id (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:38.038
SELECT 	ezine_preview_number,
            ezine_preview_title, 
            ezine_preview_subtitle, 
            ezine_preview_author, 
            ezine_preview_publisher,
            ezine_preview_publish_dt,
            ezine_preview_number_of_pages, 
            ezine_preview_short_summary,
            ezine_preview_jacket_image,
            ezine_preview_reviews,
            ezine_preview_jacket_desc,
			ezine_preview_reading_guide,
            ezine_preview_isbn,
            ezine_preview_isbn13,
            ezine_preview_rating,
            ezine_preview_bb_author_link
            				
    FROM 	ezine_previews
    WHERE 	ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 6905

get_author_name (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:38.038
SELECT 	a.author_number, datalength(b.author_info_interview) as "interview",
		        CASE 	WHEN datalength(a.author_middle_initial) > 0 then a.author_first_name + ' ' + a.author_middle_initial + '. ' + a.author_last_name
		            	ELSE a.author_first_name + ' ' + a.author_last_name
		            	END "author_name"
        FROM 		authors a
        INNER JOIN 	author_info b on b.author_number = a.author_number 
        
        WHERE 		a.author_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1547

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

get_preview_by_id (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:38.038
SELECT 	ezine_preview_number,
            ezine_preview_title, 
            ezine_preview_subtitle, 
            ezine_preview_author, 
            ezine_preview_publisher,
            ezine_preview_publish_dt,
            ezine_preview_number_of_pages, 
            ezine_preview_short_summary,
            ezine_preview_jacket_image,
            ezine_preview_reviews,
            ezine_preview_jacket_desc,
			ezine_preview_reading_guide,
            ezine_preview_isbn,
            ezine_preview_isbn13,
            ezine_preview_rating,
            ezine_preview_bb_author_link
            				
    FROM 	ezine_previews
    WHERE 	ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 19262

get_author_name (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:38.038
SELECT 	a.author_number, datalength(b.author_info_interview) as "interview",
		        CASE 	WHEN datalength(a.author_middle_initial) > 0 then a.author_first_name + ' ' + a.author_middle_initial + '. ' + a.author_last_name
		            	ELSE a.author_first_name + ' ' + a.author_last_name
		            	END "author_name"
        FROM 		authors a
        INNER JOIN 	author_info b on b.author_number = a.author_number 
        
        WHERE 		a.author_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1605

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

get_preview_by_id (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/queries/qry_get_preview_by_id_for_search.cfm @ 19:44:38.038
SELECT 	ezine_preview_number,
            ezine_preview_title, 
            ezine_preview_subtitle, 
            ezine_preview_author, 
            ezine_preview_publisher,
            ezine_preview_publish_dt,
            ezine_preview_number_of_pages, 
            ezine_preview_short_summary,
            ezine_preview_jacket_image,
            ezine_preview_reviews,
            ezine_preview_jacket_desc,
			ezine_preview_reading_guide,
            ezine_preview_isbn,
            ezine_preview_isbn13,
            ezine_preview_rating,
            ezine_preview_bb_author_link
            				
    FROM 	ezine_previews
    WHERE 	ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 6956

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

get_book_by_id (Datasource=bookbrowse_com_new, Time=9ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4012

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=112ms, Records=24) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4012
Parameter #2(CF_SQL_INTEGER) = 4012
Parameter #3(CF_SQL_INTEGER) = 4012
Parameter #4(CF_SQL_INTEGER) = 4012

get_book_image (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4012

get_coauthor (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4012

get_book_by_id (Datasource=bookbrowse_com_new, Time=8ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4662

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=69ms, Records=8) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4662
Parameter #2(CF_SQL_INTEGER) = 4662
Parameter #3(CF_SQL_INTEGER) = 4662
Parameter #4(CF_SQL_INTEGER) = 4662

get_book_image (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4662

get_coauthor (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4662

get_book_by_id (Datasource=bookbrowse_com_new, Time=9ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4453

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=57ms, Records=13) in /root/website/queries/qry_get_book_by_id.cfm @ 19:44:38.038
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) = 4453
Parameter #2(CF_SQL_INTEGER) = 4453
Parameter #3(CF_SQL_INTEGER) = 4453
Parameter #4(CF_SQL_INTEGER) = 4453

get_book_image (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4453

get_coauthor (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 19:44:38.038
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) = 4453

get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=2ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 19:44:38.038
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=3ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 19:44:38.038
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=3ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 19:44:38.038
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=3ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 19:44:38.038
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=0ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 19:44:38.038
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=6ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 19:44:38.038
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=1ms, Records=4) in /root/website/queries/qry_get_free_newsletters.cfm @ 19:44:38.038
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=4ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 19:44:38.038
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=1ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 19:44:38.038
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=1ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 19:44:38.038
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; CFGLOBALS=urltoken%3DCFID%23%3D4072736%26CFTOKEN%23%3Db0e1ab78530b7467%2DFBAAD234%2DC924%2DB9E4%2D8ED5CDFE5E69527B%23lastvisit%3D%7Bts%20%272026%2D05%2D31%2019%3A44%3A36%27%7D%23hitcount%3D2%23timecreated%3D%7Bts%20%272026%2D05%2D31%2019%3A44%3A35%27%7D%23cftoken%3Db0e1ab78530b7467%2DFBAAD234%2DC924%2DB9E4%2D8ED5CDFE5E69527B%23cfid%3D4072736%23; CFID=4072736; CFTOKEN=b0e1ab78530b7467-FBAAD234-C924-B9E4-8ED5CDFE5E69527B
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=/Cathryn_Conroy
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=4072736
cftoken=b0e1ab78530b7467-FBAAD234-C924-B9E4-8ED5CDFE5E69527B
hitcount=2
lastvisit={ts '2026-05-31 19:44:36'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-05-31 19:44:35'}
urltoken=CFID=4072736&CFTOKEN=b0e1ab78530b7467-FBAAD234-C924-B9E4-8ED5CDFE5E69527B
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#=4072736&CFTOKEN#=b0e1ab78530b7467-FBAAD234-C924-B9E4-8ED5CDFE5E69527B#lastvisit={ts '2026-05-31 19:44:36'}#hitcount=2#timecreated={ts '2026-05-31 19:44:35'}#cftoken=b0e1ab78530b7467-FBAAD234-C924-B9E4-8ED5CDFE5E69527B#cfid=4072736#
CFID=4072736
CFTOKEN=b0e1ab78530b7467-FBAAD234-C924-B9E4-8ED5CDFE5E69527B
Session Variables:
cfid=4072736
cftoken=b0e1ab78530b7467-FBAAD234-C924-B9E4-8ED5CDFE5E69527B
sessionid=BOOKBROWSE_4072736_b0e1ab78530b7467-FBAAD234-C924-B9E4-8ED5CDFE5E69527B
urltoken=CFID=4072736&CFTOKEN=b0e1ab78530b7467-FBAAD234-C924-B9E4-8ED5CDFE5E69527B
URL Parameters:
Cathryn_Conroy=
Debug Rendering Time: 10 ms