What readers think of The Personal Librarian, plus links to write your own review.

Summary |  Excerpt |  Reading Guide |  Reviews |  Beyond the book |  Read-Alikes |  Genres & Themes |  Author Bio

The Personal Librarian by Marie Benedict, Victoria Christopher Murray

The Personal Librarian

by Marie Benedict, Victoria Christopher Murray
  • BookBrowse Review:
  • Critics' Consensus (7):
  • Readers' Rating (195):
  • First Published:
  • Jun 29, 2021, 352 pages
  • Paperback:
  • Jun 2022, 352 pages
  • Rate this book

About This Book

Reviews

Page 8 of 12
There are currently 89 reader reviews for The Personal Librarian
Order Reviews by:

Write your own review!

Theresa_P

The Personal Librarian is and was a winner!
Marie Benedict and Victoria Murray have provided a compelling tale of JP Morgan's personal librarian, Belle da Costa Greene. Benedict's novels have all won my admiration, but I commend her for working on this with Murray.
The story flows from Belle, whose most difficult task is to always appear as something she is not. It was a compelling read, beautifully crafted by the authors, who made sure her image and her reality both came through for the reader.
Belle was an incredible woman, doing a magnificent job of building an extensive private collection at Morgan's behest. Morgan demanded her devotion to his library, but often to him as well. Her success was all the more magnificent in that she was female, single, raised in a poor family while working with the richest in society, and hiding a secret--her race. Her failure to comport herself in a manner acceptable to Morgan would have cost her position. Discovery of her secret in any of her social interactions would also have consequences. Belle's vibrant personality sometimes made those steps a challenge.
Belle managed to become one of the most admired women of her time, all the while having to play the part that kept her employed and successful. I would nervously turn pages when I was afraid she had made a mistake she might not survive, and happily turn pages when I was cheering her progress.
A magnificent read!
Ruth C. (Charlotte, NC)

Experiencing life through Belle's narrative challenges what we think and want to believe…
You know that feeling you have after finishing a remarkable book. I last experienced that emotional high upon completing The Library Book by Susan Orlean. Now, gratefully again, when I closed the ARC of The Personal Librarian, I felt the same rush of excitement, treasuring the book I just read while wishing for more.

Marie Benedict and Victoria Christopher Murray collaborate on this fictional tale of Belle da Costa Greene, the young woman who became J. P. Morgan's personal librarian, in charge of his Pierpont Morgan Library.

This book is a compelling reading experience for a couple of reasons. First, the quality of the writing is seductive. You feel part of Belle's journey on every page, sharing her fear, joy, the pride of accomplishment, and walking the tightrope of a light-skinned black woman assuming the life of a white woman. Second, the historical detail, which includes references to the library's growing collection and the suffragette movement, is fascinating, deftly woven into the narrative. Third, the portrayal of Belle describes her as a courageous young woman determined to use her knowledge, skills, and talent to become who she wants to be. The authors are very skillful storytellers, as this novel demonstrates.

Finally, this book's last section is a historical note that speaks to what literary license may have been exercised while writing this account, along with personal statements from Marie and Victoria. The inclusion of this material and what is shared only underlines how unique this project has been.

As I said, The Personal Librarian is a remarkable book. The comfortable writing pulls you through the story. And the experiences that are shared – powerful, enlightening, and educational. Nothing compares to seeing life from another's perspective, but the life we feel from Belle's perspective provokes considerable thought.
Sherilyn_R

The Personal Librarian
This is the little known story of Bella da Costa Green and her life as personal librarian to J.P. Morgan. The story provides a fascinating look at the process of building and collecting a library of rare books, manuscripts and art. But, it is also the story of a beautiful, intelligent and witty black woman, living as white, pursuing a career in the affluent New York society of the gilded age.

Bella had to go to extraordinary lengths to protect her family, her secrets and Morgan's legacy while living as authentic a life as possible.

I loved this book and the manner in which the authors provides a glimpse into the life and times of both celebrities and common people of the day.

Reading this book against the backdrop of violence and racism expressed during the summer of 2020 made Bella's life and efforts even more compelling.

I would certainly recommend this book to a wide-range of readers, especially those who love historical fiction, art and above all books.
Power Reviewer
Joan V. (Miller Place, NY)

Living a Lie
Belle de Costa Green started life as Maude Greene; her mother changed the family's name after leaving her husband and moving to New York City. She foresaw the Jim Crow era as the post-Civil War era was beginning to change in the South. She felt the only way her light skinned children could succeed was for them to pass for white. "To be colored in America is a burden that I don't want them to have to shoulder." This was especially painful since her husband was an early civil rights author and activist.

And succeed they did. Three of the daughters became teachers, her son was an engineer and Belle became one of the most successful and famous working women of her time. She was the chief wage earner in the family.

The Gilded Age in America is a fascinating period and JP Morgan was one of the most important and influential men of his day. He single handily rescued the US Treasury Department; his wealth was staggering.

Belle started out working at the Princeton library and through Morgan's nephew secured the job of being Morgan's private librarian. The way she procured rare manuscripts for the library and pushed after Morgan's death to make sure it's contents were made available is a fascinating story.

However, the best part of the book for me was how she kept her race a secret. There were times when it was like reading a thriller; if her secret had been found out Belle's whole family would have been in jeopardy. She had to keep a constant vigil and be careful with all her personal relationships. New York's elite upper class of Vanderbilts, Astors and the like never would have accepted her.

It was also very poignant to see her feelings. She did not want to be white and was never happy denying her race. The writers manage to portray her emotional conflicts in a very passionate way.

