Sue Monk Kidd Interview, plus links to author biography, book summaries, excerpts and reviews

Sue Monk Kidd

Sue Monk Kidd

An interview with Sue Monk Kidd

In two separate interviews, Sue Monk Kidd gives insights and background into two of her most popular books, The Book of Longings and The Invention of Wings.



The Book of Longings

In The Book of Longings you take an audacious approach to history in giving voice to Ana, the wife of Jesus. What inspired you?

The idea to write a novel about the fictional wife of Jesus struck me one October morning in 2014. I was sitting at my desk, reading an article in National Geographic about a fragment of an ancient manuscript that had been brought to the world's attention by a Harvard professor. Named the "Gospel of Jesus' Wife," the manuscript contains a provocative reference in which Jesus speaks of "my wife." The fragment is now judged by most scholars to be a masterful forgery, but that would be irrelevant to the creative storm the article set off in me. My imagination was instantly ignited. Within minutes, this unknown wife had a name—Ana. I could almost picture her.

It wasn't the first time I'd been compelled by this idea—fifteen years earlier, I'd thought of writing a novel about the wife of Jesus. At the time, I'd been exploring feminist theology for years and writing about silenced and marginalized women and the missing feminine within religion. I can only speculate that the premise for the novel bloomed out of that exploration. The idea fascinated me, but it didn't seem like the right time to undertake it, and frankly I couldn't quite dredge up enough courage. When the idea resurfaced all those years later, I had the feeling it had been waiting around, hoping for a second chance.

Of course, I don't know if Jesus actually had a wife. The Bible is silent on the matter. There are reasons to support both the belief he married and the belief he didn't marry. But believing that Jesus had a wife was never the point. What mattered to me was imagining he had a wife. I think there is a need in the human psyche to imagine this missing wife. In a way she symbolizes the missing feminine within religion. I was inspired by how reimagining the past, creating an alternate history, so to speak, might open up new ways of seeing and thinking. The largest inspiration, however, was the character of Ana herself. If Jesus actually had a wife, she would arguably be the most silenced woman in history. I woke up every day wanting to give her a voice.

While Jesus is a prominent character in the novel, this is Ana's story and journey. You portray her as a woman filled with longings. What is the deepest or most compelling longing in Ana's life? What is the significance of the incantation bowl?

It has always seemed to me that the soul speaks most clearly through longing. Whenever I begin work on a new novel, I want to know two things: who my character is and what she longs for. The essence of the entire story is contained in the answers. As I reflected on who Ana might be, a picture formed in my mind of a brilliant, rebellious, ambitious, daring young woman with rare abilities and scholarly leanings—traits and behaviors that would render her strange and out of place in her first-century Galilean world. What does Ana long for? Her parents expect her to marry a bitter, older widower, a prospect that horrifies her. Her longing, of which there are many, is to write narratives, to have a voice, to be a voice. She makes her own inks and begs for papyrus and tutors. Not unlike women today, she wants to bring forth what she calls "the largeness" in herself.

While researching the novel, I happened upon a photo of an ancient incantation bowl. What captivated me about it was that over two thousand years ago a prayer had been inscribed in spiraling fashion inside the bowl. It didn't take long for Ana to have an incantation bowl of her own. She writes her deepest longing in it and sings it as a prayer as she turns the bowl. I love having the bowl in the story because it makes her abstract longing tangible and real. It is a visible symbol of something inward and unseen. It is Ana's longing that propels her onto her tumultuous journey, and when she loses hope, her aunt Yaltha tells her, "Return to your longing. It will teach you everything."

The idea of a married Jesus goes against centuries of dogma and tradition. Did you feel any trepidation about writing a novel with this premise? How did you approach writing the character of Jesus?

I didn't take on writing about a married Jesus lightly. At times it may even have kept me up at night. Sometimes in order to imagine a married Jesus, one has to dig through layers of internal resistance. There is, for instance, the tenacious old fear of stepping outside of sanctioned beliefs or of questioning religious authority. There can also be a personal reluctance to see Jesus as fully human. Or the resistance can come from a centuries-old division between spirit and flesh in which sexuality is viewed as unholy. Toward the end of the novel, Ana poses the questions, "Did they think making him celibate rendered him more spiritual?" It's a probing question to ask ourselves.

A relatively small group of writers have written novels about Jesus—D. H. Lawrence, Nikos Kazanzakis, Norman Mailer, José Saramago, to name some—all of which stirred controversy and debate. I expect The Book of Longings will encounter a bit of controversy, too. That's okay. My own longing was to write this book, and that's what I did. I once stenciled the words, WRITING IS AN ACT OF COURAGE, on the stair wall that led to my study. Writing is always that; it is ultimately a series of small, daily braveries.

My primary approach in fashioning the character of Jesus was to portray him as fully human. I wanted to depict what the late historical Jesus scholar, Marcus Borg called "the pre-Easter Jesus." It has long been a doctrine of the church that Jesus is both fully human and fully divine, but over the centuries his humanity diminished as people accentuated his divinity. Writing from a novelist's perspective and not a religious one, I was primarily interested in his humanity. And what an extraordinary human being he was. I depicted him as a rabbi, social prophet, messiah, and non-violent political resister, whose dominant message was love, compassion, inclusion, and the coming of God's kingdom within the hearts and minds of people. Someone who read the novel told me it had stirred a new appreciation in her for Jesus and his teachings. I was touched by that. I

