Book Summary and Reviews of Baking Cakes in Kigali by Gaile Parkin

Baking Cakes in Kigali by Gaile Parkin

Baking Cakes in Kigali

by Gaile Parkin

  • Critics' Consensus (3):
  • Readers' Rating (37):
  • Published:
  • Aug 2009, 320 pages
  • Rate this book

About this book

Book Summary

Baking Cakes in Kigali is a tale in fourteen confections, and behind each cake lies a story. As baker Angel Tungaraza busies herself with her customers' orders, we learn about their lives: Ken Akimoto — with his penchant for partying, her best client — and Bosco, his lovesick driver; Dr. Rejoice, without whom she'd never cope with the hot flashes that send her delving into her brassiere for a handkerchief so often these days; Odile, an AIDS worker whose love life Angel has taken a keen interest in; and not forgetting young Leocadie, Modeste, and their baby boy, Beckham.

Angel works her magic, solving problems for all around her; and in turn, they help her lay her own demons to rest: perhaps she can finally face the truth about the loss of her own son and daughter, and achieve a sense of peace.

Hauntingly charming, funny, and involving, Baking Cakes in Kigali , set in Rwanda, is a novel about the real meaning of reconciliation - about how, in the aftermath of tragedy, life goes on and people still manage to find reasons to celebrate.

Please be aware that this discussion may contain spoilers!

See what our members are saying about this book in our Community Forum.

What are you reading this week (1/2/2025)?
Reading Baking Cakes in Kigali by Gaile Parkin. It was published years ago. The main character reminds me a bit of Precious Ramotswe, the main protagonist in Alexander McCall Smith's No. 1 Lady De...
-Gabi_J

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!

Reviews

Media Reviews

"With a lightness of touch, Gaile Parkin's Baking Cakes in Kigali deftly uncovers the joys (and there are many) and sorrows of the survivors. Fans of Precious Ramotswe from Alexander McCall Smith's Number One Ladies Detective Agency will adore this too." - The Daily Mail (U.K.)

"An irresistible story of laughter and hope .... Baking Cakes in Kigali is a charming and a beautifully written novel of life in a country recovering from terrible horrors." - The Bookseller (U.K.)

"Fluent and deeply moving, especially in its portrayal of women survivors." - The Independent (U.K.)

"Angel ... is the novel's towering achievement—along with the sense Parkin creates of a country riven by its past yet seeking repair.... Baking Cakes in Kigali makes you feel better about the world." - The Scotsman

"Born and raised in Zambia, Parkin offers a fascinating personal glimpse into a culture unfamiliar to most Americans, but better editing could have transformed her slightly stilted effort into a book to remember." - Kirkus Reviews

"In Parkin's eagerness to introduce a rainbow of cultures and personalities, she crowds her enjoyable but terminally dedicated heroine, forcing Angel to take a saccharine supporting role in her own story..." - Publishers Weekly

"This is a good choice for readers interested in the political and social life of African countries and fans of Alexander McCall Smith's "The No. 1 Ladies' Detective Agency" series." - School Library Journal (Adult Books for High School Students)

This information about Baking Cakes in Kigali was first featured in "The BookBrowse Review" - BookBrowse's membership magazine, and in our weekly "Publishing This Week" newsletter. Publication information is for the USA, and (unless stated otherwise) represents the first print edition. The reviews are necessarily limited to those that were available to us ahead of publication. If you are the publisher or author and feel that they do not properly reflect the range of media opinion now available, send us a message with the mainstream reviews that you would like to see added.

Any "Author Information" displayed below reflects the author's biography at the time this particular book was published.

Reader Reviews

Write your own reviewwrite your own review

Louise J

Totally Charming!
This was a funny, sad, heartwarming read. Angel Tungaraza bakes and decorates the most beautiful cakes. As each of her customers come to see her to ask her to bake one, she hands them her portfolio to look at while she makes them tea. Her best client is Ken Akimoto who regularly holds parties and loves karaoke and the people of the apartment building are usually invited, but those that aren’t never complain about the noise because at one time or another they have been invited.