There is so much to discuss in this book: art, history, fashion and especially race which is a timely subject. Although the book has two authors it is seamless and the two write with one clear voice.

I strongly suggest reading this book, it is fascinating historical fiction.
Janis_Harrington

A Reluctant 4
After I finished it, I felt happy that she is receiving the long overdue recognition that she deserves. She is a strong-willed and brilliant woman who walks among the high society of NYC's white women’s fashion world and the male dominated critics of the NYC art circle as one of their own: a highly educated and knowledgeable art buyer backed by J.P. Morgan. The only truth to the former statement is that she is not any of those beliefs except that she is backed by J.P. Morgan. She is "home-schooled" in Renaissance art by her father and her personal ability to transcend the adversity of being Black. Being fair-skinned her mother registers the family as White forcing the father, an earlier supporter of civil rights and the first man of color to graduate from Harvard, to leave the family and continue his advocacy of equality for all races elsewhere. According to the authors, Pierpont Morgan sees something special in her and hires her to be his personal librarian as soon as he meets her. She blossoms immediately to a force with which to be reckoned. She is quick witted, has a quick eye for forgeries and a quick tongue. Plus carrying the symbolic wallet of JP Morgan is a great aid. All that being said, I finished the book, but I have a serious problem with first person narratives. I disagree that the authors use this technique to make the reader feel closer to the character. After her assertiveness with JP Morgan during the interview, I did not care for her brashness. She alienated me. I read on because I had seen the library and decided that somehow she had done what she promised. I accepted the fact that she had to lie about her ethnicity to succeed, but then she mentions that her age is 27 not 23 as she leads everyone to believe. Yhus the unreliable first person narrative enters my mind, and I ask myself what else isn't the truth. Since she burns all of her papers at the end of the book and the author's admission that they filled in the blanks, I was slightly disappointed in her love affair with the art collector and Renaissance art authority, Bernard Berenson. The authors allowed it to take over the story and minimize the art she purchased for the library while she cavorted with Berenson in Europe. Again, since she burned all correspondence at the end and there contained no mention of her in any of Berenson's writing, I asked myself how much of her personal life is true. I still believe in what she achieved very much; I am just so exuberant as to how it was written.
Janie-Hickok-Siess

A Timely & Timeless Story That Has At Last Been Told
The Personal Librarian is a seamlessly related and meticulously crafted fictionalized account of the life of a woman who presented one identity to the world while hiding her true self because she "didn't want the color of her skin to be used as a weapon against her, an excuse to keep her relegated to the lowest jobs, the worst neighborhoods, with little possibility for a better life." It is a poignant, engrossing, timely and timeless story about the lengths to which one woman would go in order to rise above the constraints society placed on her and her family.

Belle's story is told via a first-person narrative, making it powerful and impactful. Authors Marie Benedict and Victoria Christopher Murray meticulously researched their subject but Belle was, of necessity and purposefully, intensely private. Based on the information available to them, Benedict and Murray have believably imagined and crafted conversations, as well as Belle's inner dialogue as she navigates the world. Belle was determined to succeed in a world designed to hold her back. Clever, calculating, witty, and beautiful, Belle was adept at using all of her assets to her advantage. She had to be. Because everything was at stake. And not just for her, but for her entire family because she supported them financially, enabling them to move to increasingly more comfortable apartments as Morgan generously increased her salary when she successfully procured the pieces he desired and elevated the library's stature.

Belle's father was not only the first Black graduate of Harvard University. He was also an activist, a contemporary of Frederick Douglass, Charles Sumner, and Booker T. Washington, known for his oration. But Belle's mother "saw the writing on the wall." When politicians began dismantling Reconstruction, her father lost his job as the first Black professor at the integrated University of South Carolina and the school was converted to a whites-only private men's college. She explains to Belle, "Your father and I lived through a brief, fleeting time in history when equality might have been possible." But the "lofty postwar ideal of integration" evaporated, the world comprised only of "black and white, two races separated, but certainly not equally." She recognized what Belle's father refused to: "Our only hope would be to live as white." And so they did.

But when Belle's mother reported to a 1905 census worker that the family was white, her father was infuriated to the breaking point and left. "Once she made the decision that they were going to live as white, she changed their names, she told them how they had to behave and, from the age of sixteen on, Belle was walking the footsteps her mother laid out for her," explains Murray. Indeed, throughout the book, Belle is "walking a tightrope" and struggling to reconcile her guilt with her ambition. She "felt that she was betraying her father but also helping black people." Belle secretly knew that her achievements were, in fact, the achievements of a a woman but, more particularly, a Black woman. Even if the world did not. Yet.

Belle was a woman compiling a vast and priceless collection of rare books, manuscripts, and art, an unparalleled accomplishment. She traveled abroad and skillfully negotiated to purchase artifacts she deemed necessary to elevate the library to unmatched esteem. But she did so in the employ of J. P. Morgan (1837-1913), a man of vast wealth and power who financed railroads and helped organize U.S. Steel, General Electric, and other major corporations. He was demanding and unforgiving, an anti-Semite who reminded Belle that she was emhis/em personal librarian, sometimes treating her like she was yet another of his possessions. Or worse, in Belle's mind, a slave. They disagreed and quarreled, but she strove to avoid angering or embarrassing him, aware that he would fire her instantly were her secret revealed, bringing ruin upon her entire family. Belle revered him and he was drawn to her -- based on their research, Benedict and Murray suggest a sexual tension between them. He came to consider her the most important person in his life, providing generously for her in his will.

