Kazuo Ishiguro Interview, plus links to author biography, book summaries, excerpts and reviews

Kazuo Ishiguro

Kazuo Ishiguro

How to pronounce Kazuo Ishiguro: KAH-zoo-oh ish-ih-GUHR-oh

An interview with Kazuo Ishiguro

In two separate interviews, Ishiguro talks about his books Never Let Me Go and When We Were Orphans.

What was your starting point for Never Let Me Go?
Over the last fifteen years I kept writing pieces of a story about an odd group of  "students" in the English countryside. I was never sure who these people were. I just knew they lived in wrecked farmhouses, and though they did a few typically student-like things—argued over books, worked on the occasional essay, fell in and out of love—there was no college campus or teacher anywhere in sight. I knew too that some strange fate hung over these young people, but I didn't know what. In my study at home, I have a lot of these short pieces, some going back as far as the early '90s. I'd wanted to write a novel about my students, but I'd never got any further; I'd always ended up writing some other quite different novel. Then around four years ago I heard a discussion on the radio about advances in biotechnology. I usually tune out when scientific discussions come on, but this time I listened, and the framework around these students of mine finally fell in place. I could see a way of writing a story that was simple, but very fundamental, about the sadness of the human condition.


This novel is set in a recognizable England of the late 20th century. Yet it contains a key dystopian, almost sci-fi dimension you'd normally expect to find in stories set in the future (such as Brave New World). Were you at any point tempted to set it in the future?
I was never tempted to set this story in the future. That's partly a personal thing. I'm not very turned on by futuristic landscapes. Besides, I don't have the energy to think about what cars or shops or cup-holders would look like in a future civilization. And I didn't want to write anything that could be mistaken for a "prophecy." I wanted rather to write a story in which every reader might find an echo of his or her own life.

In any case, I'd always seen the novel taking place in the England of the '70s and '80s–the England of my youth, I suppose. It's an England far removed from the butlers-and-Rolls Royce England of, say, The Remains of the Day. I pictured England on an overcast day, flat bare fields, weak sunshine, drab streets, abandoned farms, empty roads. Apart from Kathy's childhood memories, around which there could be a little sun and vibrancy, I wanted to paint an England with the kind of stark, chilly beauty I associate with certain remote rural areas and half-forgotten seaside towns.

Yes, you could say there's a "dystopian" or "sci-fi" dimension. But I think of it more as an "alternative history" conceit. It's more in the line of "What if Hitler had won?" or "What if Kennedy hadn't been assassinated?" The novel offers a version of Britain that might have existed by the late twentieth century if just one or two things had gone differently on the scientific front.

Kathy, the narrator of this book, isn't nearly as buttoned-up as some of your previous narrators (such as those of The Remains of the Day or When We Were Orphans) and seems more reliable to the reader. Was this a deliberate departure on your part?
One of the dangers you have to guard against as a novelist is repeating things you're deemed to have done well in the past, just for the security of repeating them. I've been praised in the past for my unreliable, self-deceiving, emotionally restrained narrators. You could almost say at one stage that was seen as my trademark. But I have to be careful not to confuse my narrators with my own identity as a writer. It's so easy, in all walks of life, to get trapped into a corner by things that once earned you praise and esteem.

That's not to say I won't one day reprieve my buttoned-up unreliable narrators if that's what my writing requires. You see, in the past, my narrators were unreliable, not because they were lunatics, but because they were ordinarily self-deceiving. When they looked back over their failed lives, they found it hard to see things in an entirely straight way. Self-deception of that sort is common to most of us, and I really wanted to explore this theme in my earlier books. But Never Let Me Go isn't concerned with that kind of self-deception. So I needed my narrator to be different. An unreliable narrator here would just have got in the way.

Was it a different experience writing from the female perspective, and also writing in a modern-day vernacular rather than the more formal language of past eras?
I didn't worry much about using a female narrator. My first published novel, A Pale View of Hills, was narrated by a woman too. When I was a young writer, I used narrators who were elderly, who lived in cultures very different from my own. There's so much imaginative leaping you have to do to inhabit a fictional character anyway, the sex of the character becomes just one of so many things you have to think about–and it's probably not even one of the more demanding challenges.

As for the more vernacular style, well, she's someone narrating in contemporary England, so I had to have her talk appropriately. These are technical things, like actors doing accents. The challenge isn't so much achieving a voice that's more vernacular, or more formal, it's getting one that properly presents that narrator's character. It's finding a voice that allows a reader to respond to a character not just through what he or she does in the story, but also through how he/she speaks and thinks.