Each person that comes to see Angel has some sort of problem that she helps them solve. She seems to have an air about her that makes her easily approachable and easy to talk to, however, at the same time, she comes to accept, in her own way, the deaths of both her own daughter and son.

Even amongst all these problems, terrible illnesses and death, it shows us that life does go on and people still find reasons to celebrate regardless of the hardships they’ve faced.

I would recommend this book to others.

Kathy B.

Baking cakes in Rwanda but so much more...
In a manner much like Alexander McCall Smith, Gaile Parkin gives vignettes of life in Africa (Rwanda). Angel bakes cakes to sell from her home; the stories revolve around her customers and deal with AIDS, frustrations with societal moires, marital conflict, and women's issues. The stories are compelling and the advice which Angel gives is always sound. Do not miss this wonderful slice of life in Rwanda. It shows warmth and hope in the context of the remnants of the terrible genocide of 1994. It left me smiling through my tears.

Linda K. (Belvidere, IL)

There's More To A Cake Than Flour And Water
The main character, Angel, bakes cakes. Her cakes are far more than an edible pastry. Each cake she bakes celebrates an occasion that is laced with sadness and despair, as no one has gone untouched by the horrors of genocide Rwanda lived through. If that was not enough, Africa has been haunted further by the impact of the AIDS epidemic. Despite these conditions, Angel brings hope and healing with every cake she bakes. This is a book that cannot be put aside. It begs to be read, just as Angel’s cakes beg to be eaten. I’ll be looking forward to the next “slice” Gail Parkin cooks up!

Katherine W. (El Sobrante, CA)

When it comes to writing books Gaile Parkin is a very impressive Somebody!
"Baking Cakes in Kigale", a first novel by Gaile Parkin, Takes place in Rwanda some years after the civil war. Each chapter is titled after an occasion for which the main character, Angel Tungaraza, has been hired to bake one of her famous cakes. In getting to know the people for whom she is creating her confectionery masterpieces, Angel learns the stories of their lives, some tragic, some full of humor. This is one of those special books that keeps you fully engaged while at the same time infusing the story with an important political message. It bears witness to the terrible tragedies of AIDS, genocide, malaria, poverty and government corruption, and all the while manages to be heartwarming and full of joie de vivre.

Eileen L. (Danvers, MA)

Draws you in and does not let go
Baking Cakes in Kigali is a long winding road of a book. Centered around Angel, a baker of specialty cakes, you are immediately drawn into her world. Her strength, her sense of family, and her willingness to listen and learn endear her to the reader almost immediately. While the hardship in her life, and lives of those around her, is obvious, you get the sense that life, to Angel, holds endless possibility and undiscovered joy. This book is truly a journey, and one well worth taking. You really just want it to go on and on.

Barbara B. (Alta Loma, CA)

Baking Cakes in Kigali
I love to bake and I love to eat cake and I love learning and reading stories about Africa, so I knew Baking Cakes in Kigali had to be a recipe for a great read and I was not disappointed.

All of the characters were delightful and I enjoyed the way Angel, the cake baker, engaged her customers to tell their stories over a cup of tea and a cupcake. The fact that these stories were based on real stories made the book especially interesting. It is hard to read about genocide and poverty, but Parkin's characters overcame their tragedies.

Angel, is middle aged and she dealt with issues many people deal with such as raising grandchildren, the change & even AIDS. I was wishing recipes had been at the end of the book. I was hungry for cake!

...14 more reader reviews

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!

Author Information

Gaile Parkin Author Biography

Gaile Parkin was born and raised in Zambia, and studied at universities in South Africa and England. She has lived in many different parts of Africa, including Rwanda, where >Baking Cakes in Kigali is set. She is currently a freelance consultant in the fields of education, gender, and HIV/AIDS.

Her second novel, When Hoopoes Go To Heaven, was published in Feb 2012.

Author Interview

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

Read-Alikes Full readalike results are for members only

