John Sayles Interview, plus links to author biography, book summaries, excerpts and reviews

John Sayles

John Sayles

How to pronounce John Sayles: sails

An interview with John Sayles

In an extended interview with The Rumpus, John Sayles examines the process of creating authentic characters

John Sayles is a force of nature, a do-it-yourself renaissance man - director, actor, screenwriter, script doctor, novelist. As far as we know, he wasn't part of the Navy Seal Team 6 that nabbed Bin Laden, but his boundless creative energy and narrative marksmanship, not to mention his longevity, put him squarely in a most elite squad of storytellers. Melville, Whitman, Mark Twain, Robert Altman: like the greatest American originals, Sayles has crossed genres and warped minds for three decades now, unleashing classics such as Return of the Secaucus Seven, Matewan, Eight Men Out, The Secret of Roan Inish, Lone Star, and Sunshine State on the silver screen, and the National Book Award-nominated Union Dues and Los Gusanos, two heavyweight novels that could duke it out with just about any other contemporary work of fiction.

Now Sayles has unveiled his most ambitious project to date in any genre, A Moment In the Sun, a bloody, brilliant, nearly 1,000 page globetrotting epic set at the turn of the last century, a time not so different from our own, it turns out.

John recently took time out of his very busy schedule to talk to The Rumpus a block or so from New York's Port Authority. He had to embark on a cross-country road trip promoting the book, but we still ended up talking for almost two hours, clocking upwards of a meaty 15,000 words by the time he had to go.


Your new novel, A Moment in the Sun, is written in - I wouldn't say English, exactly, because you've taken and twisted the language to make it your own. It reads like a tornado of voices.
Every character has their own language, voices and styles. There's a chapter from the point of view of a correspondent, and it's written like the correspondence of that time. I read a bunch of those guys, Richard Harding Davis, and picked up on their locutions, which aren't locutions we use anymore.

You were channeling them?
You get into it and pretty soon - when actors play a character on a TV show for a long time, they'll just get the script back to the new writers and say, My guy does not talk like that, because they've internalized it. They know the vocabulary and the rhythm of that character, and that's how I start writing with this - it's a dialogue, how the character expresses themselves, so I can find out who they are.

Is this something you just turned on? Like it was fluid, when you'd sit down to write you'd be able to tap into that voice and all its idiosyncrasies?
Once I developed the characters, the book evolved or the screenplay - it started as a screenplay that only dealt with the Wilmington story and the 24th infantry, so only Royal Scott. And when I decided to expand it, make it into a novel - because I had always felt I was cramming too much - I felt like, who else do I want to hear from? And I felt it's important to hear what everyone in America is hearing, so I had to have something about the media. That's the newspapers and the early film stuff. Which was all bullshit, it was -

Bullshit as in propaganda?
It was probably as accurate as most of what we're getting today, unfortunately, but I went back and I looked at all the political cartoons of the time period, and there is this - when the Filipinos are drawn, they look just like Cubans and Mexicans, with sombreros, straw hats and raggedy clothes. Then within weeks of the Philippine-American War, they went for a Japanese look, and by the end of the first year of the war, they're cold black savages with bones, literally bones in their noses, and grass skirts and wooden spears. So if you're an American, that's what you think a Filipino is, and there were these films - what we would call a documentary - and the filmmakers just rounded up some African-American guys over in East Orange and put white clothes on them and said, You're the Filipinos, and this was like Star Wars but only a minute long, and it was amazing. It was the first time you could see a real battle on screen, even though it was the New Jersey National Guard and a bunch of African-Americans. And I wanted a character who was in one of those films, so that's Niles Manigault, and then I wanted a white guy, a working stiff who ends up in the Philippines, in one of the volunteer outfits, and that's Hod, and then Diosdado - I wanted him to have a lot of access to a lot of things and be good with language and start as a spy in the inner circle, then get pushed out when he becomes a guerilla, which is what happened to a lot of those guys. They were kind of peacocks and very proud of their European training but they ended up in this dirty war in the jungle with a bunch of guys who didn't speak Spanish. And then you say, What is my emotional structure for this character? Where do I want Hod to end up? What's the odyssey that Royal takes? Is he going to make it home or not? How's he going to get out?