This novel, like most of your others, is told through the filter of memory. Why is memory such a recurring theme in your work?
I've always liked the texture of memory. I like it that a scene pulled from the narrator's memory is blurred at the edges, layered with all sorts of emotions, and open to manipulation. You're not just telling the reader: "this-and-this happened." You're also raising questions like: why has she remembered this event just at this point? How does she feel about it? And when she says she can't remember very precisely what happened, but she'll tell us anyway, well, how much do we trust her? And so on. I love all these subtle things you can do when you tell a story through someone's memories.

But I should say I think the role played by memory in Never Let Me Go is rather different to what you find in some of my earlier books. In, say, The Remains of the Day, memory was something to be searched through very warily for those crucial wrong turns, for those sources of regret and remorse. But in this book, Kathy's memories are more benevolent. They're principally a source of consolation. As her time runs out, as her world empties one by one of the things she holds dear, what she clings to are her memories of them.

The setting for the first section of this book is a boarding school and you capture well the peer pressure and self-consciousness of being a kid at such a place. Did you draw on your own past for this? Did you have other direct sources, such as your daughter?
I never went to boarding school, and my daughter doesn't go to one now! But of course I drew on my own memories of what it felt like to be a child and an adolescent. And though I don't study my daughter and her friends, notebook in hand, I suppose it's inevitable the experience of being a parent would inform the way I portray children.

Having said that, I can't think of any one scene in that "school" section that's based, even partly, on an actual event that ever happened to me or anyone I know. When I write about young people, I do much the same as when I write about elderly people, or any other character who's very different from me in culture and experience. I try my best to think and feel as they would, then see where that takes me. I don't find that children present any special demands for me as a novelist. They're just characters, like everyone else.

The school setting, I must add, is appealing because in a way it's a clear physical manifestation of the way all children are separated off from the adult world, and are drip-fed little pieces of information about the world that awaits them, often with generous doses of deception, kindly meant or otherwise. In other words, it serves as a very good metaphor for childhood in general.

You've sometimes written screenplays, including the one for the upcoming Merchant Ivory movie The White Countess. And you've had the experience of seeing your novel The Remains of the Day made into a well-known movie. What for you is the relationship between cinema and the novel? Is it fruitful or dangerous for a writer to work in both?
I find writing for cinema and writing novels very different. That's partly because writing novels is my vocation, my full-time job, while I'm a kind of enthusiastic amateur when it comes to screenplays. A key difference is that in cinema the story is told principally through images and music--the words are a kind of supplement. In a novel, words are all you have. But the two forms have many things in common, of course, and I think you can learn much about one from the other.

As you say, I wrote the screenplay to The White Countess, and collaborated on a movie released last year, The Saddest Music In The World. One important attraction of screenwriting for me is that it's part of a larger collaborative process. There's something unhealthy about continually writing novels all your life. A novelist doesn't collaborate the way musicians or theatre people do, and after a while the lack of fresh influences can be dangerous. For me, working on a film, with a director, with actors, maybe other writers, is a good way to keep outside influences coming in.

I'm often asked if I worry that writing screenplays will make my novels more like screenplays. But I've found the exact opposite. Looking back, my first novel, A Pale View of Hills, looks to me very close to a screenplay in technique. It moves forward scene by scene with pared-down dialogue, little set descriptions and stage directions. But just after I finished that novel, I wrote two screenplays for British TV's Channel 4, and that made me acutely conscious of the differences between film writing and novel writing. I became dissatisfied with the idea that I might write a novel that could just as well have been a film. My feeling at the time was that novels wouldn't survive as a form--wouldn't be able to compete with TV and cinema--unless they focused on doing things only novels could do. Ever since then, I've tried to write books that offer an experience completely different from the sort you might get in front of a cinema or TV screen. You could say I want to write unfilmable novels--though I've been keen enough to discuss movie adaptations once I finish a book! But while I'm writing, I want my novel to work uniquely as a novel, and my screenplay to work uniquely as a film.



A Conversation with Kazuo Ishiguro about When We Were Orphans