The relationship you created between Ana and Jesus is described as one of love and conflict. How did you envision and create their relationship?

I tried to depict the humanity in their relationship—the common moments, the tenderness, the tensions, the humor, but most of all the love. I wanted Ana and Jesus to share an uncommon love, one of physical closeness and spiritual depth, and also one unique and singular for the time. They bring each other alive. They influence and learn from each other. They bless the largeness in each other. They give each other intimate nicknames—she calls him Beloved and he calls her Little Thunder. It felt important to me to create a relationship in which Ana meets Jesus fully as his partner, one in which she has her own magnitude and passion.

Their marriage, however, wasn't without conflict, which is part of its humanness. Much of the conflict is interjected by the social norms of the day, by religious dictates about women, and by the expectations of Jesus' family. Though feminist in his leanings, even Jesus isn't always able to override these constraints and enable Ana to abandon her domestic duties and pursue her longing. The contrast between his freedom and her confinement, among other things, becomes a quiet, and occasionally not so quiet, tension.

You did a lot of research for this book. How did you go about it? Did you uncover anything especially impactful or surprising?

Researching a world that existed two thousand years ago was both overwhelming and exhilarating. For over a year, I filled notebook after notebook with research notes. I created story boards, watched documentaries and videotaped lectures, and gathered and read a tiny library of books on a multitude of topics: the historical Jesus; ancient Jewish betrothal and marriage; the religious, cultural, political, and geographical background of first-century Palestine; scriptural commentary; Biblical figures; Biblical archeaology; Egypt; the Roman Empire; and so on. Many nights, I fell asleep with a book lying open on my chest. I often came upon some nugget that excited me and informed the plot. I vividly remember when I stumbled upon an article about the Therapeutae, a community of male and female Jewish philosophers who lived near Alexandria, Egypt at the time of Jesus—I could barely contain myself. I felt like I'd discovered a new direction for the story. It turned out I had. The same goes for the day I came across the image of the incantation bowl. As I gazed at it, the beginning of the book fell into place. I spent a great deal of time exploring the historical Jesus. I wanted to create his character based largely on that scholarship.

At times, my research was like falling down a rabbit hole. When my daughter noticed how much time I was devoting to the agricultural cycle of Galilee, she held a small intervention and gently suggested that I move on. It's the accuracy and richness of detail that give a story its sense of authenticity. It's what makes the world inside the novel seem real and allows the reader to disappear into it. But after a year of researching, I had to ask myself if research had become an excuse not to start the actual writing. The first twenty-five pages of a novel are always the most difficult for me. Never-ending research can be an excellent way of avoiding them.

Have you been to any of the places you wrote about?

My mother, my aunt, and I traveled in Israel, Jordan, and Egypt back in December 1979 and January 1980, so long ago that I didn't think the experience could be of any real help. However, when I read my travel journal, along with my mother's small diary, and watched the slides in our antique projector, I realized they were a small treasure trove. There were hundreds of photographs I'd snapped of places that would turn up in the novel—the Jordan River, Nazareth, a Galilean cave, olive trees in the Garden of Gethsemane. As a bonus, I came upon photos of my now ninety-eight-year-old mother riding about the pyramids on a festooned camel and crossing the Petra canyon on horseback. I'd also written dozens of passages in my travelogue describing an array of things—the streets of Jerusalem's old city, the colors of the Nile, vineyards, date palms, faces, Egyptian hieroglyphs, and the smell of just about everything from spices to camels. I wrote two pages about Galilean stones. The photographs and journal entries tapped vivid memories of landscapes, sensory details, stories, and emotions. Some of the descriptions in the novel evolved from those images and passages. I had an unexpected moment while reading my travel journal when I realized that the ancient city of Petra that I'd visited was actually the heart of the Nabatean kingdom, which would play a role in the novel. I'd been doing research on the trip without knowing it.

You have included a number of real Biblical characters in the story, such as Jesus's disciple, Judas and his mother, Mary. How did you go about portraying them?

One of the biggest questions in the Christian story is why Judas betrayed Jesus. I wanted to give him a motivation for his betrayal, to humanize him, too, and cause our thoughts about him to be less black and white and more complex. In my imagined version, Judas is Ana's adopted brother who was orphaned when his father was crucified and his mother sold into slavery after a failed Jewish revolt against the Romans, a historically real insurrection by the Jews of Sepphoris in 4 bce. I portray Judas as a child consumed with hatred for Rome, as a radical Zealot, and an ardent disciple who believes Jesus is the Messiah destined to deliver them from Rome. His betrayal of Jesus is a piece of intricate and earnest political theater. It speaks, I think, to the danger of hyper-idealism, how a person overly possessed by a principle can begin to justify almost anything for his cause.

I loved having the chance to bring Mary to life on the page. I've had fantasies over the years of writing a one-woman play in which she tells all. Writing about her in the novel appeased at least some of that urge. My interest in her goes back to my childhood when the outdoor, life-size nativity scene at our church caught fire and our Baptist minister rushed in to save baby Jesus, leaving his mother to burn. Somehow I never forgot that. For over twenty years, I've had a painting of the Black Madonna hanging over my desk. I think of her as a sacred feminine image and a kind of muse. In The Secret Life of Bees, I portrayed Mary as a powerful divine icon, inspiring women toward bravery, autonomy, dissidence, and compassion. In The Book of Longings, however, Mary is utterly human. She is a kind woman with graying hair, who is often weary from chores, a mother who did a superb job on her son, who taught him a lot that she didn't get credit for. It was gratifying to portray the human Mary, just as it'd been gratifying to fashion the mythic Mary in Bees. It was as if she'd found her other half.