Benedict and Murray effectively portray the evolution of their complex relationship, as well as Belle's interactions with Morgan's mistresses and children, especially his daughter Anne. Unmarried, Anne was rumored to be in a "Boston marriage," a euphemism for wealthy women who chose to eschew marriage to live independently and, perhaps, enjoy an intimate relationship. Their fractious encounters cause Belle concern, especially when Anne makes references to her "people," and questions her background, snidely telling Belle, "I though I heard something about your family having tropical roots." Belle shrewdly leverages the rumors about Anne to her advantage and relates the story that Belle's mother devised about Belle's grandmother hailing from Portugal to explain Belle's olive skin tone. It appeases Anne for a time, as it does others who inquires.

Belle never married, but she did have a decades-long relationship with Bernard Berenson, an expert on Renaissance-era art, which is explored in depth. It is both a heartbreaking and empowering aspect of Belle's life, as depicted by the authors. As a young woman, Belle was forced to accept that marriage and motherhood would not be in her future. She says, "I've always known that, because of my heritage, a traditional relationship would not be possible for me ... because a marriage means children, and that is something I cannot hazard. Without the fairer skin of my siblings, I could never risk bearing a child whose skin color might reveal my deception." But Belle wanted to experience love and romance, and in Benedict and Murray's telling of the story, although she had other lovers, she gets the opportunity to feel loved through Berenson, a man in an unconventional marriage with other secrets of his own. Like her relationship with Morgan, Belle's affair with Berenson changes her profoundly.

How did Belle manage to pass for so many years, her secret never revealed? Murray believes that she would certainly never be able to pull it off today. But in the Gilded Age "to white people she looked white, but to black people, she looked black because of their features." As part of her deception, Belle was taught by her mother never to make eye contact with African Americans employed in service positions. There are times in the story, however, when Belle knows she has been seen by waiters and others, although they do not give her away. After one such encounter, Belle wonders, "Why does she serve while I am served? Why is it that the relative whiteness of my skin has given me this chance at privilege? It seems incomprehensible, but it is thus." Such details included in the narrative illustrate the complicated life Belle led -- always calculating, looking over her shoulder, and devising plausible explanations, constantly afraid that someone who knew the truth about her and her family would reveal it.

Of all of her accomplishments, the one that mattered most to Belle was making two men proud of her -- Morgan and her father -- for very different reasons. Her father's departure from the family impacted Belle deeply because of their close relationship and his tutelage about art and other subjects. Eventually, because of her notoriety, Belle dares not be seen with him in New York, so she is not able to personally show him her life's work. She knows his words are true: "Changing your name is easy. Changing your soul is impossible." She dreams of reinventing herself yet again and ponders coming forward with the truth in order to serve as an example to other Black people. But she never did.

The Personal Librarian is Belle's story, told in a compelling, engrossing, and richly moving manner that provides insight into and appreciation for Belle's triumphs, as well as sacrifices, as she strove to achieve her goals in the only way possible to her at the time. As he father tells her in a conversation imagined by Benedict and Murray, "One day, Belle, we will be able to reach back through the decades and claim you as one of our own. Your accomplishments will be part of history, they'll show doubtful white people what colored can do. Until that time, live your life proudly."

Benedict and Murray hope that readers, especially book club members, will reach out to each other and use the book to launch conversations about race in a way that feels safe.

Thanks to NetGalley for an Advance Reader's Copy of the book.
Barbara P. (Mountain Center, CA)

So much I didn't know
I had never heard of Belle de Costa Greene. I knew of the JP Morgan Library, but I had no idea of the woman behind library or her fascinating story. It is so appropriately a book for our time - spanning the time from the Civil War to the 1940's, as they enveloped the story of Belle's parents and how she came to live the secret life she chose. I enjoyed this book and recommend to everyone who loves art and literature, as well as social challenges and changes.
Erica M. (Chicago, IL)

Secrets can color our lives
As someone who has lived with a family secret for almost 40 years, Belle's hiding the fact that she was fair enough to pass as white, despite the fact that she was "colored" resonated with me. I felt that the characters were well-drawn, but thought that the book moved very slowly from major issue to major issue without sufficient build-up to propel the story forward. There were times I felt as though I was continuing the work because I had committed to writing a review. In the end, I felt it was worth the effort, I just wished an editor had pared it down a bit.

Beyond the Book:
  Belle da Costa Greene

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