Is it true to say that When We Were Orphans is, in part, an homage to the 'Golden Age' of English detective fiction that took place in the '20s and '30s-- the work of writers like Agatha Christie and Dorothy L. Sayers?
Maybe that's putting it too strongly, to call the novel an homage, because it's not really a conventional detective story. But yes, there's a relationship. These mystery authors--Christie, Sayers, a whole host of others--became enormously popular in England just after the Great War. Today, they're still read and enjoyed, but their work is, by and large, derided as being two-dimensional, class-ridden, and most importantly--and in contrast to the American crime tradition--much too genteel. I'm sure you know the type of thing. The stories often take place in some idealized English village of the time, where everyone knows his or her place, and life would be idyllic but for one thing: there's a murderer on the loose. So everything, just for the moment, has fallen into disarray. But the vision of evil isn't very scary. The murders all take place in some crossword puzzle-like dimension. And all it takes is for one remarkable figure, the Great Detective, to arrive on the scene, go click, unmask the murderer, and the order and tranquility is restored. At the close of these books, there's no sense of post-murder trauma, even when someone's gone through four or five victims in a tiny country village. Once the killer's unmasked, then everything in the garden's rosy again. The Great Detective is thanked and goes on his way. Of course, looked at one way, this is escapism of the shoddiest kind.

So what is it that fascinated you about this tradition?
Well, when you look at it in its proper historical context, you can see it's a genre filled with poignant longings. Because what you have to remember is that this genre flourished right after the utter trauma of the Great War. Europe had just experienced modern warfare for the first time. A whole generation of young men had died in hitherto undreamed-of conditions, and social values had been turned upside down. The point is, those detective stories were devoured by a generation who know only too well the real nature of suffering and mayhem in the modern world. They knew full well that evil wasn't about vicars poisoning widows for their inheritance. They'd seen the face of modern evil--rampant nationalisms, blood-lust, racism, dehumanized technological mass killing, chaos no-one could control. The 'Golden Age' detective novels, if you look at them a certain way, are filled with a pining for a world of order and justice that people had once believed in, but which they now know full well is unattainable. There's a forlorn wish that even now, all it needs is this superhuman figure, this detective, to come and put the world right again. It's escapism, but escapism of a particularly poignant kind.

Christopher Banks, your detective hero, has to some extent stepped out of this genre, but the world of When We Were Orphan is quite a long way from that of these genteel mysteries, isn't it?
I hope so. What I began with was the notion of taking one of these Golden Age detectives and setting him down, completely out of his depth, in the turmoil of the twentieth century, as the world hurtles form one horror to the next. I had this rather comic idea of a detective going about high society London with his Sherlock Holmes magnifying glass, who by the end of the story is examining dismembered corpses in a war-zone, with the same magnifying glass, desperately wondering 'who-dunnit.'

The novel starts in high society London in the 30s, but a lot of it also takes place in China, in Shanghai during the first half of the twentieth century. What drew you to the place?
I'd had it in the back of my mind for some years to set a story in what's referred to as 'Old Shanghai.' My father, who is Japanese, was born there in 1920, and lived there with his parents until the outbreak of W.W. II. His father--my grandfather--had been charged with setting up Toyota in China, and that's why they were there. Toyota in those days wasn't a car company, but a textiles firm. In our family albums, there are photos of the original Mr. Toyota visiting the house. Shanghai in those days was a glitzy, glamorous, wild place. Gambling, opium, luxuriously decadent night-clubs. The center of it, what was called the International Settlement, where my novel takes place, was where British, American, European and Japanese industrialists were vying for dominance as they built skyscrapers and made vast fortunes.

Meanwhile, the Chinese themselves were locked in a bitter underground war between the Nationalists and the Communists. There were also Russian aristocrats who'd fled the Revolution living in ghettos, and later, in the thirties, Jews escaping Europe settled there. It was pretty lawless, but the elite lived in some splendor, while others, including most of the native Chinese, live in awful poverty. You could say it was a kind of prototype for many modern cosmopolitan cities we have today. I used to look at these family albums, with photos of my grandfather in a white suit, in offices with ceiling fans, or posing in front of cars with big running boards, and it all looked to me like an old movie or something. And yet this was the same grandfather I lived with in quiet provincial Japan in my childhood. And it was odd to think that my father, who's lived the last forty years in the leafy Home Counties of England, actually grew up there. I think I'd been wanting to set a novel in that Shanghai for some time. Of course, it all vanished with the war, and then the Communist Revolution.