I understand there was a particular question that fascinated you as you worked on the novel. It addressed how the world might've been different if Jesus had had a wife. Would you tell us how you answered it?

As I set my imagination free to imagine Jesus not as a bachelor, but as a husband, it occurred to me that if he'd been married, history would likely have evolved differently. I found this fairly riveting. I wrote the question on a slip of paper and set it on my desk where it remained throughout the 4½ years I wrote the novel. How would history have been different if Jesus had a wife who'd been part of the narrative through the centuries? There are only speculative answers, but it seems likely that Christianity and the Western world would have had a somewhat different religious and cultural inheritance. If Jesus had had a wife, a genuine partner, who had her own story, perhaps women and their stories would have found more inclusion and importance. Perhaps our relationship with sacredness and sexuality would've been less polarized. Sex might not have been viewed quite as sinful. And it's a fair bet that virginity would not have become one of Christianity's higher virtues and that celibacy within the priesthood would not exist. And I may have only scratched the surface.

In this new novel, you've returned to another signature theme in your work: women's friendships and bonds. How would you describe Ana's relationship with her aunt Yaltha? Who are some of the other women in Ana's life, and why is this an important and reoccurring theme for you?

Of all the characters I've created in my novels, Ana's aunt Yaltha may be the most unique. She's educated, fierce, impertinent, subversive, and wise, and she is Ana's lifeline. Everything you need to know about Yaltha is summed up in these two lines from the novel: "Her mind was an immense feral country that spilled its borders. She trespassed everywhere." Those are perhaps my favorite sentences in the entire novel. Part of Yaltha's role is to encourage Ana's longings and inspire her audacity. The bond between them is a deeply woven, sacred alliance. Yaltha acts as Ana's stand-in mother, soul friend, guide, and spiritual midwife.

Ana also has a small hive of female friends. It's possible there is more sisterhood in this novel than in The Secret Life of Bees, and that's saying a lot. There's Phasaelis, who is the Nabatean wife of Herod Antipas, ruler of Galilee, and Tabitha, her close friend, both of whom have their own longings and perils. Ana is sustained by her friendships with Jesus's sister, Salome and his mother, Mary, as well as others. These female characters awaken, support, inspire, and transform one another. To be fair, I should mention there are also women in the story whose relationships with Ana are vengeful and adversarial.

Like Ana, I, too, have female friends who awaken, support, inspire, and transform one another. For more than fifteen years, three friends and I have gathered annually for a week and shared our stories and blessed the 'largeness' in one another. These women have nurtured the creative seeds of my novels and made me braver. The bonds between women find their way into my characters' lives because of the sisterhood in my own.

You have written several memoirs, as well as other books of fiction, and The Book of Longings is a real melding of those worlds. Your memoir, The Dance of the Dissident Daughter is your personal story of religion, spirituality, and feminism and you continue that story in Traveling with Pomegranates. How do the themes and stories in these memoirs inform the novel? Are there aspects of Ana in you?

These two memoirs seem to resonate in The Book of Longings more than in any of my other novels. When my husband finished reading Longings, he surprised me by saying, "I recognized you in Ana." Until then, I hadn't really considered which aspects of myself I'd woven into Ana's character and story. The obvious one is her longing to write, to have a voice in the world and create stories of women. But I also realized that Ana is engaged in a spiritual search for self, a feminist-like quest, which has overtones of my own feelings and experiences that I described in these two memoirs. Of course, feminism didn't exist in the first century, but there were undoubtedly women in every era who yearned for the freedoms and opportunities their brothers had, who rebelled against the limitations placed on them, women with immense abilities like Ana, who "wanted for so much."

Ana's awakening, like mine, like most, begins with a sense of loss. In the novel, Ana says, "I discovered that God had relegated my sex to the outskirts of practically everything." In The Dance of the Dissident Daughter, published twenty-four years ago, I chronicle my awareness of this very thing. The memoir describes my collision with the exclusion, devaluation, and silencing of women, with a misogyny perceived to be mandated by God,. It was sort of like a two-by-four between the eyes.

Ana also wishes for a female image of God, for a God who looks like her. This, too, spilled into the story from my memoirs. In Traveling with Pomegranates, which I co-authored with my daughter, I wrote, among other things, about my own search for divine feminine imagery. The pages are filled with our travels to Black Madonnas in Greece and France and of her impact on me.

There are numerous ways that Ana's longing and concerns show up in women today. I received a note from the French publisher of The Book of Longings in which she wrote, "Even though the novel is set in the first century, it was one of the most modern books I read this year."

What do you want people to take away from reading The Book of Longings?

I hope readers will consider their own longings, the ones that, like Ana's, are held deepest inside. I would like it if a conversation got stirred in them about bringing forth their own largeness. And, as with every novel, I hope readers will take away an empathetic experience, to enter the lives of the characters and feel what it's like, for instance, to be relegated to the peripheries or to love someone greatly. Over the years, I've found that people read a book through the lens of their own experience and need. They will find their own takeaways. I trust them to do that. The 413-page manuscript of The Book of Longings shown here on my desk the day I completed the manuscript.



The Invention of Wings

This is a work of historical fiction inspired by the real Grimké sisters, Sarah and Angelina. How did you discover them and what was it about them that you found to be interesting enough to create a story for a novel? You focus primarily on Sarah. How much of her story is fact and how much did you create?