One scene I really loved was the boxing scene with Hod and Joe -
Joe Choynski is actually Joe Choynski, who actually fought fights in Alaska. He got busted in Texas for having a fight with Jack Johnson, and you weren't supposed to have an interracial fight then. Most states, boxing was just illegal, but in Texas it was legal, you just couldn't have an interracial fights. Choynski and Johnson both went to jail and were put in the same cell, and while they were there for a week, Choynski taught Jack Johnson a lot about defense and footwork and that was when Jack Johnson started to - he already was a great fighter, very raw and young and Choynski was a good teacher. So there are a lot of guys in the book who seem like fictional characters but are real characters that just aren't known anymore.

What drew you to the turn of the last century in the first place?
When I was doing research about Cuba for Los Gusanos, I went back to the Spanish-American war to see where this thing started. The acquisition of the Philippines, Puerto Rico and Guam could have been Cuba, too. There's a long tradition, especially in the southern states, of wanting to add Cuba as a state or a territory because it had slavery, and they said, Oh, no no no, we're doing this out of the goodness of our heart, the poor Cuban people are suffering, but nobody knew about the Philippines and Guam, so the minute we beat the Spanish so easily, the expansionists got big eyes and said, Where else are there Spanish? We just sunk their fleet in Manila, just let the Filipinos take over the rest of the country and then we'll decide what we want to do. And we decided to take over. President McKinley said, I got down on my knees and Jesus told me we couldn't leave these poor people to their own devices so it's our Christian duty to take over, and that's a lot of what I wanted to put into the narrative of the book - what was the mentality of the time? Incredibly racist time. The beginnings of eugenics, which ended up in Hitler's hands. So when I discovered that there was such a thing as Philippine-American war, I said, How come I'm thirty-seven years old and I've never heard of this? I read a lot of history - how come I don't know about it? And I asked some of my Philippine-American friends and Philippine friends, What do you know about this? And they said they weren't taught it in schools, because who did their educational system? We did. And we didn't have a big standing army, so when the Cuban thing started, we needed a lot of troops, and you had very explosive situations like you had white Georgia volunteer troops right next to African-American troops, and you had a major riot - this is in the book - the riot in Tampa and literally when they were sent down to Cuba, they had white and black troops and a rope separated them down the middle of the deck. The black guys on one side, the white guys on the other.

That rope probably didn't do much -
Yeah, and it didn't work in rock-and-roll, either. That's what Honeydripper was about. They did the rope thing in clubs down south and kids, being kids, knocked the rope down and started dancing together, and the cops would come and stand between them. That's how scary rock-and-roll was down south - even up in Baltimore. John Waters remembers that show. Anyway, I just felt like here are two major things happening at the turn of the century, which is the end of Reconstruction and the beginning of American imperialism and both are based in racism.

There's something about that time period that resonates with what's going on now. Wars on foreign soil, racism.
Yeah, it's not why I wrote the book, but those parallels are inevitable. I mean, Amigo could have been set in France during the Nazi occupation. But what interested me about this thing is, it's all the stuff that's going on today but there are no euphemisms. Nobody's trying to make excuses. They're saying I'm an imperialist, I'm a white supremacist, I write for the North Carolina Caucasian - that's the name of the newspaper, The Caucasian. And the minstrel shows - all the humor was ethnic or racial, really, really nasty stuff. People always ask me about movies, and if you look at the history of American movies back then, they were part of the problem. The way racism and sexism and ethnic slurs are presented until about the late-sixties, early-seventies, they're part of the problem. Eventually they became part of the solution, just by showing people who were a little more human, a little more three dimensional. But in the beginning, you have books like The Leopard's Spots, by this preacher Thomas Dixon, and it's this pro-racist book based on the Wilmington racial code - Dixon's next book was The Clansman, which was made into A Birth of a Nation - and it's got a blurb from the president of the United States.

