Elizabeth Gaffney Interview, plus links to author biography, book summaries, excerpts and reviews

Elizabeth Gaffney
© Daphne Klein

Elizabeth Gaffney

An interview with Elizabeth Gaffney

Elizabeth Gaffney explains why she chose to set her first novel, Metropolis, in late 19th Century New York, and what it is that attracts her to this period.

What was the inspiration behind Metropolis? How did you come up with this particular story and these characters?

My first two decisions were to write about a time different from my own and to take up a male character as a protagonist. I wanted to learn something while I was working on the novel and to get away from the limitations of my own point of view. Where I stuck close to home was in the setting—New York City. I was born here and have lived here most of my life. In fact, I was interested in the idea of using the city as one of the main characters right from the beginning. The title was one of the first things to come to me. I chose a young, unlucky, struggling immigrant character for my hero because I think everyone can relate to the difficulty of creating an identity. It's the biggest job we human beings have during that trying period of puberty and adolescence—that's why coming-of-age novels are so universal.

By picking the 1870s as my time period, I was trying to make the book a coming-of-age novel for the city and for the nation, too. This was a time of grand infrastructure projects that still shape our urban landscapes and allow us to sustain the population density that we do. I chose an inspirational and very public structure that was built around this time—the Brooklyn Bridge—to symbolize my character's aspirations and chose a hidden and generally unmentioned one—the sewer system (also largely built in this period)—to represent the dark underbelly of experience that my character would have to traverse and overcome to achieve his goals.

The late nineteenth century was also a time when a great wave of immigrants came into our country, which necessitated the eventual opening of Ellis Island as an immigration center. Immigrants have always been at the heart of New York's culture, and this whole country's culture—we're almost all descended from immigrants, after all, except for Native Americans. So I knew I would be writing about an immigrant. I decided to make him German because I had spent time living in Germany and I knew the country well. I made the other main character, Beatrice, Irish because Ireland is a large part of my own heritage, and also because the Germans and the Irish were the two largest immigrant groups during the period I chose to write about.


You use the same title as the great silent film by Fritz Lang. What sort of connection do you see between your book and Lang's Metropolis?

I find Lang's Metropolis to be a quintessential urban social drama, and I was greatly inspired by it. For me, a futuristic vision like Lang's is not all that far from a historical narrative—both step away from the here and now, but in so doing are capable of commenting on the present perhaps more strongly than a story set among all the familiar features of our everyday existence. Lang's Metropolis combines the personal coming-of-age story of its protagonist, a scion of the ruling class, together with a love story, a story of social revolution and a story of a mad Frankenstein-like scientist's botched automaton—there are so many things going on. Like Siddhartha, the hero is born into privilege and is at first entirely unaware of the poor laborer class that makes his world possible. But once he learns that it exists, he chooses to descend into that underground world, where he finds terrible suffering and injustice, and he makes sacrifices to set things right. He devotes himself to serving truth and justice, not the status quo. I can't say any of my characters are quite so saint-like or revolutionary, but I did partly base the structure of my book—Harris's being born to privilege and descending into an underworld before he can rise up again—on that of Lang's Metropolis.


What attracted you to this particular period in New York's history? How long did you research this book? What were some of your more interesting or unexpected sources?

The biggest things that drew me to the period (roughly the 1870s) were the sewer system, which underwent a major renovation and expansion then, and the Brooklyn Bridge, which was under construction at the time. For me, those two elements of the city's infrastructure were symbolic of the unsavory hidden underworld and the highest possible intellectual and artistic achievement of American society. Both were opportunities to look deep into the lives of ordinary workingmen and women of the period and what their lives were like. I chose not to write about the engineers or the powerful politicians and financiers; rather, I wanted to take up the unsung common people as my characters.

