Michael Moss Interview, plus links to author biography, book summaries, excerpts and reviews

Michael Moss

Michael Moss

An interview with Michael Moss

Michael Moss discusses his book Salt Sugar Fat, an investigation into the rise of the processed food industry and how the public can get informed about what it eats and how to fight back.

So, how big is the processed food industry, exactly? What kind of scale are we talking about here?

The scale we're talking about here is huge. Grocery sales now top $1 trillion a year in the U.S., with more than 300 manufacturers employing 1.4 million workers, or 12 percent of all American manufacturing jobs. Global sales exceed $3 trillion. But the figure I find most revealing is 60,000: That's the number of different products found on the shelves of the largest supermarkets.



How did it get so big?

The food processing industry is more than a century old - if you count the invention of breakfast cereals - but it really took off in the 1950s with the promotion of convenience foods whose design and marketing was aimed at the increasing numbers of families with both parents working outside the home. The industry's growth, since then, has been entirely unrestrained. While food safety is heavily regulated, the government has been industry's best friend and partner in encouraging Americans to become more dependent on processed foods.



What 3 things should a health-conscious supermarket shopper keep in mind?

The most alluring products - those with the highest amounts of salt, sugar and fat - are strategically placed at eye-level on the grocery shelf. So you typically have to stoop down to find, say, plain oatmeal. Healthier products are generally up high or down low. Companies are also adept at playing the better-nutrition card by plastering their packaging with terms like "all natural," "contains whole grains," "contains real fruit juice," and "lean," which belie the true contents of the products. Reading labels is no easy chore for shoppers. Only since the 1990s have the manufacturers even been required to reveal the true salt, sugar, fat and caloric loads of their products, which are itemized in a box called the "nutrient facts." But one game that many companies still play is to divide these numbers in half, or even thirds, by reporting this critical information per serving – which are typically tiny portions. In particular, they do this for cookies and chips, knowing that most people can't resist eating the entire three-serving bag. Check it out sometime. See how many "servings" that little bag of chips contains.



The nutrition label on the back of my box of cereal – or cookies, or crackers, or what have you – is incredibly confusing and hard to understand. What should I be looking for? How do I read a label?

Avoid falling into the trap of underestimating how much you eat: Three-quarters of a cup of sugary cereal - which is what the FDA calls a serving - is just the start of what my kids will pour into their bowls. Know that there are huge differences among seemingly similar brands: In my house, we recently discovered a yogurt with half as much sugar, and my 8-year-old likes it just as much. Pay particular attention to the limits called "daily values": these are percentage calculations from the FDA, and do not reflect the newer, and lower, maximum levels set by the USDA in its nutrition guidelines.



Why does soup have so much salt in it?

My wife asked me this same question just the other day when she bought a can of chicken noodle soup from a natural, organic foods manufacturer, and didn't bother reading the label until our youngest son said it was so salty he couldn't eat it. And no wonder: the can had nearly a whole day's worth of the sodium recommended for adults. There are three reasons that soup - not mention so many other products - are so salty: Salt costs the food companies a mere ten cents a pound, which is far cheaper than trying to provide flavor the way my mom did: by using fresh herbs and spices. Salt also masks bitterness and other bad flavors, including a pernicious one called WOF, or warmed-over-flavor, which meat gets when it is processed and reheated; and salt gives processed food its long life on the grocery shelf, which is critical to the industry's financial success.



How much salt, sugar and fat does the average American eat in a given year, and how much of that comes from processed food?

Way too much, even the U.S. Department of Agriculture concedes. Salt is at 8,500 milligrams a day, which delivers more than twice the maximum levels of sodium recommended for the majority of American adults. Sugar - just the amount added to foods and drinks during processing, and not including the sugar already there naturally - is at 22 teaspoons a day, which is as much as four times the amount people should get, depending on their age and caloric needs. And saturated fat - the kind of fat doctors worry about because it is linked to heart disease and other health problems - is at 11 percent of the average adult's food intake, while the recommended max is 7 percent. In all, three-quarters of this salt, sugar and fat in our diets comes from processed foods.



How did you land on salt, sugar, and fat as your way to write about the industry? Why these three ingredients?