The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people ...

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 /reader_reviews/index.cfm
Time Stamp 01-Jun-26 02:58 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
1780282715200 ms 1.7802827152E+012 ms 1 /root/website/app_server.cfm
1252 ms 1252 ms 1 /root/website/reader_reviews/index.cfm
292 ms 292 ms 1 /root/website/queries/qry_get_book_by_id.cfm
214 ms 214 ms 1 /root/website/app_globals.cfm
214 ms 214 ms 1 /root/website/app_layout.cfm
204 ms 204 ms 1 /root/website/queries/qry_get_discussion_by_id.cfm
160 ms 160 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
82 ms 82 ms 1 /root/website/queries/qry_get_free_flag_by_book_id.cfm
76 ms 76 ms 1 /root/website/reader_reviews/dsp_bookshell.cfm
73 ms 37 ms 2 /root/website/adsystem/adsystem_mod.cfm
73 ms 73 ms 1 /root/website/queries/qry_get_active_obc.cfm
60 ms 60 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
59 ms 59 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
52 ms 52 ms 1 /root/website/queries/qry_get_current_competition.cfm
51 ms 51 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
49 ms 49 ms 1 /root/website/site/blocks/dsp_top_book_block.cfm
45 ms 45 ms 1 /root/website/adzones/AdZone6.cfm
35 ms 35 ms 1 /root/website/queries/qry_get_ezine_by_book_id.cfm
34 ms 34 ms 1 /root/website/queries/qry_get_book_awards_by_book_id.cfm
29 ms 29 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
28 ms 28 ms 1 /root/website/adzones/showcase_track.cfm
28 ms 28 ms 1 /root/website/queries/qry_get_reader_reviews_by_book_id.cfm
27 ms 27 ms 1 /root/website/actions/adstatus.cfm
22 ms 22 ms 1 /root/website/reader_reviews/dsp_reviews.cfm
21 ms 21 ms 1 /root/website/act_check_login.cfm
21 ms 21 ms 1 /root/website/queries/qry_get_member_info.cfm
20 ms 20 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
19 ms 19 ms 1 /root/website/queries/qry_get_liked_by_book_id.cfm
18 ms 6 ms 3 /root/website/actions/act_spider_tracker.cfm
13 ms 13 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
11 ms 11 ms 1 /root/website/queries/qry_get_categories_by_book_id.cfm
9 ms 9 ms 1 /root/website/queries/qry_get_author_bookcount.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/email_modal.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/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/queries/qry_get_reader_reviews_power_reviewers.cfm
0 ms 0 ms 1 /root/website/reader_reviews/dsp_views.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_border_booktalk.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_closed_about.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_closed_awards.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_closed_btb.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_closed_readalikes.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/layout/google_tags.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/head.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/header_announcement.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_menu.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/main_search.cfm
0 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
1252 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


Exceptions

02:58:36.036 - Expression Exception - in /root/website/site/blocks/dsp_top_book_block.cfm : line 237
	    Variable BOOK_NUMBER is undefined.
	    


SQL Queries

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

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

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

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

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

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

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

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

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

	AND 		getdate() < arc_on_ad_dt
	
		ORDER BY  	NEWID()