The novel began with a vague notion that I wanted to write a story about two sisters. I didn't know initially, who the sisters might be or when and where they lived. Then, while visiting Judy Chicago's Dinner Party exhibit at the Brooklyn Museum, I came upon the names of Sarah and Angelina Grimké on the Heritage Panels, which list women who've made important contributions to history. I discovered they were sisters from Charleston, the same city in which I was living. Embarrassingly enough, I'd never heard of them. Perhaps the most radical females to come out of the antebellum south, they were the first female abolition agents in the country and among the earliest pioneers for women's rights, and yet they seemed only marginally known. As I began to read about Sarah's and Angelina's lives, I became certain they were the sisters I wanted to write about.

Gradually, I was drawn more to Sarah's story. As dramatic as her life as a reformer was, I was even more compelled by what she overcame as a woman. She belonged to a wealthy, aristocratic, slave-holding family, and before stepping onto the public stage, she experienced intense longings for freedom, for a way to make a difference in the world, and to have a voice of her own, hopes that were repeatedly crushed. She experienced betrayal, unrequited love, self-doubts, ostracism, and suffocating silence. She pressed on anyway.

The novel is a blend of fact and fiction. There's a great deal of factual detail in it, and I stayed true to the broad historical contours of Sarah's life. Most, if not all, of her significant events are included. But it was apparent to me that in order to serve the story, I would need to go my own way, as well. I never wanted to write a thinly veiled history. I'm a novelist, and I wanted room to explore and invent. I probably veered off the record as much as I adhered to it, primarily in the scenes related to Sarah's relationship with the fictional character of Handful. Sarah's history and the inner life I gleaned of her from my research is the ground floor of her story, but the only way I could bring her fully to life as a character was to find her in my own imagination.

How did you approach writing an enslaved character? How did Hetty Handful Grimké come about?

From the moment I decided to write about the historical figure of Sarah Grimké, I was compelled to also create the story of an enslaved character that could be entwined with Sarah's. In fact, I felt that I couldn't write the novel otherwise, that both worlds would have to be represented. Then I discovered that at the age of eleven, Sarah was given a ten-year-old slave named Hetty to be her handmaid. According to Sarah, they became close, and she defied the laws of South Carolina by teaching Hetty to read, for which they were both punished. Nothing further is known of Hetty except that she died of an unspecified disease a short while later. I knew immediately that this was the other half of the story. I wanted to try to bring Hetty to life again and imagine what might have been.

There's an aphorism in writing that says you should write about what you know, and if I'd followed that rather bad piece of advice, I never would have attempted to write in the voice of a slave. That's not to say I wasn't intimidated by the prospect—it would take me further out on the writing limb than I'd ever been. It probably wasn't arbitrary that in Sarah's first chapter, I have her announce a little slogan she creates for herself that helps her over the hurdles in her world: "If you must err, do so on the side of audacity." I could only hope that writing the character of Hetty Handful Grimké was not some audacious erring.

I'd written my other two novels in first person. I love the interiority of it, how intimate it feels, nevertheless, I started off by telling myself I would write Handful from a third person perspective, which seemed a little more removed. I think the word I'm looking for here is safer. I hadn't written more than two pages, however, when Handful began talking in the first person. My need to inhabit her more fully kept breaking in. Finally, I just gave up and let her talk. While writing this novel, I read an interview with author Alice Walker, who, in speaking of her mother, said, "She was all over my heart, so why shouldn't she be in literature?" I felt that way about Handful.

With this novel, you join a tradition of depicting slavery in an open and unflinching way, though you've written about a form of it perhaps less known to most readers: urban slavery. Can you give us a glimpse of it?

When a person thinks of American slavery, probably what comes to mind are plantations, cotton fields, and slave cabins. Urban slavery, however, was quite different. In antebellum Charleston slaves worked in the city's fine houses and mansions or in the walled work yards behind them. They lived in small rooms above the work yard structures—the kitchen house, the laundry, the carriage house, and the stables. Large numbers of slaves were hired out to work away from their residences, providing labor for the wharves, the lumber yards, and other places of business. Slaves ran stalls in the city market, peddled wares on the street, and crisscrossed the city, carrying messages and running errands for their owners. On Sundays, they were often required to show up at their owners' churches and sit in the balcony. Slave auctions took place right on the street up until the late 1850s. Every day, the streets teemed with slaves, who nicked time to fraternize in alleys and on street corners. The city was alive with networks of information passed slave to slave and yard to yard, and watchful eyes were everywhere. Urban slavery was built on an intricate system of surveillance and control: curfews, passes, badges, searches, and ordinances that dictated how slaves should behave on the streets—all of it enforced by the presence of militia companies and the City Guard. Infractions could send slaves to an establishment known as the Work House, where they were whipped or otherwise punished. Even more disturbing, owners could arbitrarily send slaves to the Work House to be punished for a fee. Urban slavery might have looked and functioned differently from plantation slavery, but it was every bit as brutal.

The Invention of Wings takes place in the early part of the nineteenth century in Charleston. What was it like to write a novel set two hundred years ago? How is historical fiction relevant for readers today?

Basically, I sat down at my computer almost daily for three and half years and transported myself back in time. I would be in the grand Grimké house on East Bay Street in Charleston, or in the work yard where the Grimké slaves carried on behind hidden walls, or I might be on a ship sailing north, or in the attic room of an abolitionist home in Philadelphia. My husband joked that I spent more time in the nineteenth century than I did in the twenty-first. My aim was to create a "world" for the reader to enter, one as richly