I had been investigating a surge in deadly outbreaks of E. coli in meat when an industry source, a microbiologist, suggested that if I wanted to see an even bigger public health hazard, I should look at what food companies were intentionally adding to their products, starting with salt. And sure enough, when I looked at this - by gaining access to high level industry officials and a trove of sensitive, internal records - a window opened wide on how aggressive the industry was wielding not only salt, but sugar and fat, too. These are the pillars of processed foods, the three ingredients without which there would be no processed foods. Salt, sugar and fat drive consumption by adding flavor and allure. But surprisingly, they also mask bitter flavors that develop in the manufacturing process. They enable these foods to sit in warehouses or on the grocery shelf for months on end. And, most critically to the industry's financial success, they are very inexpensive.



How did you get executives of all these companies to talk to you?

I've been a reporter for more than 30 years, mostly doing investigations, which requires digging below the surface of things that institutions and their officials try to shield from public view. But really, all this takes is curiosity and a willingness to listen. Most of the people I interviewed were passionate about their work, and I got the sense they were waiting for someone to come along who would consider the more difficult aspects of their jobs with fairness. Some have become fierce critics of processed foods, and avoid eating their own products. Others point out that the country was far less reliant on convenience foods when they began inventing and marketing things like microwavable popcorn or cheese-and-meat stuffed calzones, and that they started to worry about the effects of their products when we became a snacking society that condoned eating anything, anywhere, anytime.



The word "addictive" is often used to describe certain kinds of processed foods – particularly the ones high in salt, sugar, and fat. Is this fair? Do people become physically addicted to, say, sugar?

I feel for the industry, which desperately wants to avoid getting saddled with the word. Companies rightly point out that much of the science is based on laboratory animals, not people, and even the most compelling evidence - neurological studies showing that sugar and fat lights up the brain in the same way that cocaine does is - is a work in progress. But I defer to the head of the National Institute on Drug Abuse, Nora Volkow (appointed by President George W. Bush, I might add), who has strong feelings about processed foods, having studied food dependencies, too. While drugs can set off brain responses that are far more powerful, she told me, "clearly, processed sugar in certain individuals produce these compulsive patterns of intake."



How does the industry talk about addiction? Surely they don't use the word addiction. Do they have other ways of talking about it?

They do. The words they use to describe the addictive powers of their products are crave, craveability and alluring. They have also embraced studies that seek to shift the blame for food dependencies onto the consumer, saying it's their behavior - like bingeing and other irregular eating patterns - that creates the addiction, and not the loads of salt, sugar and fat. But no matter the semantics: it's important to remember that inside the companies, every ounce of their energy is spent making their food and beverages as attractive to consumers as possible. As one Kraft official told me, "We would talk about people `desiring' foods, and at the end of the day, you make the best-tasting food you possibly can."



What kind of R&D goes into launching a new product these days? Say a major food company wants to roll out a new kind of cookie to appeal to kids. What happens before that product comes to market?

Keeping up a steady stream of new products to put on the grocery store is critical to a food company's success: they call this "product news," and this is what generates increased sales. Most of this churn involves making only slight changes to the formula or packaging. Indeed, the industry's old timers complain that very little real inventing goes on today. But all of these thousands of new products turned out each year go through a basic drill: The chemists will engineer the formula to hit the perfect "bliss point," or the amount of salt, sugar and fat that consumers find the most attractive, and they will run taste panels to test these on real consumers; the marketing folks will roll it out slowly, testing the product in a few cities so they won't be out too much money if they got the formula wrong; and the advertising side, meanwhile, will be honing the perfect pitch, building on the psychological pull of the existing brand. The largest companies also have sophisticated research centers, where they use brain scans and other tools to perfect their basic understanding of just what it is about their products that we find so addictive — or rather, I mean, alluring.



Part of what's interesting here is the way the major food companies speak out of both sides of their mouths. Nestle, for instance, has 350 scientists on staff and, in recent years, has dedicated a substantial amount of its resources to creating healthier versions of its products. Yet, in 2002, they paid $2.6 billion to acquire Hot Pockets, which you say are "arguably one of the unhealthiest items in the grocery store." How do they square all this?

I recently picked up aHot Pocket at my local grocery store, and looked at the label. It contained close to my daily limit for salt and saturated fat, along with nearly six teaspoons of sugar to boot. Nestle, among other companies, sees itself as fulfilling a need, rather than causing or perpetuating health problems like obesity. In this case, Nestle said it spotted the millennial generation, young men especially, gravitating toward casual, convenient meals, and viewed the Hot Pockets as a way to meet their needs.



You talk a lot about the way the food giants are altering the physical structure of these substances – more intense sugar, finer salt crystals, larger fat globules that create a more luxurious feel on the tongue. The word you use to describe this is "weaponization." Can you give us an example of how this works?