If you liked Baking Cakes in Kigali, try these:

  • What Lies in the Woods jacket

    What Lies in the Woods

    by Kate Alice. Marshall

    Published 2024

    About this book

    Kate Alice Marshall's What Lies in the Woods is a thrilling novel about friendship, secrets, betrayal, and lies - and having the courage to face the past.

  • A Death in Denmark jacket

    A Death in Denmark

    by Amulya Malladi

    Published 2023

    About this book

    Meet Gabriel Præst, an ex-Copenhagen cop (who dresses with panache), jazz aficionado, and relentless pursuer of truth as he explores Denmark's Nazi-collaborator past and anti-Muslim present in a page-turning Nordic murder mystery with a cosmopolitan vibe

  • The Watcher jacket

    The Watcher

    by Charlotte Link

    Published 2015

    About this book

    An immersive, atmospheric crime novel from the multi-million-copy bestselling author, Charlotte Link.

We have 5 read-alikes for Baking Cakes in Kigali, but non-members are limited to three results. Join free to see the complete list of recommendations.
Search read-alikes
How we choose read-alikes

More Literary Fiction

Browse all Literary Fiction books

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

These are not books, lumps of lifeless paper, but minds alive on the shelves

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 /bb_briefs/detail/index.cfm
Time Stamp 01-Jun-26 07:39 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
1780299584460 ms 1.78029958446E+012 ms 1 /root/website/app_server.cfm
2042 ms 2042 ms 1 /root/website/bb_briefs/detail/index.cfm
829 ms 829 ms 1 /root/website/bb_briefs/detail/dsp_main.cfm
356 ms 356 ms 1 /root/website/queries/qry_get_discussion_by_id.cfm
287 ms 287 ms 1 /root/website/app_layout.cfm
281 ms 70 ms 4 /root/website/site/blocks/membership_advantages.cfm
243 ms 61 ms 4 /root/website/adsystem/adsystem_mod.cfm
220 ms 220 ms 1 /root/website/queries/qry_get_briefs_reader_rating.cfm
204 ms 204 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
157 ms 157 ms 1 /root/website/app_globals.cfm
99 ms 25 ms 4 /root/website/queries/qry_get_member_account_types.cfm
98 ms 98 ms 1 /root/website/adzones/AdZone6.cfm
81 ms 81 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
80 ms 80 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
75 ms 75 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
68 ms 68 ms 1 /root/website/queries/qry_get_reader_reviews_by_preview_number.cfm
67 ms 67 ms 1 /root/website/adzones/showcase_track.cfm
54 ms 54 ms 1 /root/website/adzones/AdZone3.cfm
44 ms 44 ms 1 /root/website/queries/qry_get_active_obc.cfm
34 ms 34 ms 1 /root/website/queries/qry_get_books_by_briefs_category.cfm
34 ms 34 ms 1 /root/website/queries/qry_get_preview_by_id.cfm
33 ms 33 ms 1 /root/website/actions/adstatus.cfm
28 ms 28 ms 1 /root/website/adzones/AdZone11.cfm
27 ms 27 ms 1 /root/website/queries/qry_get_current_competition.cfm
21 ms 21 ms 1 /root/website/queries/qry_get_liked_by_brief_id.cfm
21 ms 21 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
17 ms 17 ms 1 /root/website/act_check_login.cfm
17 ms 3 ms 5 /root/website/actions/act_spider_tracker.cfm
16 ms 16 ms 1 /root/website/queries/qry_get_member_info.cfm
15 ms 15 ms 1 /root/website/site/blocks/dsp_top_brief_block.cfm
14 ms 14 ms 1 /root/website/queries/qry_get_author_bookcount.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
10 ms 10 ms 1 /root/website/queries/qry_get_obc_number.cfm
10 ms 10 ms 1 /root/website/queries/qry_get_preview_awards_by_id.cfm
5 ms 5 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/act_libraryIPLogin.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_current_ezine.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
1 ms 1 ms 1 /root/website/site/blocks/dsp_border_booktalk.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/head.cfm
0 ms 0 ms 1 /root/website/Application.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_previous_arcs_for_ad.cfm
0 ms 0 ms 1 /root/website/site/blocks/act_book_view_tracking.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_header_newsletter.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_wordplay.cfm
0 ms 0 ms 1 /root/website/site/blocks/email_modal.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/google_tags.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/header_announcement.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_menu.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_search.cfm
1 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
2043 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=16ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 07:39:44.044
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=16ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 07:39:44.044
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=24ms, Records=2) in /root/website/actions/adstatus.cfm @ 07:39:44.044
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 @ 07:39:44.044
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=12ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 07:39:44.044
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=16ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 07:39:44.044
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 @ 07:39:44.044
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 @ 07:39:44.044
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=12ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 07:39:44.044
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=15ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 07:39:44.044
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=16ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 07:39:44.044
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_preview_by_id (Datasource=bookbrowse_com_new, Time=25ms, Records=1) in /root/website/queries/qry_get_preview_by_id.cfm @ 07:39:44.044
select 			a.ezine_preview_number,
				a.ezine_number, 
				a.ezine_preview_category_number, 
				a.ezine_preview_title, 
				a.ezine_preview_subtitle, 
				a.ezine_preview_author, 
				a.ezine_preview_publisher,
				a.ezine_preview_publish_dt,
				a.ezine_preview_number_of_pages, 
				a.ezine_preview_jacket_image,
				a.ezine_preview_reviews,
				a.ezine_preview_short_summary,
				a.ezine_preview_jacket_desc,
				a.ezine_preview_reading_guide,
				a.ezine_preview_bb_comments, 
				a.ezine_preview_isbn,
				a.ezine_preview_isbn13,
				a.ezine_preview_rating,
				a.ezine_preview_bb_link,
                a.ezine_preview_bb_author_link,
                a.ezine_preview_firsts_flag,
                a.ezine_preview_reading_level,
                a.ezine_preview_paperback_flag,
				b.*,
                c.ezine_dt, c.ezine_description