The research was a lot of fun and I was constantly discovering new facts throughout the seven years I spent writing Metropolis. Sometimes what I found made me introduce substantial plot changes into the book, so I could add interesting new details I had just come across. For instance, when I read about the women's medical college, I knew I had to include it. That gave rise to two new characters who are both important: the white doctor, Sarah Blacksall, and the black doctor, Susan Smith—a real figure by the way, who practiced medicine for many decades in Brooklyn, and elsewhere, after she married and moved away.


The line between truth and fiction is blurred in Metropolis—many of the people and places are real, while others are fictional and still others seem somewhere in between. How did you decide what to use from history and how did you make it your own creation? Who were some of the real people from history that became characters in your book that the reader might not have known?

Aside from Susan Smith, there are many real characters in the book, but not many famous ones, since I was seeking to document the other side of society. A few well-known people, like P. T. Barnum, have walk-on roles, but I was more captivated by stories like John Dolan's, and that of the brush manufacturer Mr. Noe. The murder that occurs towards the end of the book is based on reality, and some of the details, including the monkeyheaded cane that was the murder weapon, are drawn from contemporary newspaper accounts or from books like Herbert Asbury's Gangs of New York. Piker Ryan, one of the Whyo gang members, was also a real person. I saw a mug shot of him, and he was so dumb-looking and just so plain ugly that I couldn't let him lie. In general, I tried to use real stories I felt I could adapt freely to my own, keeping a line of real material running through the narrative, while not being too bound by facts. The balance I sought was one that allowed for both a realistic portrayal of the times and a rollicking good story.


Why did you decide to have two villains, Dandy Johnny and Luther Undertoe?

I am interested in seeing how various people with similar backgrounds can evolve differently. I suppose it's a way of studying character. At any rate, if you examine Johnny's early childhood and compare it with Luther's, you will find that they were similar; both lost their fathers at an early age and grew up in the rough world of the Five Points with morally compromised immigrant mothers. But as villains, they are quite different. Luther is pretty much a sociopath, while Johnny is a player, a criminal who has charm and charisma to mask his dark side. I think having characters who are variations on a theme is an interesting way of exploring the human psyche. For that matter, Harris had a lot of the same setbacks as Johnny and Undertoe, and is certainly led toward a life of crime, but he resists it, despite some missteps, and remains a fundamentally moral, promising human being. You could look at the central women characters and see similar patterns among them, too. But each person reacts differently to the circumstances, and that's how you know what sort of person each is at her core.


There are many strong women characters in the novel, but your hero is male. How did you decide to go with a male main character? Was it difficult to write from a male point of view?

I set out to use a male protagonist as a sort of exercise, to get away from my own point of view and limitations. That's also why I chose to write a historical novel. I wanted to learn something new and to expand my own horizons. It turned out to be fascinating and illuminating. I wouldn't have had half as much fun or have learned nearly as much if I'd written about a thirty-something aspiring writer who lived in New York City. The way I see it, if I was having fun as a writer, then there was a chance I could give some of that same energy to my reader, so it was about keeping it interesting. That said, I could easily borrow a line from Flaubert and say about Harris: "He is me." I relate to him on so many levels. That's true of all the characters in the book, bad and good. I'd never do what Undertoe does, but I have had impulses to be cruel and destructive. I've been tempted to take my frustrations and troubles out on others. I tried to tap into the full range of emotions I could imagine and play them out to their extremes where they suited the story.

Were the Whyos and the female counterpart gang the Why Nots based on real gangs from the period? Is the Whyo language your creation?

The Whyos was a real gang, and there were real girl gangs affiliated with some New York gangs—including a group called the Forty Little Thieves, who worked with a gang called the Forty Thieves. But I made up the Why Nots. As for the Whyo language, it is based on the record—the Whyos did have some form of covert communication, but I couldn't find anything at all about the specifics of it, so all the particulars are my invention.


Your style seems to borrow from some of the traditions of the nineteenth-century novel, and yet in other ways Metropolis seems very modern. Which writers have influenced you, particularly in the creation of Metropolis?