Some of these efforts are aimed at providing more bang for the buck. For its food company customers, Cargill has created 40 types of processed salt, from fine powders to huge pyramid-shaped crystals, altering the physical shape to work best with the targeted product, from meat to soups to pretzels. My personal favorite is the pyramid, which is hollowed out to enable your saliva to your my tastebuds with the quickest burst of salty flavor. In sugars, one of the industry's manipulations is aimed at dodging consumer concerns about nutrition: pear and grape juice is "stripped" of its fiber and other fruit elements to create molecules of nearly pure sugar that can be listed on labels more benignly as "fruit juice concentrate." But some of these efforts are also aimed at improving the health of consumers. Nestle right now is trying to create an "encapsulated oil," in which a healthier unsaturated fat is encased by sugar or protein molecules in order to provide the same great taste sensation - called "mouthfeel" - of saturated fat.



The industry has become incredibly powerful and the government has proven largely ineffective in terms of regulation. How, then, will anything ever change? What has to happen in order for the food companies to commit to healthier foods?

On this matter, I have to defer to consumer advocates. There is a growing consensus that the government must intervene with regulation if there is to be any meaningful change. But I was rather stunned when the former CEO of Philip Morris (which owned several of the biggest food companies) told me that he is inclined to embrace the concept of regulation for food, given how the industry has failed to put meaningful curbs on itself, and how even a company wanting to do the right thing by consumers would get devoured by the fierce industry competition.



Why are food companies allowed to advertise to children? Why is it okay for my eight year old's cartoon shows to be interrupted every five minutes by ads for new sugar cereals – some of which are filled with chocolate – that purport to be "part of a nutritious breakfast"? What are the rules here?

I hear your frustration. The "rule" has been self-regulation, ever since the Federal Trade Commission tried, and failed, in the 1970s to put some government curbs on the advertising of sugary foods to kids. Under pressure from consumer advocates, 16 companies are now part of a 2006 initiative by the Better Business Bureau, having pledged to stop advertising many of their products to kids, and to improve the nutrition of those they do advertise. But a 2011 audit of this effort by the Rudd Center for Food Policy & Obesity at Yale turned up mixed results: the number of cereal and soda ads are down, but so are ads for fruits and vegetables, while the advertising for candy and snacks is up. There also appears to be a significant shift toward using social media, rather than TV, to advertise the junkiest foods.



You have a chapter devoted to Kraft's premade meal for kids, The Lunchables, which suggests that you see this as emblematic of something bigger in the industry's approach to children. Can you explain what that is?

The Lunchables is important because it brought fast-food into the grocery store, creating a new category of ready-to-eat snacks and meals to kids. Beyond their hefty loads of salt, sugar and fat - which, I want to stress, Kraft is now working to reduce - these little trays also engaged kids at an early age in the industry's psychological gamesmanship known as "permission." This is the strategy by which the processed food industry gets consumers to trade things like flavor and freshness for convenience and lower cost. Lunchables got kids to accept cold raw pizza - and cold burgers and cold hot dogs - in exchange for the feeling of empowerment they got from assembling and having these store-bought trays at school. Thus the brand's slogan: "All day you gotta do what they say. But lunchtime is all yours."



What's the most surprising thing you learned in the course of reporting this book?

It was hardly surprising that Philip Morris would push for higher sales after purchasing General Foods and Kraft in the 1980s, which I found by mining a trove – literally, millions of pages - of secret internal company records. Philip Morris was masterful at marketing cigarettes, and it supplied its new food managers with targeted mailing lists and other clever marketing tools. But what did surprise me was the about-face that Philip Morris did in the early 2000s, when it began warning its food managers that they were facing a problem as big, if not bigger, than the trouble that nicotine was causing for the tobacco industry. The story of how this played out, as a cabal at Kraft set out to do the right thing by consumer health, is, for me, one of the richest parts of the book.

interview from Michael Moss's website.

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 Michael Moss at BookBrowse
Salt Sugar Fat 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 Michael Moss 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

  • Greg Critser

    Greg Critser

    Greg Critser is a longtime chronicler of the modern pharmaceutical industry and the politics of medicine. His columns and essays on the subject have appeared in Harper's Magazine, USA Today, the Wall Street Journal, the L... (more)

    If you enjoyed:
    Salt Sugar Fat

    Try:
    Fat Land
    by Greg Critser

  • Dan Fagin

    Dan Fagin

    Dan Fagin is an associate professor of journalism and the director of the Science, Health, and Environmental Reporting Program at New York University's Arthur L. Carter Journalism Institute. For fifteen years, he was the... (more)

    If you enjoyed:
    Salt Sugar Fat

    Try:
    Toms River
    by Dan Fagin