Christopher Banks sets out to solve the great mystery of his past: the event that shaped his childhood in Shanghai. Childhood and, more specifically, memory are crucial themes here. Are they important to you as a writer?
I've never written anything that didn't, in some important way, concern childhood and memory. This book contains an extended section containing the narrator's memories of an innocent, happy childhood in Shanghai before events suddenly took it all away from him. I've always been interested in memory, because it's the filter through which we read our past. It's always tinted--with self-deception, guilt, pride, nostalgia, whatever. I find memory endlessly fascinating, not so much from a neurological or philosophical viewpoint, but as this tool by which people tell themselves things about the lives they've led and about who they've become.

Nostalgia, incidentally, is an emotion I'm very interested in these days. This book's a lot about nostalgia. I think nostalgia is a much-maligned emotion, and I'd like to speak up on its behalf. Of course, it can be a vehicle for a lot of shoddy, reactionary baggage. But in its purest forms, I think nostalgia is to the emotions what idealism is to the intellect. It's a way we have of longing for a better world. We remember a time--often from our distant childhood--when we believed the world to be much kinder place than it proved to be when we grew up. I think nostalgia is a profound emotion that's all too often dismissed unfairly.

Like the butler, Stevens, in The Remains of the Day, Christopher Banks is a man unable to see the larger world picture in his pursuit of order in the rather insular universe he knows. Are you drawn to that part of us that's somewhat deluded by our own unique experience?
Well, actually, I think most of us live in our small worlds. It's natural. We do our jobs, we bring up our children, we try and get by the best we can. It's very hard to get proper perspective in our lives. It's very difficult to rise above the immediate urgencies that weigh each of us down and take a look at how things are up there, above the roof line. Yes, my characters are deluded, or they can't see where their small world fits into the large world, but that's because I feel that for most of us that's our fate. The small world of our unique experience is where most of us live.