get_active_obc (Datasource=bookbrowse_com_new, Time=32ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 02:58:35.035
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE 		a.arc_obc_flag = 1
	AND			a.arc_active_flag = 0
	AND 		arc_closed_flag = 1
	AND 		getdate() >= arc_on_ad_dt
	AND 		getdate() < arc_off_ad_dt
	ORDER BY  	NEWID()
get_recent_obc (Datasource=bookbrowse_com_new, Time=23ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 02:58:35.035
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE a.arc_number IN (select top 4 arc_number
							from		arcs
							WHERE 		arc_obc_flag = 1
							AND			arc_active_flag = 0
							AND 		arc_closed_flag = 1
							AND 		getdate() > arc_off_ad_dt
							ORDER BY	arc_on_ad_dt DESC)
	ORDER BY  	NEWID()
get_book_number (Datasource=bookbrowse_com_new, Time=24ms, Records=0) in /root/website/reader_reviews/index.cfm @ 02:58:35.035
SELECT 	ezine_preview_bb_link, ezine_preview_title
		FROM 	ezine_previews
		WHERE 	ezine_preview_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0

get_reader_reviews_power_reviewers (Datasource=bookbrowse_com_new, Time=0ms, Records=50, Cached Query) in /root/website/queries/qry_get_reader_reviews_power_reviewers.cfm @ 02:58:35.035
SELECT 		top 50 reader_review_reviewer_email_address, count(reader_review_reviewer_email_address) as "count"
	FROM 		reader_reviews
	WHERE 		reader_review_reviewer_email_address like '%@%'
	AND 		reader_review_reviewer_email_address <> 'reviews@bookbrowse.com'
	GROUP BY 	reader_review_reviewer_email_address
	
	
	ORDER BY 	count desc
get_book_by_id (Datasource=bookbrowse_com_new, Time=32ms, Records=2) in /root/website/queries/qry_get_book_by_id.cfm @ 02:58:35.035
SELECT		a.book_number, a.book_title, a.book_sub_title, a.book_url, a.book_entry_dt, a.book_short_summary, a.book_excerpt, a.book_jacket_info, a.book_reading_guide, a.book_copyright_info, a.book_notes,
            	b.author_number, b.author_first_name, b.author_last_name, b.author_middle_initial,
            	f.edition_publish_dt AS "hardcover_publish_dt", f.edition_number_of_pages AS "hardcover_number_of_pages", f.edition_isbn AS "hardcover_isbn", f.edition_isbn13 "hardcover_isbn13", f.edition_jacket_image as "hardcover_jacket_image", f.edition_publisher as "hardcover_publisher",
            	g.edition_publish_dt AS "paperback_publish_dt", g.edition_number_of_pages AS "paperback_number_of_pages", g.edition_isbn AS "paperback_isbn", g.edition_isbn13 "paperback_isbn13", g.edition_jacket_image as "paperback_jacket_image", g.edition_publisher as "paperback_publisher",
            	i.author_info_interview, i.author_info_biography,i.author_info_image,
            	CASE WHEN datalength(author_middle_initial) = 1 THEN author_first_name + ' ' + author_middle_initial + ' ' + author_last_name
            		 ELSE author_first_name + ' ' + author_last_name
            		 END "author_name",
            	CASE WHEN 
					(select count(*) from editions where book_number = 4364) = 1
					AND
					(select count(*) from editions where book_number = 4364 and edition_paperback_flag = 1) = 1
				THEN 1
				ELSE 0
				END AS "po_flag",
				(select count(*) from book_author_mapping m where m.author_number = b.author_number)
				+
				(select count(*) from ezine_previews where ezine_preview_bb_author_link = b.author_number and ezine_preview_bb_link =0)
				 as 'author_bookcount',
            	(SELECT CAST(AVG(CAST(rating AS decimal(12,0))) AS decimal(12,1))
				FROM (
					SELECT reader_review_rating AS rating
					FROM reader_reviews
					WHERE book_number = a.book_number
					AND reader_review_rating > 0
					
					UNION ALL
					
					SELECT reading_list_book_rating AS rating
					FROM reading_lists
					WHERE book_number = CAST(a.book_number AS VARCHAR)
					AND reading_list_book_rating > 0
				) combined_ratings
			) "savrating",
			(SELECT COUNT(rating)
				FROM (
					SELECT reader_review_rating AS rating
					FROM reader_reviews
					WHERE book_number = a.book_number
					AND reader_review_rating > 0
					
					UNION ALL
					
					SELECT reading_list_book_rating AS rating
					FROM reading_lists
					WHERE book_number = CAST(a.book_number AS VARCHAR)
					AND reading_list_book_rating > 0
				) combined_ratings
			) as "savrating_count",
            	(select top 1 media_review_rating from media_reviews where book_number = a.book_number and media_review_type_number = 9) as "bbrating",
            	(select cast(AVG(CAST(media_review_rating AS numeric(12,2)))AS decimal(12,1)) from media_reviews where book_number = a.book_number and media_review_type_number <> 7 and media_review_rating > 0) "scritrating",
				(SELECT COUNT(media_review_rating) FROM media_reviews WHERE book_number = a.book_number AND media_review_type_number <> 7 AND media_review_rating > 0) as "scritrating_count",
            	(select top 1 gg.ezine_number from ezine_edition_mapping aa, editions bb, books cc, ezines gg            	
            	where aa.edition_number = bb.edition_number and bb.book_number = cc.book_number and aa.ezine_number = gg.ezine_number 
            	and cc.book_number = a.book_number and gg.ezine_bbsays_flag = 1 and gg.ezine_active_flag = 1) as "ezine_number",
				cgm.category_number,
				cgya.category_number AS "ya_flag"
				
,(select top 1 publisher_holding_company from publishers where (publisher_imprint like f.edition_publisher OR publisher_imprint like g.edition_publisher) AND publisher_holding_company LIKE 'Harper%') AS "publisher_holding_company"		
        
    FROM		books a 
    INNER JOIN	book_author_mapping c ON c.book_number = a.book_number
    INNER JOIN	authors b ON b.author_number = c.author_number  
    INNER JOIN	author_info i ON i.author_number = b.author_number
    
    LEFT JOIN	editions f ON f.book_number = a.book_number AND f.edition_paperback_flag = 0
    LEFT JOIN	editions g ON g.book_number = a.book_number AND g.edition_paperback_flag = 1
    LEFT JOIN	category_book_mapping cgm on cgm.book_number = a.book_number AND cgm.category_number = 48
    LEFT JOIN	category_book_mapping cgya on cgya.book_number = a.book_number AND cgya.category_number = 40
          
    WHERE 		a.book_number = ?
         
    ORDER BY	c.book_author_mapping_number
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=258ms, Records=10) in /root/website/queries/qry_get_book_by_id.cfm @ 02:58:35.035
SELECT		a.media_review_number, 
				a.book_number, 
				a.media_review_type_number, 
				a.media_review_title, 
				a.media_review_rating, 
				a.media_review, 
				a.media_review_old,
	
				CASE WHEN a.media_review_type_number = 9 THEN 	(select top 1 (case when dbo.WordCount(c.ezine_review_2) > 0 then dbo.WordCount(c.ezine_review_2) + dbo.WordCount(c.ezine_extras) 
                                                                                    else dbo.WordCount(c.ezine_review) 
                                                                                    end)
                                                                from ezine_edition_mapping c
                                                                INNER JOIN editions d ON (d.edition_number = c.edition_number)
                                                                INNER JOIN ezines e ON e.ezine_number = c.ezine_number
                                                                WHERE d.book_number = ?
                                                                
                                                                ORDER BY e.ezine_number ASC)
	 			ELSE 0 
	 			END  "wordc",
				
				CASE WHEN a.media_review_type_number = 9 THEN 	(select top 1 reviewer_number
		 														 from ezine_edition_mapping c
		 														 INNER JOIN editions d ON (d.edition_number = c.edition_number)
																 INNER JOIN ezines e ON e.ezine_number = c.ezine_number
		 														 WHERE d.book_number = ?
		 														 AND e.ezine_bbsays_flag = 1
																 ORDER BY d.edition_publish_dt DESC)
	 			ELSE 1
				END "reviewer_number",
				
				CASE WHEN a.media_review_type_number = 9 THEN 	(select top 1 reviewer_first_name + ' ' + reviewer_last_name AS "reviewer_name"
		 														 from ezine_edition_mapping c
		 														 INNER JOIN editions d ON (d.edition_number = c.edition_number)
																 INNER JOIN ezines e ON e.ezine_number = c.ezine_number
																 INNER JOIN reviewers r on r.reviewer_number = c.reviewer_number
		 														 WHERE d.book_number = ?
		 														 AND e.ezine_bbsays_flag = 1
																 ORDER BY d.edition_publish_dt DESC)
	 			END "reviewer_name"
	
	FROM		media_reviews a, media_review_types b
	
	WHERE		a.book_number IN (select distinct c.book_number from categories a, category_book_mapping b, book_author_mapping c where a.category_number = b.category_number and a.category_active_flag = 1 and b.book_number = c.book_number)
	AND			a.book_number = ?
	AND			a.media_review_type_number = b.media_review_type_number
	
	ORDER BY	b.media_review_type_sort_order ASC, media_review_rating DESC, media_review_title ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276
Parameter #2(CF_SQL_INTEGER) = 4276
Parameter #3(CF_SQL_INTEGER) = 4276
Parameter #4(CF_SQL_INTEGER) = 4276

get_reader_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=27ms, Records=89) in /root/website/queries/qry_get_reader_reviews_by_book_id.cfm @ 02:58:35.035
select 		a.reader_review_number, a.book_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.book_title,
    			ISNULL(e.edit_count, 0) AS edit_count,
    			e.last_edit_dt,
    			a.member_number AS review_member_number
    from 		reader_reviews a
    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,
    			books b
    where 		a.book_number IN (select distinct c.book_number from categories a, category_book_mapping b, book_author_mapping c where a.category_number = b.category_number and a.category_active_flag = 1 and b.book_number = c.book_number)
    and 		a.book_number = ?
    and 		a.reader_review_approved_flag = 1
    and 		a.book_number = b.book_number
    

	order by a.reader_review_rating DESC, a.reader_review_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