Unless otherwise stated, this interview was conducted at the time the book was first published, and is reproduced with permission of the publisher. This interview may not be reproduced or reprinted without permission in writing from the copyright holder.

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

Books by this Author

Books by Sue Monk Kidd at BookBrowse
The Book of Longings jacket The Invention of Wings jacket Traveling with Pomegranates jacket Firstlight jacket
Membership Advantages
  • Reviews
  • "Beyond the Book" articles
  • Free books to read and review (US only)
  • Find books by time period, setting & theme
  • Read-alike suggestions by book and author
  • Book club discussions
  • and much more!
  • Just $60 for 12 months or $20 for 3 months.
  • More about membership!

Read-Alikes

All the books below are recommended as read-alikes for Sue Monk Kidd but some maybe more relevant to you than others depending on which books by the author you have read and enjoyed. So look for the suggested read-alikes by title linked on the right.
How we choose readalikes

  • Chimamanda Ngozi Adichie

    Chimamanda Ngozi Adichie

    Chimamanda Ngozi Adichie grew up in Nigeria. Her work has been translated into more than fifty-five languages. She is the author of the novels Purple Hibiscus, which won the Commonwealth Writers' Prize; Half of a Yellow Sun, ... (more)

    If you enjoyed:
    The Invention of Wings

    Try:
    Americanah
    by Chimamanda Ngozi Adichie

  • Jamila Ahmed

    Jamila Ahmed

    The daughter of Pakistani immigrants, Jamila Ahmed is a graduate of Harvard Law School and Barnard College, where she studied medieval Islamic history. Her writing has been published in the Normal School, Slate, Pittsburgh-... (more)

    If you enjoyed:
    The Book of Longings

    Try:
    Every Rising Sun
    by Jamila Ahmed

We recommend 48 similar authors


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

BookBrowse Book Club

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

Members Recommend

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

It is a fact of life that any discourse...will always please if it is five minutes shorter than people expect

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 /author_interviews/full/index.cfm
Time Stamp 01-Jun-26 08:19 AM
Locale en
User Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Remote IP 127.0.0.1
Host Name 127.0.0.1


Execution Time

Total Time Avg Time Count Template
1780301974073 ms 1.78030197407E+012 ms 1 /root/website/app_server.cfm
202 ms 202 ms 1 top level /root/website/author_interviews/full/index.cfm
68 ms 68 ms 1 /root/website/author_interviews/full/dsp_main.cfm
55 ms 55 ms 1 /root/website/app_globals.cfm
53 ms 53 ms 1 /root/website/app_layout.cfm
41 ms 21 ms 2 /root/website/queries/qry_get_books_by_author_id.cfm
37 ms 37 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
29 ms 10 ms 3 /root/website/adsystem/adsystem_mod.cfm
23 ms 23 ms 1 /root/website/queries/qry_get_active_obc.cfm
16 ms 16 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
15 ms 15 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
14 ms 14 ms 1 /root/website/adzones/AdZone6.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_books_by_author_id_lite.cfm
10 ms 10 ms 1 /root/website/adzones/AdZone2.cfm
9 ms 9 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
9 ms 3 ms 3 /root/website/site/blocks/membership_advantages.cfm
7 ms 7 ms 1 /root/website/actions/adstatus.cfm
7 ms 7 ms 1 /root/website/adzones/showcase_track.cfm
7 ms 7 ms 1 /root/website/queries/qry_get_current_competition.cfm
7 ms 2 ms 3 /root/website/queries/qry_get_member_account_types.cfm
5 ms 5 ms 1 /root/website/queries/qry_get_all_books_by_author_id.cfm
5 ms 5 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
4 ms 1 ms 4 /root/website/actions/act_spider_tracker.cfm
3 ms 3 ms 1 /root/website/queries/qry_get_author_readalikes_by_id.cfm
3 ms 3 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
3 ms 3 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
2 ms 2 ms 1 /root/website/act_check_login.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_bb_briefs_by_author.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_member_info.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_current_ezine.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/head.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/main_menu.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/main_search.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/act_libraryIPLogin.cfm
0 ms 0 ms 1 /root/website/actions/udfs.cfm
0 ms 0 ms 1 /root/website/banners/ad_594.cfm
0 ms 0 ms 1 /root/website/formurl2attributes.cfm
0 ms 0 ms 1 /root/website/js/fbjavascriptsdk.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_free_newsletters.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_top_author_block.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_wordplay.cfm
0 ms 0 ms 1 /root/website/site/blocks/email_modal.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/google_tags.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/header_announcement.cfm
2 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
204 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

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