Early in your adult life you were planning to be (and were) a singer-songwriter. Was the switch to writing an easy one for you and do you find the work at all similar?
As you say, from the age of sixteen and perhaps till as late as twenty-four, my ambition was to be a songwriter. It was the '70s, so yes, the natural thing seemed to be a singer-songwriter. This was a drawback, since my singing is, well, let's say it's not a strong point! But I play guitar and piano, and I wrote over a hundred songs, made demo tapes and did the whole thing of going to see A&R men at the various recording companies. My heroes were people like Dylan, Leonard Cohen, Joni Mitchell, Kris Kristofferson. I also liked songwriters from an earlier era like Gershwin, Cole Porter, Carlos Jobim. I've always loved the early songs of Jimmy Webb. 'By The Time I Get To Phoenix' was a kind of ideal for me: economy of narrative, the bitter-sweet blend, the evocation of landscape, it's all there. Anyway, I had a few years of unblemished failure in terms of getting a career going. But looking back, I did learn a lot from my songwriting, and when I started to write fiction, when I was twenty-four, I think I was able to start at a more advanced point than I would have otherwise. When I sometimes read the work of writing students, or writers who are just starting out, I often recognize things they're going through in fiction that I went through in my music. For example, I think I got through my intense adolescent autobiographical phase in my songwriting. (You wouldn't want to hear those songs.) Similarly, that phase writers often go through, a kind of purple prose phase, when you're exhilarated at gaining for the first time anything like technical prowess: I went through that in my songs too. I had a lot of songs with strange stream-of-consciousness lyrics going over augmented and diminished chords thrashing around to some Latin beat. By the time I came to write short stories, I'd managed to pare things right down. I'd begun to distinguish between what was showing off and what was authentic artistic expression. Though mind you, that's still a distinction I find hard to draw.

What are you working on now?
As it happens, I'm thinking about a novel about a writer of American popular songs, between the end of W.W. II and the start of rock-and-roll. Someone of European ancestry, trained in classical European music in his childhood in Vienna or Strasbourg or someplace like that, who comes to America as a penniless refugee, learns this jazz and show music, becomes American. But I've got two other possible novels, and I haven't decided which to get to work on next. After the turn of the year, I'm going to stop traveling and promoting my last book and really get down to working on my next one.

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 Kazuo Ishiguro at BookBrowse
Klara and the Sun jacket The Buried Giant jacket Nocturnes jacket Never Let Me Go 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 Kazuo Ishiguro 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

  • Megan Angelo

    Megan Angelo

    Megan Angelo grew up in Quakertown, Pennsylvania and graduated from Villanova University. Her writing has appeared in the New York Times, the Wall Street Journal, Glamour and Elle, among other publications. She lives in ... (more)

    If you enjoyed:
    Klara and the Sun

    Try:
    Followers
    by Megan Angelo

  • Tash Aw

    Tash Aw

    Tash Aw is the author of four novels, including We, the Survivors, and a memoir of a Chinese-Malaysian family, Strangers on a Pier, both finalists for the Los Angeles Times Book Prize. His work has also won the Whitbread and ... (more)

    If you enjoyed:
    When We Were Orphans

    Try:
    We, the Survivors
    by Tash Aw

We recommend 41 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 among the commonplaces of education that we often first cut off the living root and then try to replace its ...

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 03:59 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
1780286344676 ms 1.78028634468E+012 ms 1 /root/website/app_server.cfm
685 ms 685 ms 1 /root/website/author_interviews/full/index.cfm
209 ms 209 ms 1 /root/website/author_interviews/full/dsp_main.cfm
197 ms 197 ms 1 /root/website/app_layout.cfm
130 ms 130 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
100 ms 50 ms 2 /root/website/queries/qry_get_books_by_author_id.cfm
97 ms 97 ms 1 /root/website/app_globals.cfm
96 ms 32 ms 3 /root/website/adsystem/adsystem_mod.cfm
52 ms 52 ms 1 /root/website/adzones/AdZone6.cfm
46 ms 46 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
45 ms 45 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
42 ms 14 ms 3 /root/website/site/blocks/membership_advantages.cfm
41 ms 14 ms 3 /root/website/queries/qry_get_member_account_types.cfm
34 ms 34 ms 1 /root/website/queries/qry_get_books_by_author_id_lite.cfm
33 ms 33 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
32 ms 32 ms 1 /root/website/adzones/showcase_track.cfm
29 ms 29 ms 1 /root/website/queries/qry_get_active_obc.cfm
20 ms 20 ms 1 /root/website/queries/qry_get_current_competition.cfm
19 ms 19 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
18 ms 18 ms 1 /root/website/site/blocks/layout/main_menu.cfm
17 ms 17 ms 1 /root/website/queries/qry_get_bb_briefs_by_author.cfm
15 ms 15 ms 1 /root/website/adzones/AdZone2.cfm
15 ms 15 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_all_books_by_author_id.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
9 ms 9 ms 1 /root/website/act_check_login.cfm
9 ms 9 ms 1 /root/website/actions/adstatus.cfm
9 ms 9 ms 1 /root/website/site/blocks/layout/head.cfm
8 ms 8 ms 1 /root/website/queries/qry_get_author_readalikes_by_id.cfm
8 ms 8 ms 1 /root/website/queries/qry_get_member_info.cfm
5 ms 5 ms 1 /root/website/queries/qry_get_current_ezine.cfm
4 ms 1 ms 4 /root/website/actions/act_spider_tracker.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.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/queries/qry_get_previous_arcs_for_ad.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
0 ms 0 ms 1 /root/website/site/blocks/layout/main_search.cfm
2 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
687 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 @ 03:59:04.004
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=8ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 03:59:04.004
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=8ms, Records=2) in /root/website/actions/adstatus.cfm @ 03:59:04.004
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 @ 03:59:04.004
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=11ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 03:59:04.004
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 @ 03:59:04.004
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=11ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 03:59:04.004
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 @ 03:59:04.004
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=14ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 03:59:04.004
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 @ 03:59:04.004
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=8ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 03:59:04.004
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=17ms, Records=4) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 03:59:04.004
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) = 477

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=14ms, Records=1) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 03:59:04.004
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) = 477

get_all_books_by_author_id (Datasource=bookbrowse_com_new, Time=11ms, Records=6) in /root/website/queries/qry_get_all_books_by_author_id.cfm @ 03:59:04.004
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) = 477
Parameter #2(CF_SQL_INTEGER) = 477

get_bb_briefs_by_author (Datasource=bookbrowse_com_new, Time=16ms, Records=2) in /root/website/queries/qry_get_bb_briefs_by_author.cfm @ 03:59:04.004
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) = 477

get_author_readalikes_by_id (Datasource=bookbrowse_com_new, Time=6ms, Records=41) in /root/website/queries/qry_get_author_readalikes_by_id.cfm @ 03:59:04.004
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) = 477