I didn't know that, that's insane.
That's how the Americans got their information, from this incredibly racist popular culture, and the style of the book - I feel that's what history is. Historians tend to boil it down and simplify it and say, Here's what was really going on, but it depends on who you were.

Can you talk about the dialogue in the book? I mean, with historical books either you try to approximate exactly how people spoke back then and you get this wooden drivel, or you say screw it - what was your approach?

It's a combination of things. I try to think of the character's education, what they read, if they were able to read or not. You look at the people who could write - Mark Twain wrote very good dialogue - and you look at that and try to hear it and see what's going on and then you think about what they couldn't write. Take the TV series Deadwood - I thought they might have gone overboard once in a while, but they weren't saying, Well I'll be hornswoggled. They were saying fuck and motherfucker and you find that every now and then in letters, and you add it all up and that's your character. You read fiction of the time, nonfiction, diaries. People generally express themselves better in print than in voices, but I mean, Ring Lardner developed his style as a sportswriter who traveled with the Chicago Cubs and White Sox, and the story goes every morning he'd have breakfast with the time and there was a guy next to him who'd order the same thing he'd order, and he realized the guy couldn't read. One day the guy goes to Ring, Hey, look, I want to play a joke on my wife. I want to tell her I'm learning to type and you got a typewriter, right? So he told Ring what to write, but the guy wasn't very articulate and he started dictating these letters and Ring realized, he uses the language in this strange way, maybe I should misspell some things. What would he misspell? And he realized that's a voice, and his first short stories were told in that voice. And that's what you do.

This book is huge, massive. Did it change a lot while you were writing it?
It expanded.

It expanded?
It expanded, and I just felt while I was writing it that the book had gotten to a size - this happens with things when they get to be the size of Moby-Dick - where it's not a tight little story anymore, and it's never going to be a tight little story. This is a book you can walk around in. I felt comfortable taking a chapter and giving it to a character. There's something that happens in Auburn prison - what if I just give a whole chapter to a guys who's there, and we're kind of waiting for him to get the news about what happened to McKinley because we don't know if he died or not? Or Mei, the Chinese woman, there's a long complicated history between the Philippines and the Chinese, especially in Manila, and this is a time when millions of people in China were starving, were desperate for anything, and they've got all these foreigners coming and so I chose a character who is so ignorant, she's smart but she's so ignorant, she doesn't know anything. She can't read or write, she's been kept in this little village, starving, sold into prostitution. Everything is new to her and very raw so the style of writing can be almost fable-like as she's discovering things, but there's a basic human quality she keeps throughout and I just felt like that's a perspective that you don't usually get. We have The Good Earth, which is just about these very stylized Chinese people, but in this book, in this mosaic, I didn't want to leave anybody out.

So it's about giving voice to the voiceless -
Or just telling the story in a complex and mosaic kind of way and feeling like wait a minute, here's a whole part of the story that's not represented and I just at least want one window into it, just one little peak.

And that's the importance of storytelling, finally, you mean? Whether it's movies or books, that's why we tell stories?
The minute this turns into a novel and not a screenplay, a couple things happen. One, you can have many more points of view. This book would not make a movie, it'd make a fifty-part mini-series, maybe. But in the process you don't have that time to structure peoples' experience. It's very important in a movie what follows what. This needs to happen and then this happens next. A good action movie is like a rollercoaster ride, whereas a novel like this a long journey down a river. There are some slow parts and some rapids and - oh, shit, here comes a waterfall.

Exactly.
The other thing that happens is that I could do anything in fiction I feel like if I do it well, if I make people think things, wonder about things, feel things. In a movie, you lose that interior monologue. When I adapt a novel, I read the novel and it's internal monologue, and I've got to find a way to express that. As a writer, a lot of what you do is you say, Who's my character? What's going to happen and what's my character going to understand or not understand? In the correspondence chapter, Niles Manigault, he's thinking things he's not going to say, because he doesn't want to blow his informant. I wore the wrong clothes. How am I going to make a name for myself? He's an asshole, but he's an even bigger asshole than you know at the time - so that's a nice thing, to have both of these experiences, an omniscient point of view where you leave it up to the reader, where you present evidence and let the reader make the connections, but also give them the personal experience of the character experiencing it. It asks you to empathize with people you would never come across and many you wouldn't want to hang out with.