We recommend 8 similar authors

View all 8 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...

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

Click Here to find out who said this, as well as discovering other famous literary quotes!

Book
Trivia
  • Book Trivia

    Can you name the title?

    Test your book knowledge with our daily trivia challenge!

Wordplay

Solve this clue:

W the C A the M W P

and be entered to win..

Your guide toexceptional          books

BookBrowse seeks out and recommends the best in contemporary fiction and nonfiction—books that not only engage and entertain but also deepen our understanding of ourselves and the world around us.

 


Debugging Information
ColdFusion Server Developer 2021,0,13,330286
Template /author_interviews/full/index.cfm
Time Stamp 01-Jun-26 04:11 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
1780287096029 ms 1.78028709603E+012 ms 1 /root/website/app_server.cfm
653 ms 653 ms 1 /root/website/author_interviews/full/index.cfm
348 ms 348 ms 1 /root/website/app_globals.cfm
171 ms 171 ms 1 /root/website/author_interviews/full/dsp_main.cfm
102 ms 51 ms 2 /root/website/queries/qry_get_books_by_author_id.cfm
97 ms 24 ms 4 /root/website/actions/act_spider_tracker.cfm
83 ms 83 ms 1 /root/website/queries/qry_get_active_obc.cfm
81 ms 81 ms 1 /root/website/app_layout.cfm
78 ms 26 ms 3 /root/website/adsystem/adsystem_mod.cfm
66 ms 66 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
51 ms 51 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
34 ms 34 ms 1 /root/website/adzones/AdZone2.cfm
25 ms 25 ms 1 /root/website/queries/qry_get_current_competition.cfm
25 ms 8 ms 3 /root/website/site/blocks/membership_advantages.cfm
24 ms 8 ms 3 /root/website/queries/qry_get_member_account_types.cfm
24 ms 24 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
23 ms 23 ms 1 /root/website/adzones/AdZone6.cfm
23 ms 23 ms 1 /root/website/adzones/showcase_track.cfm
23 ms 23 ms 1 /root/website/queries/qry_get_books_by_author_id_lite.cfm
15 ms 15 ms 1 /root/website/actions/adstatus.cfm
15 ms 15 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.cfm
15 ms 15 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
14 ms 14 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_author_readalikes_by_id.cfm
11 ms 11 ms 1 /root/website/act_check_login.cfm
11 ms 11 ms 1 /root/website/queries/qry_get_member_info.cfm
10 ms 10 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
7 ms 7 ms 1 /root/website/queries/qry_get_bb_briefs_by_author.cfm
5 ms 5 ms 1 /root/website/queries/qry_get_all_books_by_author_id.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_current_ezine.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/queries/qry_get_free_newsletters.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_border_booktalk.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_header_newsletter.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_top_author_block.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_wordplay.cfm
0 ms 0 ms 1 /root/website/site/blocks/email_modal.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.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_search.cfm
1 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
654 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

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

get_member_info (Datasource=bookbrowse_com_new, Time=2ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 04:11:36.036
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=9ms, Records=2) in /root/website/actions/adstatus.cfm @ 04:11:36.036
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 @ 04:11:36.036
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=66ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 04:11:36.036
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=14ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 04:11:36.036
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=10ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 04:11:36.036
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 @ 04:11:36.036
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=19ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 04:11:36.036
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=28ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 04:11:36.036
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=34ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 04:11:36.036
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 @ 04:11:36.036
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) = 2277

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=8ms, Records=1) in /root/website/queries/qry_get_books_by_author_id_lite.cfm @ 04:11:36.036
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) = 2277

get_all_books_by_author_id (Datasource=bookbrowse_com_new, Time=5ms, Records=1) in /root/website/queries/qry_get_all_books_by_author_id.cfm @ 04:11:36.036
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) = 2277
Parameter #2(CF_SQL_INTEGER) = 2277

get_bb_briefs_by_author (Datasource=bookbrowse_com_new, Time=7ms, Records=0) in /root/website/queries/qry_get_bb_briefs_by_author.cfm @ 04:11:36.036
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) = 2277

get_author_readalikes_by_id (Datasource=bookbrowse_com_new, Time=12ms, Records=8) in /root/website/queries/qry_get_author_readalikes_by_id.cfm @ 04:11:36.036
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) = 2277