,(select publisher_holding_company from publishers where ezine_preview_publisher like publisher_imprint AND publisher_holding_company LIKE 'Harper%') AS "publisher_holding_company"		
 				
from ezine_previews a 
inner join ezine_preview_categories b ON b.ezine_preview_category_number = a.ezine_preview_category_number
left join ezines c ON c.ezine_number = a.ezine_number

where ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3895

get_author_name (Datasource=bookbrowse_com_new, Time=8ms, Records=1) in /root/website/queries/qry_get_preview_by_id.cfm @ 07:39:44.044
SELECT author_number, 
        CASE WHEN datalength(author_middle_initial) > 0 then author_first_name + ' ' + author_middle_initial + '. ' + author_last_name
            ELSE author_first_name + ' ' + author_last_name
            END "author_name"
        FROM authors 
        WHERE author_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 2115

get_preview_awards_by_id (Datasource=bookbrowse_com_new, Time=10ms, Records=0) in /root/website/queries/qry_get_preview_awards_by_id.cfm @ 07:39:44.044
select a.book_award_number, a.book_award_name, a.book_award_image, c.book_award_dt
    from book_awards a 
    inner join book_awards_category b on b.book_award_number = a.book_award_number
    inner join book_awards_mapping c on c.book_awards_category_number = b.book_awards_category_number
    where ezine_preview_number =  ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3895