I wanted to tap into the form of nineteenth-century novels by doing certain things, like having short chapters with cliff-hanger endings, leading the reader from one chapter to the next. It seemed to suit the material. Some of what I do in the book, such as my use of a somewhat intrusive omniscient narrator, is both quite old-fashioned and quite postmodern. You see that kind of voice governing the earliest novels, from Don Quixote to Tristram Shandy, and then again in much more recent and contemporary-seeming fiction.

I wanted the novel to straddle the past and the present, and for some of its issues to speak to present-day issues. As I see it, the social injustices of the nineteenth century are still with us, just in different forms and particulars. By having my narrator be aware of modern genetics and that sort of thing, or about social statistics such as the rate of abortions among various demographic groups, I wanted to suggest how little the world has changed. There are still a lot of diseases that afflict the poor much more often than they afflict the middle and upper classes, for example. I was trying to make a book that had some of the pleasures of escapism that a good novel can give, but I didn't want the book to exist only on that level. And I didn't want it to be a mere costume drama. I always appreciate it when there's some substance behind a story, and this was my way of trying to provide that.


Metropolis has very strong female characters, and some of the themes are very forward thinking for the time period (the women's medical college, women running gangs). Who were the historical women that inspired these themes?

Susan Smith was real, as I said. She graduated from the first class of the Medical College for Women. Her friend Sarah Blacksall is based loosely on the director of that institution, Elizabeth Blackwell, who was a generation older. I mention briefly a famous fence named Marm Mandelbaum, who really existed, as well as a real-life abortionist and charlatan who called herself Madame Restell (though she was not the least bit French). The late nineteenth century was a time of visionary thinkers and social change. Women were asserting themselves in any number of social contexts. Margaret Sanger and a rival of hers named Mary Ware Dennett were promoting women's health care and contraception. There were colonies that practiced free love, the communal raising of children, and open marriage. The suffrage movement was well under way. The thing that struck me over and over as I did my research was how advanced the society was in its thinking, and how we haven't come quite as far as we think we have, given where society was then. Certainly not half far enough. Or maybe the point is that progress itself is not inherently good.


There's a good deal of nineteenth-century medicine and science in the book, including women's health issues, a number of references to epidemic diseases such as typhoid, a fairly graphic account of a heart attack, and several characters who are doctors. What role do medicine and science have in your story?

I am fascinated with how the whole world works, from how a city is built to how a body functions to how a person thinks and acts. I was interested in placing the physiology of a society, or of a city, side by side with the physiology of its component parts, great structures and individual flesh-and-blood human beings in their most bodily manifestations and in their behavior. I see all sorts of interesting parallels between infrastructure, physiology and the psyche. We are all alive, after all, and our physical bodies are such a great part of our lives. I am surprised more writers don't focus on this part of the human experience. For me, it makes a death more understandable, more manageable, to know about the medical causes behind it. It can also reveal things we wouldn't otherwise know about the narrative of a person's life.


You include a lot of technical information about engineering, street construction, and that sort of thing. Why was that important?

Again, the whole world is a stage for a novelist. I see my task as one of exploration, and that means looking in the closets and under the counters and down the manhole covers, not just eavesdropping on conversations that take place in living rooms and parlors. I am especially interested in terrain that is commonly overlooked or avoided, especially for reasons of social propriety. Very few writers go into the bathroom with their characters, but often I find that important things transpire in the bathroom (or indeed the sewers) and see no reason to look squeamishly away.


What are you working on now?

My new book is called The War Effort, and it is set in the period between the end of World War II—V-J Day, in fact—and the Vietnam War. The action all takes place in New York, once again, and to a great extent the book is focused on the effects of war on the home front. The issue of a good war versus a bad war comes up, as does the civil rights movement, and some scientific and mathematical discoveries that were taking place in that era. One of the main characters is an aspiring myrmecologist—an ant specialist. Her mother is a depressed housewife who enters into a sordid love affair. Under the same roof, her invalid husband lies in bed, suffering from late-stage polio while his contemporaries go off to war and win honor and die with glory. Another character is a Marine who comes back from Vietnam badly damaged. Overall, the book centers on the ongoing relationships of two families, one white and one black. I'm excited to delve into a whole new set of social and emotional situations, and to get a chance to research the more recent past.

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 Elizabeth Gaffney at BookBrowse
When the World Was Young jacket Metropolis 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 Elizabeth Gaffney 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

  • E.L. Doctorow

    E.L. Doctorow

    Named for Edgar Allan Poe, Edgar Lawrence Doctorow occupies a central position in the history of American literature. On a shortlist that might also include Philip Roth, Toni Morrison, John Updike, Saul Bellow, and Don ... (more)

    If you enjoyed:
    Metropolis

    Try:
    Homer & Langley
    by E.L. Doctorow

  • Ken Follett

    Ken Follett

    Ken Follett is one of the world's best-loved authors, selling more than 188 million copies of his thirty-six books. Follett's first bestseller was Eye of the Needle, a spy story set in the Second World War. In 1989, The ... (more)

    If you enjoyed:
    Metropolis

    Try:
    Fall of Giants
    by Ken Follett

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

Not doing more than the average is what keeps the average down.

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:17 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
1780291041161 ms 1.78029104116E+012 ms 1 /root/website/app_server.cfm
810 ms 810 ms 1 /root/website/author_interviews/full/index.cfm
308 ms 308 ms 1 /root/website/author_interviews/full/dsp_main.cfm
262 ms 262 ms 1 /root/website/app_layout.cfm
181 ms 60 ms 3 /root/website/adsystem/adsystem_mod.cfm
179 ms 179 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
160 ms 80 ms 2 /root/website/queries/qry_get_books_by_author_id.cfm
153 ms 153 ms 1 /root/website/app_globals.cfm
100 ms 100 ms 1 /root/website/adzones/AdZone6.cfm
64 ms 21 ms 3 /root/website/site/blocks/membership_advantages.cfm
54 ms 54 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
52 ms 52 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
50 ms 17 ms 3 /root/website/queries/qry_get_member_account_types.cfm
49 ms 49 ms 1 /root/website/adzones/AdZone2.cfm
49 ms 49 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
41 ms 41 ms 1 /root/website/queries/qry_get_active_obc.cfm
40 ms 40 ms 1 /root/website/adzones/showcase_track.cfm
31 ms 31 ms 1 /root/website/queries/qry_get_books_by_author_id_lite.cfm
23 ms 23 ms 1 /root/website/queries/qry_get_bb_briefs_by_author.cfm
21 ms 21 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
21 ms 21 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
17 ms 17 ms 1 /root/website/actions/adstatus.cfm
17 ms 17 ms 1 /root/website/queries/qry_get_all_books_by_author_id.cfm
15 ms 15 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
15 ms 15 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
13 ms 13 ms 1 /root/website/act_check_login.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_member_info.cfm
11 ms 3 ms 4 /root/website/actions/act_spider_tracker.cfm
11 ms 11 ms 1 /root/website/site/blocks/email_modal.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_current_competition.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/formurl2attributes.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_current_ezine.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/act_libraryIPLogin.cfm
0 ms 0 ms 1 /root/website/actions/udfs.cfm
0 ms 0 ms 1 /root/website/banners/ad_594.cfm
0 ms 0 ms 1 /root/website/js/fbjavascriptsdk.cfm
0 ms 0 ms 1 /root/website/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/layout/google_tags.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/head.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/header_announcement.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_menu.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_search.cfm
1 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
811 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=10ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 05:17:21.021
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=12ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 05:17:21.021
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=15ms, Records=2) in /root/website/actions/adstatus.cfm @ 05:17:21.021
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 @ 05:17:21.021
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=53ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 05:17:21.021
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=2ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 05:17:21.021
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=5ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 05:17:21.021
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:17:21.021
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:17:21.021
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=21ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 05:17:21.021
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=13ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 05:17:21.021
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=12ms, Records=1) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 05:17:21.021
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) = 1107

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

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