And that's why we tell stories.
There's a couple of reasons people tell stories. Traditional oral storytelling - and I got into this in The Secret of Roan Inish - is about passed on from generation to generation. Sometimes they're cautionary tales, other times they're about who we are. We tell the story over and over. I was raised Catholic. There are gospels and these are allegorical stories that tell you about your religion or what we as Catholics believe is our central story or our central being. Native Americans have these stories, the Irish have a lot of these stories. Here's someone else's story. Here's somebody you will never meet - oh, how exotic. Here's a bunch of stories about a bunch of guys who go and chase whales. And you know what's amazing? As great an adventure the story is, there's also some pretty heavy human stuff that you could apply to human beings in general when they get into a dark place. So then what fiction becomes is a way to understand the world and a way to understand other people, and maybe yourself but other people too, and in the end a lot of what I try to do in books and movies is take you into other people's lives so you can get a sense of how they see the world.

Interview originally published at The Rumpus, reproduced with permission.

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 John Sayles at BookBrowse
To Save the Man jacket A Moment in the Sun 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 John Sayles 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

  • Roberto Ampuero

    Roberto Ampuero

    Roberto Ampuero is an internationally bestselling, award-winning author. He has published eleven novels in Spanish and his works have been translated around the world. The Neruda Case is his first novel published in English. ... (more)

    If you enjoyed:
    A Moment in the Sun

    Try:
    The Neruda Case
    by Roberto Ampuero

  • H.W. Brands

    H.W. Brands

    H.W. Brands holds the Jack S. Blanton Sr. Chair in History at the University of Texas at Austin. A New York Times bestselling author, he was a finalist for the Pulitzer Prize in biography for The First American and Traitor to... (more)

    If you enjoyed:
    A Moment in the Sun

    Try:
    The Age of Gold
    by H.W. Brands

We recommend 9 similar authors

View all 9 Read-Alikes

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

To make a library it takes two volumes and a fire. Two volumes and a fire, and interest. The interest alone will ...

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 05:33 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
1780292015258 ms 1.78029201526E+012 ms 1 /root/website/app_server.cfm
384 ms 384 ms 1 /root/website/author_interviews/full/index.cfm
131 ms 131 ms 1 /root/website/author_interviews/full/dsp_main.cfm
118 ms 118 ms 1 /root/website/app_layout.cfm
93 ms 31 ms 3 /root/website/adsystem/adsystem_mod.cfm
93 ms 93 ms 1 /root/website/app_globals.cfm
72 ms 72 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
56 ms 28 ms 2 /root/website/queries/qry_get_books_by_author_id.cfm
35 ms 35 ms 1 /root/website/adzones/AdZone2.cfm
35 ms 35 ms 1 /root/website/adzones/AdZone6.cfm
34 ms 34 ms 1 /root/website/queries/qry_get_active_obc.cfm
26 ms 26 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
25 ms 8 ms 3 /root/website/site/blocks/membership_advantages.cfm
24 ms 24 ms 1 /root/website/adzones/showcase_track.cfm
23 ms 23 ms 1 /root/website/queries/qry_get_current_competition.cfm
23 ms 8 ms 3 /root/website/queries/qry_get_member_account_types.cfm
21 ms 21 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
17 ms 17 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
16 ms 16 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
15 ms 15 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
11 ms 11 ms 1 /root/website/queries/qry_get_author_readalikes_by_id.cfm
10 ms 10 ms 1 /root/website/queries/qry_get_books_by_author_id_lite.cfm
7 ms 7 ms 1 /root/website/queries/qry_get_all_books_by_author_id.cfm
5 ms 5 ms 1 /root/website/queries/qry_get_bb_briefs_by_author.cfm
5 ms 5 ms 1 /root/website/site/blocks/dsp_top_author_block.cfm
5 ms 5 ms 1 /root/website/site/blocks/layout/head.cfm
4 ms 4 ms 1 /root/website/actions/adstatus.cfm
3 ms 1 ms 4 /root/website/actions/act_spider_tracker.cfm
3 ms 3 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/act_check_login.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_current_ezine.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_member_info.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/main_menu.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/act_libraryIPLogin.cfm
0 ms 0 ms 1 /root/website/actions/udfs.cfm
0 ms 0 ms 1 /root/website/banners/ad_594.cfm
0 ms 0 ms 1 /root/website/formurl2attributes.cfm
0 ms 0 ms 1 /root/website/js/fbjavascriptsdk.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_border_booktalk.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_header_newsletter.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_wordplay.cfm
0 ms 0 ms 1 /root/website/site/blocks/email_modal.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/google_tags.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/header_announcement.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_search.cfm
1 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
385 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 @ 05:33:35.035
SELECT	a.bot_number
        FROM	bots a
        WHERE	charindex(a.bot_name, ?) > 0
		OR a.bot_ip = ?