get_member_info (Datasource=bookbrowse_com_new, Time=1ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 08:19:34.034
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=6ms, Records=2) in /root/website/actions/adstatus.cfm @ 08:19:34.034
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 @ 08:19:34.034
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 @ 08:19:34.034
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=3ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 08:19:34.034
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 @ 08:19:34.034
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 @ 08:19:34.034
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 @ 08:19:34.034
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=3ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 08:19:34.034
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=14ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 08:19:34.034
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_books_by_author_id (Datasource=bookbrowse_com_new, Time=6ms, Records=4) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 08:19:34.034
select	a.book_number, a.book_title, a.book_sub_title, book_short_summary,
				(CASE WHEN f.edition_publish_dt < g.edition_publish_dt OR g.edition_publish_dt IS NULL THEN f.edition_publish_dt
                      ELSE g.edition_publish_dt 
                      END) "publish_dt"
		
        from 	books a
		inner join book_author_mapping e ON e.book_number = a.book_number
        inner join authors d ON d.author_number = e.author_number
        left outer join editions f ON a.book_number = f.book_number and f.edition_paperback_flag = 0 
   		left outer join editions g ON a.book_number = g.book_number and g.edition_paperback_flag = 1 
		
       	where 	d.author_number = ?
        and 	a.book_number IN (	select	distinct b.book_number 
        							from	categories a, category_book_mapping b 
                                    where 	a.category_number = b.category_number 
                                    and 	a.category_active_flag = 1)

		order by publish_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 820

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 08:19:34.034
select	d.author_number, d.author_first_name, d.author_middle_initial, d.author_last_name, d.author_pronunciation,
				i.author_info_number, i.author_number, i.author_info_image, i.author_info_entry_dt,
                i.author_info_url, i.author_info_interview_summary, i.author_info_interview, i.author_info_biography, i.author_info_copyright_info
                		
        from 	authors d, author_info i
		
        where 	d.author_number = ?
        and 	d.author_number = i.author_number
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 820

get_all_books_by_author_id (Datasource=bookbrowse_com_new, Time=4ms, Records=6) in /root/website/queries/qry_get_all_books_by_author_id.cfm @ 08:19:34.034
select	a.book_number, 
        		'' AS ezine_preview_number,
                a.book_title, 
                a.book_sub_title, 
				(CASE WHEN f.edition_publish_dt < g.edition_publish_dt OR g.edition_publish_dt IS NULL THEN f.edition_publish_dt
                      ELSE g.edition_publish_dt 
                      END) "publish_dt",
                '' as "jacket"
		
        from 	books a
		inner join book_author_mapping e ON e.book_number = a.book_number
        inner join authors d ON d.author_number = e.author_number
		left outer join editions f ON a.book_number = f.book_number and f.edition_paperback_flag = 0
		left outer join editions g ON a.book_number = g.book_number and g.edition_paperback_flag = 1
		
        where 	d.author_number = ?
        and 	a.book_number IN (	select	distinct b.book_number 
        							from	categories a, category_book_mapping b 
                                    where 	a.category_number = b.category_number 
                                    and 	a.category_active_flag = 1)        
        UNION

		select	'' AS book_number,
        		ezine_preview_number, 
				ezine_preview_title AS "book_title", 
				ezine_preview_subtitle AS "book_sub_title",
                ezine_preview_publish_dt AS "publish_dt",
                ezine_preview_jacket_image as "jacket"
		
        from 	ezine_previews
		
        where 	ezine_preview_bb_author_link = ?
        and		ezine_preview_bb_link < 1
        
        order by publish_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 820
Parameter #2(CF_SQL_INTEGER) = 820

get_bb_briefs_by_author (Datasource=bookbrowse_com_new, Time=1ms, Records=2) in /root/website/queries/qry_get_bb_briefs_by_author.cfm @ 08:19:34.034
select	ezine_preview_number, 
				ezine_preview_title, 
				ezine_preview_subtitle,
                ezine_preview_publish_dt ,
                ezine_preview_jacket_image
		
        from 	ezine_previews
		
        where 	ezine_preview_bb_author_link = ?
        and		(ezine_preview_bb_link IS NULL
				 or ezine_preview_bb_link < 1)
        and		ezine_number > 0
        
		order by ezine_preview_publish_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 820

get_author_readalikes_by_id (Datasource=bookbrowse_com_new, Time=3ms, Records=48) in /root/website/queries/qry_get_author_readalikes_by_id.cfm @ 08:19:34.034
SELECT		a.author_number,
			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 AS "author_full_name",
			b.book_number, 
			f.book_title as "book",

			CASE	WHEN datalength(e.author_middle_initial) > 0 
					THEN e.author_first_name + ' ' + e.author_middle_initial + ' ' + e.author_last_name
					ELSE e.author_first_name + ' ' + e.author_last_name
					END AS "liked_author_full_name",
			e.author_number as "liked_author_number", 
			g.book_title as "liked_book",
			c.liked_book_number as "liked_book_number" 

FROM		authors a
INNER JOIN	book_author_mapping b ON b.author_number = a.author_number
INNER JOIN	liked c ON c.book_number = b.book_number
INNER JOIN	book_author_mapping d ON d.book_number = c.liked_book_number
INNER JOIN	authors e ON e.author_number = d.author_number
INNER JOIN	books f on f.book_number = b.book_number
INNER JOIN	books g on g.book_number = c.liked_book_number

WHERE		a.author_number = ?

ORDER BY 	e.author_last_name, e.author_first_name
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 820

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

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

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