get_bb_briefs_by_author (Datasource=bookbrowse_com_new, Time=23ms, Records=1) in /root/website/queries/qry_get_bb_briefs_by_author.cfm @ 05:17:21.021
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) = 1107

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

get_ads (Datasource=bookbrowse_com_new, Time=26ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 05:17:21.021
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=16ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 05:17:21.021
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=13ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 05:17:21.021
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=17ms, Records=1) in /root/website/actions/udfs.cfm @ 05:17:21.021
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) = 1545

get_member_account_types (Datasource=bookbrowse_com_new, Time=24ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 05:17:21.021
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=88ms, Records=3) in /root/website/queries/qry_get_books_by_author_id.cfm @ 05:17:21.021
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) = 230
Parameter #2(CF_SQL_INTEGER) = 230
Parameter #3(CF_SQL_INTEGER) = 230

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=14ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 05:17:21.021
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) = 230

get_books_by_author_id (Datasource=bookbrowse_com_new, Time=44ms, Records=6) in /root/website/queries/qry_get_books_by_author_id.cfm @ 05:17:21.021
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) = 238
Parameter #2(CF_SQL_INTEGER) = 238
Parameter #3(CF_SQL_INTEGER) = 238

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=11ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 05:17:21.021
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) = 238

get_member_account_types (Datasource=bookbrowse_com_new, Time=11ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 05:17:21.021
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=8ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 05:17:21.021
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=12ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 05:17:21.021
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=43ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 05:17:21.021
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=30ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:17:21.021
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=21ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:17:21.021
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=48ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 05:17:21.021
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=14ms, Records=4) in /root/website/queries/qry_get_free_newsletters.cfm @ 05:17:21.021
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=20ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 05:17:21.021
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=6ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:17:21.021
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=9ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:17:21.021
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=4089142; CFTOKEN=716fe1d3c32ed488-10257858-EA46-133E-CD394CF738FDCA9D; CFGLOBALS=urltoken%3DCFID%23%3D4089142%26CFTOKEN%23%3D716fe1d3c32ed488%2D10257858%2DEA46%2D133E%2DCD394CF738FDCA9D%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2005%3A17%3A21%27%7D%23hitcount%3D45%23timecreated%3D%7Bts%20%272026%2D06%2D01%2005%3A17%3A13%27%7D%23cftoken%3D716fe1d3c32ed488%2D10257858%2DEA46%2D133E%2DCD394CF738FDCA9D%23cfid%3D4089142%23; CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%23; FREEACCESSCOUNT=0
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/1107/author/elizabeth-gaffney
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=4089142
cftoken=716fe1d3c32ed488-10257858-EA46-133E-CD394CF738FDCA9D
hitcount=48
lastvisit={ts '2026-06-01 05:17:21'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 05:17:13'}
urltoken=CFID=4089142&CFTOKEN=716fe1d3c32ed488-10257858-EA46-133E-CD394CF738FDCA9D
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#=4089142&CFTOKEN#=716fe1d3c32ed488-10257858-EA46-133E-CD394CF738FDCA9D#lastvisit={ts '2026-06-01 05:17:21'}#hitcount=45#timecreated={ts '2026-06-01 05:17:13'}#cftoken=716fe1d3c32ed488-10257858-EA46-133E-CD394CF738FDCA9D#cfid=4089142#
CFID=4089142
CFTOKEN=716fe1d3c32ed488-10257858-EA46-133E-CD394CF738FDCA9D
FREEACCESSCOUNT=0
Session Variables:
cfid=4089142
cftoken=716fe1d3c32ed488-10257858-EA46-133E-CD394CF738FDCA9D
sessionid=BOOKBROWSE_4089142_716fe1d3c32ed488-10257858-EA46-133E-CD394CF738FDCA9D
urltoken=CFID=4089142&CFTOKEN=716fe1d3c32ed488-10257858-EA46-133E-CD394CF738FDCA9D
URL Parameters:
author=elizabeth-gaffney
author_number=1107
Debug Rendering Time: 45 ms