Query Parameter Value(s) -
Parameter #1(cf_sql_varchar) = Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Parameter #2(cf_sql_varchar) = 127.0.0.1

get_member_info (Datasource=bookbrowse_com_new, Time=0ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 05:33:35.035
select 	a.*, 
    		b.member_account_type_name, b.member_account_type_charge, b.member_account_type_charge_frequency,  b.member_account_type_months, 
            c.member_chargetype_name, c.member_chargetype_number, a.member_classification_number, a.member_book_format
	
    from members a, member_account_types b, member_chargetype c
	
    where a.member_account_type_number = b.member_account_type_number
	and a.payment_method_id = c.member_chargetype_number
	and a.member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0

adactive (Datasource=bookbrowse_com_new, Time=3ms, Records=2) in /root/website/actions/adstatus.cfm @ 05:33:35.035
SELECT	viewby, section
    FROM	adsystem 
    WHERE	active  = 1 
    AND		start_date <= GETDATE()
    AND 	(viewby = ? OR viewby = 'all')
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = non

get_current_ezine (Datasource=bookbrowse_com_new, Time=1ms, Records=1, Cached Query) in /root/website/queries/qry_get_current_ezine.cfm @ 05:33:35.035
select		top 1 ezine_number, ezine_dt, ezine_image, ezine_brief_description, ezine_introduction
from		ezines
where		ezine_active_flag = 1
and 		ezine_type_number = 4
and			ezine_dt < getdate()
order by 	ezine_dt DESC
get_current_wordplay (Datasource=bookbrowse_com_new, Time=19ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 05:33:35.035
SELECT		a.wordplay_number, a.wordplay_dt, a.wordplay_name, a.wordplay_intro_text, b.wordplay_puzzle_number, b.wordplay_puzzle_question
    FROM		wordplays a 
	INNER JOIN	wordplay_puzzle_mapping c on c.wordplay_number = a.wordplay_number
	INNER JOIN	wordplay_puzzles b on b.wordplay_puzzle_number = c.wordplay_puzzle_number
	WHERE		a.wordplay_number = (	select top 1 a.wordplay_number
                                from wordplays a, wordplay_puzzles b, wordplay_puzzle_mapping c
                                where a.wordplay_number = c.wordplay_number
                                and b.wordplay_puzzle_number = c.wordplay_puzzle_number
                                and a.wordplay_dt < getdate()
                                and a.wordplay_expiration_dt > dateadd(day, -1, getdate())
                                order by a.wordplay_dt asc
                                )
get_ComNo (Datasource=bookbrowse_com_new, Time=12ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 05:33:35.035
SELECT 	TOP 1 	x.competition_number, x.bb_briefs_flag
	from			competitions x
	
		WHERE	x.competition_dt <= getdate()
		AND		x.competition_expiration_dt > dateadd(d,-1,getdate())
get_current_competition (Datasource=bookbrowse_com_new, Time=8ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 05:33:35.035
SELECT 	x.competition_number, x.book_number, x.competition_teaser_title, x.competition_teaser_description, x.competition_intro_text, x.competition_expiration_dt, x.bb_briefs_flag, x.competition_full_info_flag, x.competition_type, x.competition_optin,x.competition_optin_text, 
				a.book_title as "title",
				(b.author_first_name + ' ' +  b.author_middle_initial + ' ' + b.author_last_name) as "author",
	            f.edition_publish_dt AS "hardcover_publish_dt", f.edition_jacket_image as "hardcover_jacket_image",
				g.edition_publish_dt AS "paperback_publish_dt", g.edition_jacket_image as "paperback_jacket_image"
	
		FROM 		competitions x
		INNER JOIN	books a on a.book_number = x.book_number
		INNER JOIN	book_author_mapping c on c.book_number = x.book_number
		INNER JOIN	authors b on c.author_number = b.author_number
		LEFT JOIN	editions f on a.book_number = f.book_number and f.edition_paperback_flag = 0
		LEFT JOIN	editions g on a.book_number = g.book_number and g.edition_paperback_flag = 1

		WHERE		x.competition_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0

get_previous_arcs_for_ad (Datasource=bookbrowse_com_new, Time=0ms, Records=0, Cached Query) in /root/website/queries/qry_get_previous_arcs_for_ad.cfm @ 05:33:35.035
SELECT 	a.arc_number,a.arc_client_url,a.arc_active_dt, a.arc_off_ad_dt,
		b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_publisher, 
		b.ezine_preview_publish_dt, b.ezine_preview_jacket_desc, b.ezine_preview_number_of_pages, b.ezine_preview_bb_comments, b.ezine_preview_isbn13,
		c.ezine_preview_category_name AS "ezine_preview_category",
		(select count(*) from arc_allocator d where d.arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) as "reviews",
		(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,0))) AS numeric(12,0)))+
				(CASE WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
				 WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 50 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
				 ELSE 0
				 END)
 			from arc_allocator	where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS arcrating,
 			(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,1))) AS numeric(12,1)))from arc_allocator where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS "decrating"