get_book_awards_by_book_id (Datasource=bookbrowse_com_new, Time=15ms, Records=0) in /root/website/queries/qry_get_book_awards_by_book_id.cfm @ 02:58:35.035
select 		c.book_awards_category_number, c.book_awards_category_name, c.book_awards_category_sort_order,
				m.book_awards_mapping_number, m.book_award_dt,
                a.book_award_number, a.book_award_image, a.book_award_name
                
                
	from 		book_awards_mapping m
	inner join 	book_awards_category c on c.book_awards_category_number = m.book_awards_category_number
    inner join	book_awards a on a.book_award_number = c.book_award_number
    
	where 		m.book_number = ?
    
    order by	c.book_awards_category_sort_order ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

get_bb_runner_ups (Datasource=bookbrowse_com_new, Time=17ms, Records=1) in /root/website/queries/qry_get_book_awards_by_book_id.cfm @ 02:58:35.035
select	book_number
    
    from	category_book_mapping a, categories b, top_categories t
    
    where	t.top_category_number = b.top_category_number
    and		b.category_number = a.category_number
    and		t.top_category_number = 9
    and		a.book_number = ?
    and		b.category_visible_flag = 1
	and		a.book_number not in (	select book_number 
    									from 		book_awards_mapping m
													inner join 	book_awards_category c on c.book_awards_category_number = m.book_awards_category_number
    												inner join	book_awards a on a.book_award_number = c.book_award_number
                                    	where m.book_number = ? 
                                    	and a.book_award_number = 7)
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276
Parameter #2(CF_SQL_INTEGER) = 4276

get_liked_by_book_id (Datasource=bookbrowse_com_new, Time=18ms, Records=4) in /root/website/queries/qry_get_liked_by_book_id.cfm @ 02:58:35.035
SELECT 		b.book_title, b.book_number,
    			c.book_title "referenced_book_title", c.book_number AS "liked_book_number", c.book_short_summary as "liked_short_summary",
            	e.*,
                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 = c.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'
                
	FROM 		liked a
	INNER JOIN	books b ON b.book_number = a.book_number
	INNER JOIN	books c ON c.book_number = a.liked_book_number
	INNER JOIN	book_author_mapping d ON c.book_number = d.book_number
	INNER JOIN	authors e ON d.author_number = e.author_number
    
    WHERE 		a.book_number = ?
    
	ORDER BY 	sortdate desc, c.book_title
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

get_categories_by_book_id (Datasource=bookbrowse_com_new, Time=9ms, Records=10) in /root/website/queries/qry_get_categories_by_book_id.cfm @ 02:58:35.035
select 		distinct a.category_number, a.top_category_number, a.category_name, a.category_description, a.category_meta_keywords, a.category_active_flag, a.category_visible_flag, a.category_member_only_flag, a.category_qry_template, a.category_sort_order, a.category_tag_size,
    			b.*
	
    from 		categories a
	left join	top_categories b on a.top_category_number = b.top_category_number
	left join	category_book_mapping c on c.category_number = a.category_number
	
    where 		a.category_active_flag = 1
    and 		a.category_visible_flag = 1
	and 		c.book_number = ?
	

    order by 	b.top_category_sort_order, b.top_category_name, a.category_sort_order, a.category_name
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