get_ads (Datasource=bookbrowse_com_new, Time=4ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 03:59:04.004
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=8ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 03:59:04.004
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=5ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 03:59:04.004
select member_account_type_number, member_account_type_name, member_account_type_charge, member_account_type_charge_frequency, member_account_type_postscript, member_account_type_months, member_account_type_stripe_lookup_key
from member_account_types
where member_account_type_number = (select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 12
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
or member_account_type_number =		(select top 1 member_account_type_number
									from member_account_types
									where member_account_type_months = 3
									and member_account_type_public = 1
									order by member_account_type_charge ASC)
									
order by member_account_type_sort_order ASC
get_book_image (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/actions/udfs.cfm @ 03:59:04.004
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) = 4228

get_book_image (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/actions/udfs.cfm @ 03:59:04.004
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) = 2334

get_book_image (Datasource=bookbrowse_com_new, Time=21ms, Records=1) in /root/website/actions/udfs.cfm @ 03:59:04.004
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) = 1556

get_member_account_types (Datasource=bookbrowse_com_new, Time=6ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 03:59:04.004
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=59ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 03:59:04.004
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) = 3302
Parameter #2(CF_SQL_INTEGER) = 3302
Parameter #3(CF_SQL_INTEGER) = 3302

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=0ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 03:59:04.004
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) = 3302

get_books_by_author_id (Datasource=bookbrowse_com_new, Time=33ms, Records=2) in /root/website/queries/qry_get_books_by_author_id.cfm @ 03:59:05.005
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) = 1789
Parameter #2(CF_SQL_INTEGER) = 1789
Parameter #3(CF_SQL_INTEGER) = 1789

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 03:59:05.005
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) = 1789

get_member_account_types (Datasource=bookbrowse_com_new, Time=21ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 03:59:05.005
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=16ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 03:59:05.005
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=28ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 03:59:05.005
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=24ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 03:59:05.005
SELECT		a.adid,	adweight
	FROM		adsystem a
	INNER JOIN 	ad_category_mapping b ON b.adid = a.adid
	WHERE		a.section = ?
	AND			a.active  = 1
	AND 		a.start_date <= GETDATE()
	
	AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
            

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

get_ads (Datasource=bookbrowse_com_new, Time=20ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 03:59:05.005
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=5ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 03:59:05.005
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=14ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 03:59:05.005
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 @ 03:59:05.005
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=13ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 03:59:05.005
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=5ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 03:59:05.005
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=7ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 03:59:05.005
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=CFID=4084933; 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%3D4084933%26CFTOKEN%23%3Dcaba144ee8dc9975%2D0D581F60%2DC6F8%2DA057%2DA8EA51EE7EA977B9%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2003%3A59%3A04%27%7D%23hitcount%3D78%23timecreated%3D%7Bts%20%272026%2D06%2D01%2003%3A58%3A52%27%7D%23cftoken%3Dcaba144ee8dc9975%2D0D581F60%2DC6F8%2DA057%2DA8EA51EE7EA977B9%23cfid%3D4084933%23; CFTOKEN=caba144ee8dc9975-0D581F60-C6F8-A057-A8EA51EE7EA977B9
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/477/kazuo-ishiguro
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=4084933
cftoken=caba144ee8dc9975-0D581F60-C6F8-A057-A8EA51EE7EA977B9
hitcount=83
lastvisit={ts '2026-06-01 03:59:05'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 03:58:52'}
urltoken=CFID=4084933&CFTOKEN=caba144ee8dc9975-0D581F60-C6F8-A057-A8EA51EE7EA977B9
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#=4084933&CFTOKEN#=caba144ee8dc9975-0D581F60-C6F8-A057-A8EA51EE7EA977B9#lastvisit={ts '2026-06-01 03:59:04'}#hitcount=78#timecreated={ts '2026-06-01 03:58:52'}#cftoken=caba144ee8dc9975-0D581F60-C6F8-A057-A8EA51EE7EA977B9#cfid=4084933#
CFID=4084933
CFTOKEN=caba144ee8dc9975-0D581F60-C6F8-A057-A8EA51EE7EA977B9
Session Variables:
cfid=4084933
cftoken=caba144ee8dc9975-0D581F60-C6F8-A057-A8EA51EE7EA977B9
sessionid=BOOKBROWSE_4084933_caba144ee8dc9975-0D581F60-C6F8-A057-A8EA51EE7EA977B9
urltoken=CFID=4084933&CFTOKEN=caba144ee8dc9975-0D581F60-C6F8-A057-A8EA51EE7EA977B9
URL Parameters:
author_number=477
kazuo-ishiguro=
Debug Rendering Time: 37 ms