FROM arcs a
INNER JOIN ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
INNER JOIN ezine_preview_categories c ON b.ezine_preview_category_number = c.ezine_preview_category_number

WHERE arc_closed_flag = 1
AND arc_obc_flag = 0
AND getdate() >= arc_on_ad_dt
AND getdate() < arc_off_ad_dt

ORDER BY a.arc_on_ad_dt DESC
get_future_obc (Datasource=bookbrowse_com_new, Time=6ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 05:33:35.035
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text, arc_on_ad_dt,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages, ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	
	WHERE 		arc_obc_flag = 1

	AND 		getdate() < arc_on_ad_dt
	
		ORDER BY  	NEWID()
get_active_obc (Datasource=bookbrowse_com_new, Time=12ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 05:33:35.035
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE 		a.arc_obc_flag = 1
	AND			a.arc_active_flag = 0
	AND 		arc_closed_flag = 1
	AND 		getdate() >= arc_on_ad_dt
	AND 		getdate() < arc_off_ad_dt
	ORDER BY  	NEWID()
get_recent_obc (Datasource=bookbrowse_com_new, Time=14ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 05:33:35.035
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE a.arc_number IN (select top 4 arc_number
							from		arcs
							WHERE 		arc_obc_flag = 1
							AND			arc_active_flag = 0
							AND 		arc_closed_flag = 1
							AND 		getdate() > arc_off_ad_dt
							ORDER BY	arc_on_ad_dt DESC)
	ORDER BY  	NEWID()
get_books_by_author_id (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 05:33:35.035
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) = 2062

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=3ms, Records=1) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 05:33:35.035
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) = 2062

get_all_books_by_author_id (Datasource=bookbrowse_com_new, Time=6ms, Records=2) in /root/website/queries/qry_get_all_books_by_author_id.cfm @ 05:33:35.035
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) = 2062
Parameter #2(CF_SQL_INTEGER) = 2062

get_bb_briefs_by_author (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/queries/qry_get_bb_briefs_by_author.cfm @ 05:33:35.035
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) = 2062

get_author_readalikes_by_id (Datasource=bookbrowse_com_new, Time=10ms, Records=9) in /root/website/queries/qry_get_author_readalikes_by_id.cfm @ 05:33:35.035
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) = 2062