get_ads (Datasource=bookbrowse_com_new, Time=12ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 04:11:36.036
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 @ 04:11:36.036
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=11ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 04:11:36.036
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=4ms, Records=1) in /root/website/actions/udfs.cfm @ 04:11:36.036
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) = 2845

get_member_account_types (Datasource=bookbrowse_com_new, Time=4ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 04:11:36.036
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=40ms, Records=2) in /root/website/queries/qry_get_books_by_author_id.cfm @ 04:11:36.036
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) = 842
Parameter #2(CF_SQL_INTEGER) = 842
Parameter #3(CF_SQL_INTEGER) = 842

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=14ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 04:11:36.036
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) = 842

get_books_by_author_id (Datasource=bookbrowse_com_new, Time=23ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 04:11:36.036
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) = 2280
Parameter #2(CF_SQL_INTEGER) = 2280
Parameter #3(CF_SQL_INTEGER) = 2280

get_author_by_author_id (Datasource=bookbrowse_com_new, Time=21ms, Records=1) in /root/website/queries/qry_get_books_by_author_id.cfm @ 04:11:36.036
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) = 2280

get_member_account_types (Datasource=bookbrowse_com_new, Time=7ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 04:11:36.036
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=5ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 04:11:36.036
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=7ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 04:11:36.036
SELECT 	top 3 a.arc_number,arc_promo_text,
			b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_publish_dt, 
			(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,0))) AS numeric(12,0)))+
					(CASE WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
					 WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 50 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
					 ELSE 0
					 END)
				from arc_allocator	where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS arcrating

	FROM arcs a
	INNER JOIN ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number

	WHERE arc_closed_flag = 1
	AND arc_obc_flag = 0
	AND getdate() >= arc_on_ad_dt
	AND (select count(*) from arc_allocator d where d.arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) > 1

	ORDER BY a.arc_off_ad_dt DESC
get_ads (Datasource=bookbrowse_com_new, Time=6ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 04:11:36.036
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=5ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 04:11:36.036
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=8ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 04:11:36.036
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=9ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 04:11:36.036
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 @ 04:11:36.036
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=9ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 04:11:36.036
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=7ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 04:11:36.036
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=3ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 04:11:36.036
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=f4966c91b6cc6f99-0DCC8CC5-07C2-3B3F-32F93EDB7BF05C1F; CFGLOBALS=urltoken%3DCFID%23%3D4085312%26CFTOKEN%23%3Df4966c91b6cc6f99%2D0DCC8CC5%2D07C2%2D3B3F%2D32F93EDB7BF05C1F%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2004%3A11%3A35%27%7D%23hitcount%3D2%23timecreated%3D%7Bts%20%272026%2D06%2D01%2004%3A11%3A35%27%7D%23cftoken%3Df4966c91b6cc6f99%2D0DCC8CC5%2D07C2%2D3B3F%2D32F93EDB7BF05C1F%23cfid%3D4085312%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=4085312
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/2277/michael-moss
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=4085312
cftoken=f4966c91b6cc6f99-0DCC8CC5-07C2-3B3F-32F93EDB7BF05C1F
hitcount=3
lastvisit={ts '2026-06-01 04:11:36'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 04:11:35'}
urltoken=CFID=4085312&CFTOKEN=f4966c91b6cc6f99-0DCC8CC5-07C2-3B3F-32F93EDB7BF05C1F
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#=4085312&CFTOKEN#=f4966c91b6cc6f99-0DCC8CC5-07C2-3B3F-32F93EDB7BF05C1F#lastvisit={ts '2026-06-01 04:11:35'}#hitcount=2#timecreated={ts '2026-06-01 04:11:35'}#cftoken=f4966c91b6cc6f99-0DCC8CC5-07C2-3B3F-32F93EDB7BF05C1F#cfid=4085312#
CFID=4085312
CFTOKEN=f4966c91b6cc6f99-0DCC8CC5-07C2-3B3F-32F93EDB7BF05C1F
Session Variables:
cfid=4085312
cftoken=f4966c91b6cc6f99-0DCC8CC5-07C2-3B3F-32F93EDB7BF05C1F
sessionid=BOOKBROWSE_4085312_f4966c91b6cc6f99-0DCC8CC5-07C2-3B3F-32F93EDB7BF05C1F
urltoken=CFID=4085312&CFTOKEN=f4966c91b6cc6f99-0DCC8CC5-07C2-3B3F-32F93EDB7BF05C1F
URL Parameters:
author_number=2277
michael-moss=
Debug Rendering Time: 26 ms