get_member_account_types (Datasource=bookbrowse_com_new, Time=2ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 08:19:34.034
select member_account_type_number, member_account_type_name, member_account_type_charge, member_account_type_charge_frequency, member_account_type_postscript, member_account_type_months, member_account_type_stripe_lookup_key
from member_account_types
where member_account_type_number = (select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 12
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
or member_account_type_number =		(select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 3
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
order by member_account_type_sort_order ASC
get_book_image (Datasource=bookbrowse_com_new, Time=0ms, Records=1) in /root/website/actions/udfs.cfm @ 08:19:34.034
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) = 4102

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

get_member_account_types (Datasource=bookbrowse_com_new, Time=1ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 08:19:34.034
select member_account_type_number, member_account_type_name, member_account_type_charge, member_account_type_charge_frequency, member_account_type_postscript, member_account_type_months, member_account_type_stripe_lookup_key
from member_account_types
where member_account_type_number = (select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 12
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
or member_account_type_number =		(select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 3
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
order by member_account_type_sort_order ASC
get_books_by_author_id (Datasource=bookbrowse_com_new, Time=16ms, Records=3) in /root/website/queries/qry_get_books_by_author_id.cfm @ 08:19:34.034
select	a.book_number, 
				a.book_title, 
				(CASE WHEN UPPER(LEFT(a.book_title, 2)) = 'A ' THEN SUBSTRING(a.book_title, 3, len(a.book_title) - 2) WHEN UPPER(LEFT(a.book_title, 3)) = 'AN ' THEN SUBSTRING(a.book_title, 4, len(a.book_title) - 3) WHEN UPPER(LEFT(a.book_title, 4)) = 'THE ' THEN SUBSTRING(a.book_title, 5, len(a.book_title) - 4) ELSE a.book_title END) "sort_book_title", 
				a.book_sub_title, 
				a.book_entry_dt, 
				a.book_short_summary, 
				a.book_jacket_info, 
                a.book_excerpt, 
                a.book_reading_guide,
				d.author_number, d.author_first_name, d.author_middle_initial, d.author_last_name, 
				f.edition_publish_dt "hardcover_publish_dt", f.edition_number_of_pages "hardcover_number_of_pages", f.edition_isbn "hardcover_isbn", f.edition_isbn13 "hardcover_isbn13",f.edition_jacket_image "hardcover_jacket_image",
				g.edition_publish_dt "paperback_publish_dt", g.edition_number_of_pages "paperback_number_of_pages", g.edition_isbn "paperback_isbn", g.edition_isbn13 "paperback_isbn13",g.edition_jacket_image "paperback_jacket_image",
				i.author_info_biography, i.author_info_interview, i.author_info_image, i.author_info_url,
                (select count(c.book_number) as "author_bookcount" from book_author_mapping c where c.author_number = ?) + (select count(e.ezine_preview_number) as "author_bookcount" from ezine_previews e where e.ezine_preview_bb_author_link = ?) as "authorbookcount"
                
		    from books a
            inner join book_author_mapping e ON a.book_number = e.book_number
            inner join authors d ON e.author_number = d.author_number
            inner join author_info i ON d.author_number = i.author_number
            left outer join editions f ON a.book_number = f.book_number and f.edition_paperback_flag = 0
            left outer join editions g ON a.book_number = g.book_number and g.edition_paperback_flag = 1
                        
            where e.author_number = ?
            and a.book_number IN (select distinct b.book_number from categories a, category_book_mapping b where a.category_number = b.category_number and a.category_active_flag = 1)
			
            order by sort_book_title
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1362
Parameter #2(CF_SQL_INTEGER) = 1362
Parameter #3(CF_SQL_INTEGER) = 1362

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 08:19:34.034
select	d.author_number, d.author_first_name, d.author_middle_initial, d.author_last_name, d.author_pronunciation,
                CASE	WHEN datalength(d.author_middle_initial) > 0 
                        THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
                        ELSE d.author_first_name + ' ' + d.author_last_name
                        END AS "author_full_name",
				i.author_info_number, i.author_number, i.author_info_image, i.author_info_entry_dt,
                i.author_info_url, i.author_info_interview_summary, i.author_info_interview, i.author_info_biography, i.author_info_copyright_info
                		
        from 	authors d, author_info i
		
        where 	d.author_number = ?
        and 	d.author_number = i.author_number
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 1362

get_books_by_author_id (Datasource=bookbrowse_com_new, Time=9ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 08:19:34.034
select	a.book_number, 
				a.book_title, 
				(CASE WHEN UPPER(LEFT(a.book_title, 2)) = 'A ' THEN SUBSTRING(a.book_title, 3, len(a.book_title) - 2) WHEN UPPER(LEFT(a.book_title, 3)) = 'AN ' THEN SUBSTRING(a.book_title, 4, len(a.book_title) - 3) WHEN UPPER(LEFT(a.book_title, 4)) = 'THE ' THEN SUBSTRING(a.book_title, 5, len(a.book_title) - 4) ELSE a.book_title END) "sort_book_title", 
				a.book_sub_title, 
				a.book_entry_dt, 
				a.book_short_summary, 
				a.book_jacket_info, 
                a.book_excerpt, 
                a.book_reading_guide,
				d.author_number, d.author_first_name, d.author_middle_initial, d.author_last_name, 
				f.edition_publish_dt "hardcover_publish_dt", f.edition_number_of_pages "hardcover_number_of_pages", f.edition_isbn "hardcover_isbn", f.edition_isbn13 "hardcover_isbn13",f.edition_jacket_image "hardcover_jacket_image",
				g.edition_publish_dt "paperback_publish_dt", g.edition_number_of_pages "paperback_number_of_pages", g.edition_isbn "paperback_isbn", g.edition_isbn13 "paperback_isbn13",g.edition_jacket_image "paperback_jacket_image",
				i.author_info_biography, i.author_info_interview, i.author_info_image, i.author_info_url,
                (select count(c.book_number) as "author_bookcount" from book_author_mapping c where c.author_number = ?) + (select count(e.ezine_preview_number) as "author_bookcount" from ezine_previews e where e.ezine_preview_bb_author_link = ?) as "authorbookcount"
                
		    from books a
            inner join book_author_mapping e ON a.book_number = e.book_number
            inner join authors d ON e.author_number = d.author_number
            inner join author_info i ON d.author_number = i.author_number
            left outer join editions f ON a.book_number = f.book_number and f.edition_paperback_flag = 0
            left outer join editions g ON a.book_number = g.book_number and g.edition_paperback_flag = 1
                        
            where e.author_number = ?
            and a.book_number IN (select distinct b.book_number from categories a, category_book_mapping b where a.category_number = b.category_number and a.category_active_flag = 1)
			
            order by sort_book_title
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3837
Parameter #2(CF_SQL_INTEGER) = 3837
Parameter #3(CF_SQL_INTEGER) = 3837

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 08:19:34.034
select	d.author_number, d.author_first_name, d.author_middle_initial, d.author_last_name, d.author_pronunciation,
                CASE	WHEN datalength(d.author_middle_initial) > 0 
                        THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
                        ELSE d.author_first_name + ' ' + d.author_last_name
                        END AS "author_full_name",
				i.author_info_number, i.author_number, i.author_info_image, i.author_info_entry_dt,
                i.author_info_url, i.author_info_interview_summary, i.author_info_interview, i.author_info_biography, i.author_info_copyright_info
                		
        from 	authors d, author_info i
		
        where 	d.author_number = ?
        and 	d.author_number = i.author_number
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3837

get_member_account_types (Datasource=bookbrowse_com_new, Time=1ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 08:19:34.034
select member_account_type_number, member_account_type_name, member_account_type_charge, member_account_type_charge_frequency, member_account_type_postscript, member_account_type_months, member_account_type_stripe_lookup_key
from member_account_types
where member_account_type_number = (select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 12
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
or member_account_type_number =		(select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 3
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
order by member_account_type_sort_order ASC
get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=4ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 08:19:34.034
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=8ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 08:19:34.034
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=6ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 08:19:34.034
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=2ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 08:19:34.034
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=1ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 08:19:34.034
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=5ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 08:19:34.034
select top 1 ezine_number, ezine_quote, ezine_quote_title
	    from ezines
	    where len(ezine_quote_title) > 1
	    order by newid()
get_free_newsletters (Datasource=bookbrowse_com_new, Time=0ms, Records=4, Cached Query) in /root/website/queries/qry_get_free_newsletters.cfm @ 08:19:34.034
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=3ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 08:19:34.034
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 @ 08:19:34.034
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=0ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 08:19:34.034
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/author_interviews/full/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=CFTOKEN=9b2b3bee723f50e9-16A879AA-D344-7D41-D6CBD05FD7026B10; FREEACCESSCOUNT=0; CFGLOBALS=urltoken%3DCFID%23%3D4092489%26CFTOKEN%23%3D9b2b3bee723f50e9%2D16A879AA%2DD344%2D7D41%2DD6CBD05FD7026B10%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2008%3A19%3A33%27%7D%23hitcount%3D126%23timecreated%3D%7Bts%20%272026%2D06%2D01%2008%3A19%3A18%27%7D%23cftoken%3D9b2b3bee723f50e9%2D16A879AA%2DD344%2D7D41%2DD6CBD05FD7026B10%23cfid%3D4092489%23; CFID=4092489; CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%23
HTTP_HOST=dev.bookbrowse.com
HTTP_REFERER=
HTTP_URL=
HTTP_USER_AGENT=Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
LOCAL_ADDR=127.0.0.1
PATH_INFO=/author_number/820/author/sue-monk-kidd
PATH_TRANSLATED=/root/website/author_interviews/full/index.cfm
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REMOTE_HOST=127.0.0.1
REMOTE_USER=
REQUEST_METHOD=GET
SCRIPT_NAME=/author_interviews/full/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=4092489
cftoken=9b2b3bee723f50e9-16A879AA-D344-7D41-D6CBD05FD7026B10
hitcount=127
lastvisit={ts '2026-06-01 08:19:34'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 08:19:18'}
urltoken=CFID=4092489&CFTOKEN=9b2b3bee723f50e9-16A879AA-D344-7D41-D6CBD05FD7026B10
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#=4092489&CFTOKEN#=9b2b3bee723f50e9-16A879AA-D344-7D41-D6CBD05FD7026B10#lastvisit={ts '2026-06-01 08:19:33'}#hitcount=126#timecreated={ts '2026-06-01 08:19:18'}#cftoken=9b2b3bee723f50e9-16A879AA-D344-7D41-D6CBD05FD7026B10#cfid=4092489#
CFID=4092489
CFTOKEN=9b2b3bee723f50e9-16A879AA-D344-7D41-D6CBD05FD7026B10
FREEACCESSCOUNT=0
Session Variables:
cfid=4092489
cftoken=9b2b3bee723f50e9-16A879AA-D344-7D41-D6CBD05FD7026B10
sessionid=BOOKBROWSE_4092489_9b2b3bee723f50e9-16A879AA-D344-7D41-D6CBD05FD7026B10
urltoken=CFID=4092489&CFTOKEN=9b2b3bee723f50e9-16A879AA-D344-7D41-D6CBD05FD7026B10
URL Parameters:
author=sue-monk-kidd
author_number=820
Debug Rendering Time: 9 ms