get_ads (Datasource=bookbrowse_com_new, Time=23ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 05:33:35.035
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=9ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 05:33:35.035
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 @ 05:33:35.035
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=2ms, Records=1) in /root/website/actions/udfs.cfm @ 05:33:35.035
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) = 2593

get_member_account_types (Datasource=bookbrowse_com_new, Time=13ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 05:33:35.035
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=32ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 05:33:35.035
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) = 2186
Parameter #2(CF_SQL_INTEGER) = 2186
Parameter #3(CF_SQL_INTEGER) = 2186

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=3ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 05:33:35.035
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) = 2186

get_books_by_author_id (Datasource=bookbrowse_com_new, Time=15ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 05:33:35.035
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) = 806
Parameter #2(CF_SQL_INTEGER) = 806
Parameter #3(CF_SQL_INTEGER) = 806

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=3ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 05:33:35.035
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) = 806

get_member_account_types (Datasource=bookbrowse_com_new, Time=3ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 05:33:35.035
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 @ 05:33:35.035
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=10ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 05:33:35.035
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=8ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 05:33:35.035
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=7ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:33:35.035
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=9ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:33:35.035
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=7ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 05:33:35.035
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 @ 05:33:35.035
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=5ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 05:33:35.035
SELECT		a.adid,	adweight
	FROM		adsystem a
	INNER JOIN 	ad_category_mapping b ON b.adid = a.adid
	WHERE		a.section = ?
	AND			a.active  = 1
	AND 		a.start_date <= GETDATE()
		 	AND a.adid NOT IN (?) 
	AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
            

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

get_ads (Datasource=bookbrowse_com_new, Time=11ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:33:35.035
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=4ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:33:35.035
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=2cd3ef2e5e213e1c-10B950BD-AEE4-D7B3-B16B1D945C64DCCF; CFGLOBALS=urltoken%3DCFID%23%3D4089508%26CFTOKEN%23%3D2cd3ef2e5e213e1c%2D10B950BD%2DAEE4%2DD7B3%2DB16B1D945C64DCCF%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2005%3A33%3A35%27%7D%23hitcount%3D98%23timecreated%3D%7Bts%20%272026%2D06%2D01%2005%3A33%3A22%27%7D%23cftoken%3D2cd3ef2e5e213e1c%2D10B950BD%2DAEE4%2DD7B3%2DB16B1D945C64DCCF%23cfid%3D4089508%23; CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%23; CFID=4089508
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/2062/author/john-sayles
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=4089508
cftoken=2cd3ef2e5e213e1c-10B950BD-AEE4-D7B3-B16B1D945C64DCCF
hitcount=101
lastvisit={ts '2026-06-01 05:33:35'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 05:33:22'}
urltoken=CFID=4089508&CFTOKEN=2cd3ef2e5e213e1c-10B950BD-AEE4-D7B3-B16B1D945C64DCCF
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#=4089508&CFTOKEN#=2cd3ef2e5e213e1c-10B950BD-AEE4-D7B3-B16B1D945C64DCCF#lastvisit={ts '2026-06-01 05:33:35'}#hitcount=98#timecreated={ts '2026-06-01 05:33:22'}#cftoken=2cd3ef2e5e213e1c-10B950BD-AEE4-D7B3-B16B1D945C64DCCF#cfid=4089508#
CFID=4089508
CFTOKEN=2cd3ef2e5e213e1c-10B950BD-AEE4-D7B3-B16B1D945C64DCCF
Session Variables:
cfid=4089508
cftoken=2cd3ef2e5e213e1c-10B950BD-AEE4-D7B3-B16B1D945C64DCCF
sessionid=BOOKBROWSE_4089508_2cd3ef2e5e213e1c-10B950BD-AEE4-D7B3-B16B1D945C64DCCF
urltoken=CFID=4089508&CFTOKEN=2cd3ef2e5e213e1c-10B950BD-AEE4-D7B3-B16B1D945C64DCCF
URL Parameters:
author=john-sayles
author_number=2062
Debug Rendering Time: 29 ms