bb_review (Datasource=, Time=0ms, Records=1) in /root/website/reader_reviews/index.cfm @ 02:58:35.035
SELECT media_review, reviewer_number from get_media_reviews_by_book_id where media_review_type_number = 9
get_arc_idfk (Datasource=bookbrowse_com_new, Time=11ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 02:58:35.035
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_bb_link = ? 
    AND DATALENGTH(a.arc_forumidfk) > 0 AND arc_obc_flag=1
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 4276

get_arc_idfk_legacy (Datasource=bookbrowse_com_new, Time=14ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 02:58:35.035
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_bb_link = ? 
    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) = 4276

obc_discussions (Datasource=booktalk_new, Time=109ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 02:58:35.035
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=66ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 02:58:36.036
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) = 4276

get_ezine_type (Datasource=bookbrowse_com_new, Time=14ms, Records=1) in /root/website/queries/qry_get_ezine_by_book_id.cfm @ 02:58:36.036
SELECT a.ezine_type_number
	FROM ezines a
	WHERE a.ezine_number = 1
get_ezine_by_book_id (Datasource=bookbrowse_com_new, Time=19ms, Records=1) in /root/website/queries/qry_get_ezine_by_book_id.cfm @ 02:58:36.036
SELECT TOP 1  
                a.ezine_short_title, a. ezine_boxed_content_title, a.ezine_boxed_content, a.ezine_review, a.ezine_review_2,
                b.edition_paperback_flag, b.edition_publish_dt, b.edition_isbn,
                c.book_title, c.book_sub_title, c.book_reading_guide, c.book_excerpt, c.book_number,
                e.author_first_name, e.author_middle_initial, e.author_last_name, e.author_number, 
                f.author_info_biography, 
                g.ezine_number, g.ezine_dt, g.ezine_bbsays_flag,
				i.article_category_number, i.article_category_name
		
	FROM    	ezine_edition_mapping AS a 
		
	INNER JOIN 	editions AS b ON (a.edition_number = b.edition_number)
	INNER JOIN 	books AS c ON (b.book_number = c.book_number )
	INNER JOIN 	book_author_mapping AS d ON (c.book_number = d.book_number )
	INNER JOIN 	authors AS e ON (d.author_number = e.author_number )
	INNER JOIN 	author_info AS f ON (e.author_number = f.author_number)
	INNER JOIN 	ezines AS g ON (a.ezine_number = g.ezine_number)
	LEFT JOIN	article_ezine_edition_mapping h ON h.ezine_edition_mapping_number = a.ezine_edition_mapping_number
	LEFT JOIN	article_categories i ON i.article_category_number = h.article_category_number

	WHERE		c.book_number = ?
	AND			g.ezine_bbsays_flag = 1
	AND			g.ezine_active_flag = 1
	
	
	ORDER BY 		g.ezine_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

check_permalink (Datasource=bookbrowse_com_new, Time=16ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 02:58:36.036
SELECT 	count(*) as "count"
    FROM 	books
    WHERE 	book_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0

check_editors_choice (Datasource=bookbrowse_com_new, Time=15ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 02:58:36.036
SELECT 	count(*) as "count"
    FROM 	books
    WHERE 	book_number = ?
    AND		book_number IN (SELECT		top 4 a.book_number
                            FROM		editors_choice a 
                            WHERE		editors_choice_dt < getdate()
                            ORDER BY	editors_choice_dt DESC)
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

check_free_ezine (Datasource=bookbrowse_com_new, Time=10ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 02:58:36.036
SELECT 		count(*) as "count"
    FROM    	ezine_edition_mapping AS a
    INNER JOIN 	ezines b ON b.ezine_number = a.ezine_number
    INNER JOIN	editions c ON c.edition_number = a.edition_number
    WHERE 		c.book_number = ?
	AND			ezine_edition_free_review_flag = 1
	AND			dateadd(ww,4,b.ezine_dt) > getdate()
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

check_cat_73 (Datasource=bookbrowse_com_new, Time=8ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 02:58:36.036
SELECT 		count(*) as "count"
    FROM    	books AS b
    INNER JOIN 	category_book_mapping AS c ON c.book_number = b.book_number
    WHERE 		b.book_number = ?
	AND			c.category_number = 73
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

get_ezine_status (Datasource=bookbrowse_com_new, Time=9ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 02:58:36.036
SELECT 	top 1 g.ezine_active_flag, ezine_dt, book_title
FROM		ezine_edition_mapping AS a 
INNER JOIN	editions AS b ON (a.edition_number = b.edition_number)
INNER JOIN	books AS c ON (b.book_number = c.book_number)
INNER JOIN	ezines AS g ON (a.ezine_number = g.ezine_number)
WHERE		c.book_number = ?
ORDER BY	g.ezine_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

check_old_ezine (Datasource=bookbrowse_com_new, Time=12ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 02:58:36.036
SELECT 		count(*) as "count"
    FROM    	ezine_edition_mapping AS a
    INNER JOIN 	ezines b ON b.ezine_number = a.ezine_number
    INNER JOIN	editions c ON c.edition_number = a.edition_number
    WHERE 		c.book_number = ?
	AND			datediff(mm,b.ezine_dt,getdate()) > 12
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

get_ezine_status (Datasource=bookbrowse_com_new, Time=6ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 02:58:36.036
SELECT 	top 1 g.ezine_active_flag, ezine_dt, book_title
FROM		ezine_edition_mapping AS a 
INNER JOIN	editions AS b ON (a.edition_number = b.edition_number)
INNER JOIN	books AS c ON (b.book_number = c.book_number)
INNER JOIN	ezines AS g ON (a.ezine_number = g.ezine_number)
WHERE		c.book_number = ?
ORDER BY	g.ezine_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

get_author_bookcount (Datasource=bookbrowse_com_new, Time=8ms, Records=6) in /root/website/queries/qry_get_author_bookcount.cfm @ 02:58:36.036
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) = 3310
Parameter #2(CF_SQL_INTEGER) = 3310

get_coauthor (Datasource=bookbrowse_com_new, Time=10ms, Records=2) in /root/website/actions/udfs.cfm @ 02:58:36.036
select 		book_number, 
            			CASE	WHEN datalength(d.author_middle_initial) > 1 
				                THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
				                ELSE d.author_first_name + ' ' + d.author_last_name
                        END "author",
                        d.author_number
            from		book_author_mapping e
            inner join	authors d ON e.author_number = d.author_number
            where		e.book_number = ?
			order by	book_author_mapping_number ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

get_book_image (Datasource=bookbrowse_com_new, Time=12ms, Records=1) in /root/website/actions/udfs.cfm @ 02:58: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) = 4276

get_book_image (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/actions/udfs.cfm @ 02:58: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) = 4276

get_coauthor (Datasource=bookbrowse_com_new, Time=13ms, Records=2) in /root/website/actions/udfs.cfm @ 02:58:36.036
select 		book_number, 
            			CASE	WHEN datalength(d.author_middle_initial) > 1 
				                THEN d.author_first_name + ' ' + d.author_middle_initial + ' ' + d.author_last_name
				                ELSE d.author_first_name + ' ' + d.author_last_name
                        END "author",
                        d.author_number
            from		book_author_mapping e
            inner join	authors d ON e.author_number = d.author_number
            where		e.book_number = ?
			order by	book_author_mapping_number ASC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 4276

IsPowerReviewer (Datasource=, Time=0ms, Records=0) in /root/website/reader_reviews/dsp_reviews.cfm @ 02:58:36.036
select *
			from get_reader_reviews_power_reviewers
			where reader_review_reviewer_email_address LIKE 'Terrypullman@gmail.com'
IsPowerReviewer (Datasource=, Time=0ms, Records=0) in /root/website/reader_reviews/dsp_reviews.cfm @ 02:58:36.036
select *
			from get_reader_reviews_power_reviewers
			where reader_review_reviewer_email_address LIKE 'recnc@bellsouth.net'
IsPowerReviewer (Datasource=, Time=1ms, Records=0) in /root/website/reader_reviews/dsp_reviews.cfm @ 02:58:36.036
select *
			from get_reader_reviews_power_reviewers
			where reader_review_reviewer_email_address LIKE 'Ranstrom1055@yahoo.com'
IsPowerReviewer (Datasource=, Time=1ms, Records=1) in /root/website/reader_reviews/dsp_reviews.cfm @ 02:58:36.036
select *
			from get_reader_reviews_power_reviewers
			where reader_review_reviewer_email_address LIKE 'slainte7@hotmail.com'
IsPowerReviewer (Datasource=, Time=1ms, Records=0) in /root/website/reader_reviews/dsp_reviews.cfm @ 02:58:36.036
select *
			from get_reader_reviews_power_reviewers
			where reader_review_reviewer_email_address LIKE 'aharring00@comcast.net'
IsPowerReviewer (Datasource=, Time=0ms, Records=0) in /root/website/reader_reviews/dsp_reviews.cfm @ 02:58:36.036
select *
			from get_reader_reviews_power_reviewers
			where reader_review_reviewer_email_address LIKE 'jhsreads@comcast.net'
IsPowerReviewer (Datasource=, Time=0ms, Records=0) in /root/website/reader_reviews/dsp_reviews.cfm @ 02:58:36.036
select *
			from get_reader_reviews_power_reviewers
			where reader_review_reviewer_email_address LIKE 'Parker.barbaraann@gmail.com'
IsPowerReviewer (Datasource=, Time=0ms, Records=0) in /root/website/reader_reviews/dsp_reviews.cfm @ 02:58:36.036
select *
			from get_reader_reviews_power_reviewers
			where reader_review_reviewer_email_address LIKE 'erica.minchella@gmail.com'
get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=18ms, Records=0) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 02:58: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=39ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 02:58: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=23ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 02:58: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=17ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 02:58: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=1ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 02:58: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=51ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 02:58: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 @ 02:58:36.036
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=15ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 02:58: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=8ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 02:58: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=1ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 02:58: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/reader_reviews/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%3D4083249%26CFTOKEN%23%3De7b097dd7b9125c4%2D0B2ED023%2DB048%2D2534%2D6EA7FF8FAA6F7F57%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2002%3A58%3A35%27%7D%23hitcount%3D35%23timecreated%3D%7Bts%20%272026%2D06%2D01%2002%3A58%3A25%27%7D%23cftoken%3Ddba1c5fc366cbda%2D0B2EB9D0%2D9AFB%2D3B85%2D59877065CEABF95C%23cfid%3D4083244%23; CFTOKEN=e7b097dd7b9125c4-0B2ED023-B048-2534-6EA7FF8FAA6F7F57; FREEACCESSCOUNT=0; CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%23; CFID=4083249
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=/book_number/4276/page/8/order/bw/the-personal-librarian
PATH_TRANSLATED=/root/website/reader_reviews/index.cfm
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REMOTE_HOST=127.0.0.1
REMOTE_USER=
REQUEST_METHOD=GET
SCRIPT_NAME=/reader_reviews/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=4083244
cftoken=dba1c5fc366cbda-0B2EB9D0-9AFB-3B85-59877065CEABF95C
hitcount=44
lastvisit={ts '2026-06-01 02:58:36'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 02:58:25'}
urltoken=CFID=4083249&CFTOKEN=e7b097dd7b9125c4-0B2ED023-B048-2534-6EA7FF8FAA6F7F57
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#=4083249&CFTOKEN#=e7b097dd7b9125c4-0B2ED023-B048-2534-6EA7FF8FAA6F7F57#lastvisit={ts '2026-06-01 02:58:35'}#hitcount=35#timecreated={ts '2026-06-01 02:58:25'}#cftoken=dba1c5fc366cbda-0B2EB9D0-9AFB-3B85-59877065CEABF95C#cfid=4083244#
CFID=4083249
CFTOKEN=e7b097dd7b9125c4-0B2ED023-B048-2534-6EA7FF8FAA6F7F57
FREEACCESSCOUNT=0
Session Variables:
cfid=4083249
cftoken=e7b097dd7b9125c4-0B2ED023-B048-2534-6EA7FF8FAA6F7F57
sessionid=BOOKBROWSE_4083249_e7b097dd7b9125c4-0B2ED023-B048-2534-6EA7FF8FAA6F7F57
urltoken=CFID=4083249&CFTOKEN=e7b097dd7b9125c4-0B2ED023-B048-2534-6EA7FF8FAA6F7F57
URL Parameters:
book_number=4276
order=bw
page=8
the-personal-librarian=
Debug Rendering Time: 20 ms