get_briefs_reader_rating (Datasource=bookbrowse_com_new, Time=219ms, Records=1) in /root/website/queries/qry_get_briefs_reader_rating.cfm @ 07:39:44.044
SELECT	(CAST(AVG(CAST(rating AS numeric(12,0))) AS numeric(12,0)))+
				(CASE WHEN right(CAST(AVG(CAST(rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
				 WHEN right(CAST(AVG(CAST(rating AS numeric(12,2))) AS numeric(12,2)),2) >= 50 AND right(CAST(AVG(CAST(rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
			ELSE 0
			END) AS "avrating",
            count(rating) as "ratcount"
            
	FROM (
		SELECT reader_review_rating AS rating
		FROM reader_reviews
		WHERE ezine_preview_number = ?
		
		AND reader_review_rating > 0
		
		UNION ALL
		
		SELECT reading_list_book_rating AS rating
		FROM reading_lists
		WHERE book_number LIKE 'p%'
		AND TRY_CAST(SUBSTRING(book_number, 2, LEN(book_number)) AS INT) = ?
		AND reading_list_book_rating > 0
		AND TRY_CAST(SUBSTRING(book_number, 2, LEN(book_number)) AS INT) IS NOT NULL
	) combined_ratings
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3895
Parameter #2(CF_SQL_INTEGER) = 3895

get_reader_reviews_by_preview_number (Datasource=bookbrowse_com_new, Time=67ms, Records=20) in /root/website/queries/qry_get_reader_reviews_by_preview_number.cfm @ 07:39:44.044
SELECT 		a.reader_review_number, a.book_number, a.ezine_preview_number, a.reader_review_approved_flag, a.reader_review_dt,
				COALESCE(NULLIF(LTRIM(RTRIM(m.discourse_username)), ''), NULLIF(LTRIM(RTRIM(a.reader_review_reviewer_name)), '')) AS reader_review_reviewer_name,
				a.reader_review_reviewer_email_address, a.reader_review_reviewer_from_locale, a.reader_review_recommended, a.reader_review_rating, a.reader_review_title, a.reader_review_description, ISNULL(a.like_count, 0) AS like_count,
    			b.ezine_preview_title,
    			ISNULL(e.edit_count, 0) AS edit_count,
    			e.last_edit_dt,
    			a.member_number AS review_member_number
    FROM 		reader_reviews a
    INNER JOIN	ezine_previews b ON a.ezine_preview_number = b.ezine_preview_number
    LEFT OUTER JOIN (
    	SELECT reader_review_number, COUNT(*) AS edit_count, MAX(edited_dt) AS last_edit_dt
    	FROM   reader_review_edits
    	GROUP BY reader_review_number
    ) e ON e.reader_review_number = a.reader_review_number
    LEFT OUTER JOIN members m ON m.member_number = a.member_number
	WHERE 		a.ezine_preview_number = ?
    AND			a.book_number = 0
    AND 		a.reader_review_approved_flag = 1
    

	ORDER BY a.reader_review_rating DESC, a.reader_review_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3895

get_arc_idfk (Datasource=bookbrowse_com_new, Time=10ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 07:39:44.044
SELECT 		a.arc_forumidfk,a.discourse_flag
    FROM 		arcs a
    INNER JOIN 	ezine_previews e on e.ezine_preview_number = a.ezine_preview_number
    
	
        WHERE 		e.ezine_preview_number = ? 
    AND DATALENGTH(a.arc_forumidfk) > 0 AND arc_obc_flag=1
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 3895

get_arc_idfk_legacy (Datasource=bookbrowse_com_new, Time=11ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 07:39:44.044
SELECT 		a.arc_forumidfk,a.discourse_flag
    FROM 		arcs a
    INNER JOIN 	ezine_previews e on e.ezine_preview_number = a.ezine_preview_number
    
	
        WHERE 		e.ezine_preview_number = ? 
    AND DATALENGTH(a.arc_forumidfk) > 0 AND arc_obc_flag=1 AND a.discourse_flag = 0
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 3895

obc_discussions (Datasource=booktalk_new, Time=201ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 07:39:45.045
SELECT 		t.name,
                m.title, m.body,
                u.username, t.id,
				(SELECT COUNT(*) from booktalk_messages where threadidfk = t.id) AS	"responses"
                
    FROM 		booktalk_forums f
    INNER JOIN	booktalk_threads t on t.forumidfk = f.id
    INNER JOIN	booktalk_messages m on m.posted = t.lastpostcreated
    INNER JOIN	booktalk_users u on u.id = m.useridfk
    
    WHERE 	f.id = ?
    AND 	f.active = 1
	AND		t.active = 1
    
    ORDER BY t.name, t.messages DESC
Query Parameter Value(s) -
Parameter #1(cf_sql_varchar) =

searchResults (Datasource=bookbrowse_com_new, Time=131ms, Records=1) in /root/website/queries/qry_get_discussion_by_id.cfm @ 07:39:45.045
SELECT book_number, post_id, topic_id, blurb, username, topic_title
					FROM DiscourseSearchResults
					
        WHERE 		book_number = ? 
                    AND topic_id IS NOT NULL
Query Parameter Value(s) -
Parameter #1(cf_sql_varchar) = p3895

ya_check (Datasource=bookbrowse_com_new, Time=18ms, Records=0) in /root/website/queries/qry_get_books_by_briefs_category.cfm @ 07:39:45.045
select ezine_preview_reading_level 
from ezine_previews 
where ezine_preview_number = ?
and ezine_preview_reading_level = 2
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3895

get_books_by_brief (Datasource=bookbrowse_com_new, Time=14ms, Records=20) in /root/website/queries/qry_get_books_by_briefs_category.cfm @ 07:39:45.045
select 			top 20
				a.ezine_preview_reading_level,
				b.category_name,
				c.category_number, 
				d.book_number, d.book_title,
				f.author_number, f.author_first_name, author_middle_initial, author_last_name
				
from 			ezine_previews a 
inner join		categories b on b.ezine_preview_category_number = a.ezine_preview_category_number
inner join		category_book_mapping c on c.category_number = b.category_number
inner join		books d on d.book_number = c.book_number
inner join		book_author_mapping e on e.book_number = d.book_number
inner join		authors f on f.author_number = e.author_number

where			a.ezine_preview_number = ? 

order by 		d.book_number DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3895

get_author_bookcount (Datasource=bookbrowse_com_new, Time=14ms, Records=1) in /root/website/queries/qry_get_author_bookcount.cfm @ 07:39:45.045
select		b.book_title as "title", 1 as "bb_flag", b.book_number as "number"
        from		book_author_mapping a
		inner join	books b on b.book_number = a.book_number
        where		a.author_number = ?
union
    	select		c.ezine_preview_title as "title", 0 as "bb_flag", c.ezine_preview_number as "number"
        from		ezine_previews c
        where		c.ezine_preview_bb_author_link = ?
        and			c.ezine_preview_bb_link = 0
		
order by title DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 2115
Parameter #2(CF_SQL_INTEGER) = 2115

get_obc_number (Datasource=bookbrowse_com_new, Time=10ms, Records=1) in /root/website/queries/qry_get_obc_number.cfm @ 07:39:45.045
select a.arc_forumidfk
    from arcs a
    
    	where a.ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(cf_sql_numeric) = 3895.0

existingResults (Datasource=bookbrowse_com_new, Time=140ms, Records=1) in /root/website/actions/udfs.cfm @ 07:39:45.045
SELECT id, last_updated
        FROM DiscourseSearchResults
        WHERE book_number = ?
        ORDER BY last_updated DESC
Query Parameter Value(s) -
Parameter #1(cf_sql_varchar) = p3895

get_ads (Datasource=bookbrowse_com_new, Time=29ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 07:39:45.045
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) = adzone3
Parameter #2(CF_SQL_VARCHAR) = 0
Parameter #3(CF_SQL_VARCHAR) = 0

get_ads (Datasource=bookbrowse_com_new, Time=18ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 07:39:45.045
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) = adzone3

get_member_account_types (Datasource=bookbrowse_com_new, Time=14ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 07:39:45.045
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_member_account_types (Datasource=bookbrowse_com_new, Time=19ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 07:39:45.045
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_ads (Datasource=bookbrowse_com_new, Time=14ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 07:39:45.045
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) = adzone11
Parameter #2(CF_SQL_VARCHAR) = 0
Parameter #3(CF_SQL_VARCHAR) = 0

get_ads (Datasource=bookbrowse_com_new, Time=11ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 07:39:45.045
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) = adzone11

get_bio (Datasource=bookbrowse_com_new, Time=52ms, Records=1) in /root/website/bb_briefs/detail/dsp_main.cfm @ 07:39:45.045
SELECT 	a.author_number, author_info_biography, author_info_image, author_info_copyright_info, author_info_interview, author_pronunciation, author_info_url
                        FROM 	author_info a
                        inner join authors b on b.author_number = a.author_number
                        WHERE 	a.author_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 2115

get_member_account_types (Datasource=bookbrowse_com_new, Time=39ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 07:39:45.045
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_liked_by_brief_id (Datasource=bookbrowse_com_new, Time=20ms, Records=5) in /root/website/queries/qry_get_liked_by_brief_id.cfm @ 07:39:45.045
SELECT
		ep.ezine_preview_title AS book_title,
		'p' + CAST(ep.ezine_preview_number AS VARCHAR) AS book_number,
		b.book_title AS "referenced_book_title",
		CAST(b.book_number AS VARCHAR) AS "liked_book_number",
		b.book_short_summary AS "liked_short_summary",
		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 "author_name",
		(select top 1 edition_publish_dt from editions where editions.book_number = b.book_number order by edition_publish_dt DESC) AS 'sortdate',
		(select count(*) from book_author_mapping m where m.author_number = d.author_number)
		+ (select count(*) from ezine_previews where ezine_preview_bb_author_link = d.author_number and ezine_preview_bb_link =0) AS 'liked_author_bookcount',
		0 AS 'is_brief'

	FROM 		liked a
	INNER JOIN	ezine_previews ep ON ep.ezine_preview_number = ?
		AND a.book_number = ep.ezine_preview_number
	INNER JOIN	books b ON b.book_number = a.liked_book_number
	INNER JOIN	book_author_mapping d ON d.book_number = b.book_number
	INNER JOIN	authors e ON e.author_number = d.author_number

	UNION

	
	SELECT
		ep.ezine_preview_title AS book_title,
		'p' + CAST(ep.ezine_preview_number AS VARCHAR) AS book_number,
		b.book_title AS "referenced_book_title",
		CAST(b.book_number AS VARCHAR) AS "liked_book_number",
		b.book_short_summary AS "liked_short_summary",
		CASE
			WHEN datalength(auth.author_middle_initial) > 0
			THEN auth.author_first_name + ' ' + auth.author_middle_initial + '. ' + auth.author_last_name
			ELSE auth.author_first_name + ' ' + auth.author_last_name
		END AS "author_name",
		(select top 1 edition_publish_dt from editions where editions.book_number = b.book_number order by edition_publish_dt DESC) AS 'sortdate',
		0 AS 'liked_author_bookcount',
		0 AS 'is_brief'

	FROM 		readalikes_cache rc
	INNER JOIN	ezine_previews ep ON ep.ezine_preview_number = ?
		AND rc.source_book_number = 'p' + CAST(ep.ezine_preview_number AS VARCHAR)
	INNER JOIN	books b ON b.book_number = rc.recommended_book_number
	INNER JOIN	book_author_mapping bam ON bam.book_number = b.book_number
	INNER JOIN	authors auth ON auth.author_number = bam.author_number

	ORDER BY 	sortdate desc, referenced_book_title
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 3895
Parameter #2(CF_SQL_INTEGER) = 3895

get_book_image (Datasource=bookbrowse_com_new, Time=29ms, Records=1) in /root/website/actions/udfs.cfm @ 07:39:45.045
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) = 4566

get_edition_info (Datasource=bookbrowse_com_new, Time=19ms, Records=1) in /root/website/actions/udfs.cfm @ 07:39:45.045
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_number_of_pages AS "hardcover_number_of_pages", f.edition_isbn13 "hardcover_isbn13", f.edition_publisher as "hardcover_publisher",
            g.edition_publish_dt "paperback_publish_dt", g.edition_number_of_pages AS "paperback_number_of_pages", g.edition_isbn13 "paperback_isbn13", g.edition_publisher as "paperback_publisher"
            
    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) = 4566

get_book_image (Datasource=bookbrowse_com_new, Time=37ms, Records=1) in /root/website/actions/udfs.cfm @ 07:39:45.045
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) = 4626

get_edition_info (Datasource=bookbrowse_com_new, Time=46ms, Records=1) in /root/website/actions/udfs.cfm @ 07:39:45.045
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_number_of_pages AS "hardcover_number_of_pages", f.edition_isbn13 "hardcover_isbn13", f.edition_publisher as "hardcover_publisher",
            g.edition_publish_dt "paperback_publish_dt", g.edition_number_of_pages AS "paperback_number_of_pages", g.edition_isbn13 "paperback_isbn13", g.edition_publisher as "paperback_publisher"
            
    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) = 4626

get_book_image (Datasource=bookbrowse_com_new, Time=42ms, Records=1) in /root/website/actions/udfs.cfm @ 07:39:45.045
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) = 3065

get_edition_info (Datasource=bookbrowse_com_new, Time=30ms, Records=1) in /root/website/actions/udfs.cfm @ 07:39:45.045
select 	f.edition_publish_dt "hardcover_publish_dt", f.edition_number_of_pages AS "hardcover_number_of_pages", f.edition_isbn13 "hardcover_isbn13", f.edition_publisher as "hardcover_publisher",
            g.edition_publish_dt "paperback_publish_dt", g.edition_number_of_pages AS "paperback_number_of_pages", g.edition_isbn13 "paperback_isbn13", g.edition_publisher as "paperback_publisher"
            
    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) = 3065

get_member_account_types (Datasource=bookbrowse_com_new, Time=22ms, Records=2) in /root/website/queries/qry_get_member_account_types.cfm @ 07:39:46.046
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=19ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 07:39:46.046
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=35ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 07:39:46.046
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=57ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 07:39:46.046
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=17ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 07:39:46.046
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=20ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 07:39:46.046
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=20ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 07:39:46.046
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 @ 07:39:46.046
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=16ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 07:39:46.046
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=29ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 07:39:46.046
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=18ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 07:39:46.046
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/bb_briefs/detail/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=CFGLOBALS=urltoken%3DCFID%23%3D4091720%26CFTOKEN%23%3Dd4c268a7723ffec%2D153AF85F%2DB348%2D27C6%2D0538BE4D92460FB5%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2007%3A39%3A44%27%7D%23hitcount%3D119%23timecreated%3D%7Bts%20%272026%2D06%2D01%2007%3A39%3A22%27%7D%23cftoken%3Dd4c268a7723ffec%2D153AF85F%2DB348%2D27C6%2D0538BE4D92460FB5%23cfid%3D4091720%23; FREEACCESSCOUNT=0; CFID=4091720; CFTOKEN=d4c268a7723ffec-153AF85F-B348-27C6-0538BE4D92460FB5; CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%23
HTTP_HOST=dev.bookbrowse.com
HTTP_REFERER=
HTTP_URL=
HTTP_USER_AGENT=Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
LOCAL_ADDR=127.0.0.1
PATH_INFO=/ezine_preview_number/3895/baking-cakes-in-kigali%20jacket
PATH_TRANSLATED=/root/website/bb_briefs/detail/index.cfm
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REMOTE_HOST=127.0.0.1
REMOTE_USER=
REQUEST_METHOD=GET
SCRIPT_NAME=/bb_briefs/detail/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=4091720
cftoken=d4c268a7723ffec-153AF85F-B348-27C6-0538BE4D92460FB5
hitcount=131
lastvisit={ts '2026-06-01 07:39:46'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 07:39:22'}
urltoken=CFID=4091720&CFTOKEN=d4c268a7723ffec-153AF85F-B348-27C6-0538BE4D92460FB5
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#=4091720&CFTOKEN#=d4c268a7723ffec-153AF85F-B348-27C6-0538BE4D92460FB5#lastvisit={ts '2026-06-01 07:39:44'}#hitcount=119#timecreated={ts '2026-06-01 07:39:22'}#cftoken=d4c268a7723ffec-153AF85F-B348-27C6-0538BE4D92460FB5#cfid=4091720#
CFID=4091720
CFTOKEN=d4c268a7723ffec-153AF85F-B348-27C6-0538BE4D92460FB5
FREEACCESSCOUNT=0
Session Variables:
cfid=4091720
cftoken=d4c268a7723ffec-153AF85F-B348-27C6-0538BE4D92460FB5
sessionid=BOOKBROWSE_4091720_d4c268a7723ffec-153AF85F-B348-27C6-0538BE4D92460FB5
urltoken=CFID=4091720&CFTOKEN=d4c268a7723ffec-153AF85F-B348-27C6-0538BE4D92460FB5
URL Parameters:
baking-cakes-in-kigali%20jacket=
ezine_preview_number=3895
Debug Rendering Time: 31 ms