Excerpt from The Final Country by James Crumley, plus links to reviews, author biography & more

Summary |  Excerpt |  Reviews |  Readalikes |  Genres & Themes |  Author Bio

The Final Country by James Crumley

The Final Country

A Milo Milodragovitch Novel

by James Crumley
  • Critics' Consensus (3):
  • Readers' Rating (1):
  • First Published:
  • Oct 1, 2001, 320 pages
  • Paperback:
  • Nov 2002, 320 pages
  • Rate this book

About this Book

Print Excerpt

IT WAS LATE NOVEMBER on the edge of the Hill Country, but I had learned very quickly that down here nothing was ever quite what it seemed. As I drove through northwest Austin that day, it might as well have been spring. The thin leaves of the pecan trees hadn't turned. People still mowed their lawns in T-shirts and shorts. Or in this upscale neighborhood, watched various illegal aliens hustle like dung beetles back and forth across the thick St. Augustine lawns through scattershot swarms of gnats. Overhead a brilliant afternoon sun floated in the rich blue sky polished cloudless by the soft southeastern breezes. A single buzzard overhead seemed to be keeping a weathered eye on things. Winter seemed a distant promise, bound to be broken.

Back home in Montana fall already would be hard upon the land, a thick mantle of snow draped across the peaks and high ridges around the Meriwether Valley, the cottonwood branches fingerbone bare, the western larch golden among the dark pines, and the willow aflame along the frost-limned creeks. Of course, back home I would be working my ass off, laying in ten cords of firewood for the winter coming, falling and bucking and splitting pine and fir and alder until my hands bled and my back ached like a heart attack.

This was my fifth fall in Texas, and I had to admit my aging bones hadn't completely forgotten how to dread Montana winters, although the memories seemed as dim as sunlight dazed by a late spring snowstorm. But when the Caddy's automatic air conditioner kicked on, I was reminded that nothing was free in this world. The winter price had to be paid in one way or the other. The vents still carried the stench of a bad weekend with my woman down at her uncle's ornate beach house north of Port Aransas. The air was still thick with the stink of the coastal marshes and mud flats, the spoil banks and tidal pools, the place where everything begins—or ends—where the land rises slowly from the shallow sea like the flesh of a drowned corpse oozing through watery skin. A chase after money and revenge had brought me to Texas, and a woman, Betty Porterfield, had kept me here. But as our love failed, I found myself homesick for Montana more often than now and again.

I was on the job this afternoon, though, so I pushed Montana out of my mind as I cruised toward the southern border of Gatlin County where it nestled like a sluggish political afterthought into the rich, fat software back of northwestern Travis County. Even though I owned a bar the southwestern side of the county, I'd never been in this unincorporated part tucked along the breaks of the Balcones Escarpment. Surrounded by the urban sprawl, this area didn't even have a name. Lalo Herrera, whose sons managed my bar, had told me that the locals sometimes called it el Rincon Malo, "the Bad Corner." Whatever the place might be called, though, it was just another un-zoned trashy suburban slum. The limestone slopes were spotted with dusty cedar shrubs, and the narrow potholed street sported two convenience stores on opposite corners wrestling for the beer, bait, and overpriced gasoline concession, and one locker-cum-butcher shop where the local hunters converted their little whitetail deer into dry-smoked sausage or stinky hamburger threaded with hair. Several flashy but cheaply built apartment complexes littered the steep hillsides, surrounding a mobile home park that looked neither mobile nor homey.

Not even the great weather could hide the disorder and deep sorrow here, as the pastoral degenerated into unplanned urban sprawl. I could almost smell the bitter energies of change and failure. And not just the Bad Corner's. I seemed to be in some sort of downhill tumble myself, going from bad to worse as I stumbled through the transition from a semi-employed private eye to a solid citizen and back down again. A few years before, I had recovered my father's stolen inheritance, plus a considerable sum of unlaundered drug funds stashed in an offshore bank, and I had real money for the first time in my life. Lots of it.

But it didn't change my life all that much. Bored and looking for a way to get out of Betty's ranch house, and perhaps, too, hoping to wash a bit of the drug money, I had gone into business with her uncle, Travis Lee Wallingford, investing in the final stages of an upscale motel, the Blue Hollow Lodge, on the southeastern border of Gatlin County.

I also signed on to own and run the bar in the western corner of the Lodge, the Low Water Crossing Bar and Grill. But my enterprising businessman act had worn thin very quickly. So I drifted back into what I knew best, shuffling through the emotional debris of other people's lives, telling myself that going back into private investigation was just a harmless hobby--like building sailing ships in whiskey bottles or collecting beer cans--a silly diversion of late middle age. I picked up a Texas license, put up my own bond, and had taken to spending my free afternoons piddling around at detective work. Mostly pissant jobs no self-respecting private investigator would take.

One of these jobs had brought me to the Bad Corner and a flag-stone and barnwood beer joint called Over the Line, even though the faded sign painted on the sideboards still clearly stated that it had originally been called Duval's Place. A shy, middle-aged high school teacher up in Burnet County had offered me five hundred dollars to find his young wife, Carol Jean, although I suspected that Joe Warren didn't want his young wife back as much as he wanted something to show for the retirement fund money he had squandered on her orthodontics and breast implants. At least that was the impression I had gotten when he showed me her picture. Carol Jean had one of those narrow but pretty country faces -- large, over-painted eyes and full red lips smiling bravely around an overbite only slightly restrained behind a field of barbed wire—all of it tucked like a child's Easter egg into the tangled nest of her big, blond hair. The half-moons of her new breasts peeked shyly over the neckline of her blouse, and her sly, metallic smile suggested that these new babies had changed her from a skinny high school girl into a woman with whom to be reckoned. In the six years since Carol Jean had graduated from high school and married Joe Warren, instead of looking pretty, canning peaches, and popping kids for Baby Joe, she had worked as a hairdresser, cocktail waitress, legal secretary, and a kick-boxing instructor at a health club. But the only thing that her heart really fancied was hustling pool in afternoon beer joints. Sometimes at Over the Line. Information that six margaritas and a line of bullshit had bought me from Carol Jean's hairdresser mom.

As I pulled the El Dorado into the parking lot beside three pick-ups and a battered Suburban, I tossed my sunglasses into the glove box with my S&W Airweight .38, then locked it. I had taken a spent .25 round in the guts some years before, lost eighteen inches of intestine and much of my fondness for sidearms. I hadn't carried a piece very often since then. If Carol Jean was here today, I could only hope she wouldn't shoot me. Or bite me. Or hit me with her new tits.

But before I could ease out of the sour mood and the El Dorado, a black Lincoln Town Car with Oklahoma dealer tags slid into the lot with locked brakes, raising a veil of dust that almost obscured the fine afternoon. The black guy who stepped out of the Town Car wasn't any larger than a church or any more incongruous than a nun with a beard. Six nine or ten and an iron-hard two-ninety. Above his dark shades, his shaved head gleamed coppery and metallic like the jacket on a high-powered rifle round. His black leather pants rippled like a second skin and his bloused red shirt announced itself like a matador's cape. And the way he walked across the lot shouted "yard boss," as if he had survived a ton of hard time somewhere and was damn sure ready to do it all over again.

When the big guy slammed through the swinging doors of the beer joint, the hinges squealed and the doors flapped like sheets in a rising wind. I thought about postponing my quest for Carol Jean. But, as usual, once I had started looking for somebody, I made the mistake of feeling vaguely responsible for them. So I climbed out and headed for the joint. Before I got there, though, I heard a nasal drawl, shouting, "Watch out, you fuckin' nigger!" And moments later a large Chicano kid streaming blood from a pancaked nose tumbled out of the joint, staggered to his feet, then ran for the safety of his pickup truck. When I reached for the doors, Carol Jean crashed into my arms, her salty new tits as hard as the custom cue clutched in her hands. Dressed in skintight jeans and a tank top that could have been painted on her torso, I assumed her opponents spent more time watching Carol Jean than the table. She was taller than she looked in her photograph, and without braces, prettier, too, but I had been right on about the attitude. She turned, raised the cue like an axe, and headed back into the beer joint.

"I wouldn't do that if I were you," I said.

"And why the hell not?"

"There won't be enough of you left to fuck, sugar," I suggested.

"Besides, you're holding it all wrong."

But Carol Jean wasn't having any of it. Where reason fails, try money. I slipped a twenty off my money clip, handed it to her. "Just wait over there by that Cadillac, and I'll give you another one when I come out."

Still Carol Jean hesitated, her head cocked like a fairly bright chicken, until a redneck kid flew out of the front window and landed like a sack of shit in a pile of broken glass.

"Hi, Vernon," she said calmly, but the kid wasn't up to answering.

"Okay, man," she added to me, "I don't know what you're doing, but if you don't come back, I'll take the other one off your dead body." Then she laughed, a sound as shrill as worn brake pads.

"Thanks for the vote of confidence," I said, hitched up my jeans, arranged my mouth into my most beguiling smile, and sauntered into the shadows like a dumb tourist.

The bar had been built into the slope, giving it two levels: pool tables and booths on the lower level in front, a short bar and half a dozen tables about four feet higher in the back. The large black gentleman hadn't quite made it to the upper level yet. Another sizable black guy in a Dallas Cowboys jersey leaned over a pool table, leaking blood and broken teeth onto the felt—the big guy seemed to be an equal opportunity disaster area-and a rat-faced beer-joint cowboy had a cue raised over his head, his narrow mouth curled in contempt, but when he brought the cue down, the big guy casually blocked it with a muscular forearm. The cue snapped briskly, and the handle weight spun out to slam the already damaged Cowboys fan in the forehead with a sound like an egg dropped on a sidewalk. He disappeared behind the pool table as if shot. The cowboy grinned apologetically, then dashed past me as fast as his tight jeans and high-heeled boots would let him.

"Next time use it like a bayonet," I suggested as the cowboy stumbled past, "not a club."

"You must not be from around here," the big guy said softly.

"Most of these Texas assholes are dumber than hammered dogshit."

"Nobody ever accused me of being from around here," I said as I stepped up to stand beside the big guy, who loomed over me like an unstable rock outcropping.

"Whatever," he said, slapping me on the shoulder hard enough to make my knees flex. But the huge hand on my shoulder was polite instead of insistent. "Let's you and me have a drink, old man."

It's the hair, I thought. Several white streaks had appeared after a bad session with a bunch of contrabandistas a few years before. I'm not as old as I look, I started to say. But I could tell that the big guy wasn't interested. So I followed him up the short stairway, where we leaned against the bar.

"I don't mind a little whip-ass, when it's deserved," the chubby bartender said as he leaned on the bar, "and that Meskin kid was way outa line." He was a soft, round-faced man with a fat, bald head. "I don't want to have to call the law," he maintained stoutly. But I suspected he had delivered this line a few times before without success.

"Just shut the fuck up," the big guy said as he set his shades on the bar, "and pour us a drink. I ain't had time for a peaceful drink since I left Tulsa this morning. How about a couple of handfuls of that Crown Royal over a little ice."

The bartender found two water glasses and filled them with ice and whiskey. The big guy nuzzled his drink for a second, then poured it down his throat. I nibbled around the edges of mine.

"Goddamn that was good, man," the big guy said, then he noticed my drink. "Come on," he said, laughing and dropping his hand like a grubbing-hoe handle on my shoulder. If he wasn't careful, the big son of a bitch was going to kill me with affection. With his shades off, his eyes were an oddly gray shade of light blue, shining like tiny bulbs on either side of his hooked nose. "When you drink with Enos Walker, man, we don't allow no sipping."

You might as well argue with an avalanche, so I dumped mine down my throat, too, though I didn't enjoy it nearly as much as Enos Walker had.

"Set us up again, bartender," he said, "then I want to have a word with somebody who knew that fuckin' Duval."

The bartender's hand shook a little this time as he poured, then he rubbed his sweaty head as if it had suddenly sprouted hair. "Ah, Mr. Duval ain't been here for some time..."

"I just been in jail, motherfucker," the big guy said as he held up his second bundle of whiskey, "not on the moon. Who the hell's in charge these days? Either Duval's buddies or that fuckin' silver-haired bitch—"

"Mandy Rae?" the bartender interrupted, then snapped his mouth shut as if the name hurt his teeth.

"—one of 'em owes me big-time, chubby."

"I don't rightly know nothin' 'bout that," the bartender said.

"Well, who the hell you reckon might know," Walker said, leaning easily over the bar and burying his index finger to the first joint in the bartender's pudgy chest, "Mr. Fucking Pillsbury Doughboy?"

"Ah, maybe Mr. Long knows," he answered with a tortured sigh.

"Billy Long? I remember that redneck piece of shit. Where is he?"

"He's in the office," the bartender said, thumbing over his shoulder, "but I don't think he wants to be bothered right now."

"No bother," Enos Walker said, then gunned his drink and headed around the bar.

The bartender mopped his head with a bar towel, chugged a bubbling drink straight from the bottle, then sighed deeply as his right hand drifted under the counter. I reached over to pinch his snotty upper lip. Hard.

"What have you got under there?"

"Sawed-off double twelve," the bartender whimpered as the whiskey courage squirted out of him like puppy piss.

"Better let me have it," I said, "before somebody gets hurt. Stock first, if you don't mind."

The bartender handed me the shotgun, and got his upper lip back in return. I broke the piece open, ejected both shells, and handed it back to him just as we heard loud voices from the office. The shouting ended with an even louder gunshot.

"Oh my God," the bartender moaned and shoved the sawed-off deeply into the ice.

Enos Walker came back to the bar, not hurrying, a huge semi-automatic pistol dangling from his hand. Probably one of those Desert Eagle .50 cannons, I thought. "Is everybody in this fucking place stupid?" he asked, waving arms like small logs, but I didn't think he wanted an answer. Walker shoved the pistol under his belt, slipped on his shades, and said, "You ain't finished your drink, old man."

"I think I've had enough," I said. Unfortunately, getting older had not made me any smarter.

"Don't push your luck."

"Fuck it," I said and left the drink on the bar.

"Maybe you ain't as smart as I thought you were, old man," he said.

"I expect that wasn't your first mistake today."

That nearly kicked it into the cesspool. But suddenly Enos Walker grinned and placed his hands gently on my shoulders, smiled, then said, "You got balls, old man." Then he laughed his bitter, hopeless, hard-timer breath right into my face, breath as rank as the winter den of a grizzly. He picked up my drink, slowly poured it down his throat, grabbed the remains of the bottle from the bartender, then left without a backward glance. As he hit the door, the bartender let out his breath, then leaned against the back bar while he guzzled another drink. I headed to the back to check the damage, which was, as I suspected, extensive.

Long had been a tall man with long gray hair, perhaps even good-looking before the muzzle blast had burned off his face and the heavy round had scattered the back half of his head all over the whorehouse wallpaper and a Troy Aikman poster behind him. A clot of hairy gray matter hung from the quarterback's upper lip like an incipient mustache. I thought the kid looked better with some hair on his face.

The bartender peeked around the edge of the office door, then hit the floor in a dead faint. I checked his pulse and made sure that he hadn't swallowed his tongue, then pulled him over to the side and propped up his feet on a chair. As I did, a meaty fart fizzled out of his backside.

I went back to the office. From the look of the desk—cluttered with scales, folded and unfolded Snowseal bindles, milk sugar, and a Jack Daniel's bar mirror-Long had been cutting cocaine and breaking it down into grams, but there was no sign of the source, an ounce bag at least, which was probably riding away in Enos Walker's leather pocket. The right-hand drawer of the desk was partially open; an empty cash box, a Rolodex, and a partial box of .50 Magnum pistol rounds were visible.

"Stupid bastard," I said, but wasn't sure who I was talking to. Because I used the nail of my little finger to flip through the Rolodex to the Ds and wrote down the telephone and address of the only Duval listed, somebody named Sissy. But that wasn't the real stupid part. I wrote it down on the back of the largest bindle, the one that had "mine" scrawled on it. Maybe it's a clue, I thought, as I shoved the bindle into my shirt pocket.


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 /excerpts/index.cfm
Time Stamp 01-Jun-26 05:14 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
1780290851681 ms 1.78029085168E+012 ms 1 /root/website/app_server.cfm
487 ms 487 ms 1 /root/website/excerpts/index.cfm
155 ms 155 ms 1 /root/website/queries/qry_get_discussion_by_id.cfm
121 ms 121 ms 1 /root/website/app_layout.cfm
78 ms 78 ms 1 /root/website/site/blocks/layout/dsp_right_column.cfm
55 ms 55 ms 1 /root/website/app_globals.cfm
52 ms 52 ms 1 /root/website/excerpts/dsp_main.cfm
40 ms 40 ms 1 /root/website/site/blocks/dsp_top_book_block.cfm
36 ms 18 ms 2 /root/website/adsystem/adsystem_mod.cfm
36 ms 36 ms 1 /root/website/queries/qry_get_book_by_id.cfm
25 ms 25 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
21 ms 21 ms 1 /root/website/adzones/AdZone6.cfm
20 ms 20 ms 1 /root/website/queries/qry_get_active_obc.cfm
19 ms 19 ms 1 /root/website/queries/qry_get_arcs_for_ad.cfm
19 ms 19 ms 1 /root/website/site/blocks/dsp_border_first_impressions.cfm
16 ms 16 ms 1 /root/website/adzones/showcase_track.cfm
14 ms 14 ms 1 /root/website/queries/qry_get_ezine_by_book_id.cfm
14 ms 14 ms 1 /root/website/queries/qry_get_reader_reviews_by_book_id.cfm
13 ms 13 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
13 ms 13 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
11 ms 11 ms 1 /root/website/queries/qry_get_free_flag_by_book_id.cfm
9 ms 9 ms 1 /root/website/site/blocks/membership_advantages.cfm
8 ms 8 ms 1 /root/website/queries/qry_get_member_account_types.cfm
7 ms 7 ms 1 /root/website/queries/qry_get_book_awards_by_book_id.cfm
7 ms 7 ms 1 /root/website/queries/qry_get_categories_by_book_id.cfm
7 ms 7 ms 1 /root/website/site/blocks/dsp_book_giveaway.cfm
5 ms 2 ms 3 /root/website/actions/act_spider_tracker.cfm
4 ms 4 ms 1 /root/website/actions/adstatus.cfm
4 ms 4 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
3 ms 3 ms 1 /root/website/queries/qry_get_current_competition.cfm
3 ms 3 ms 1 /root/website/queries/qry_get_liked_by_book_id.cfm
2 ms 2 ms 1 /root/website/act_check_login.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_member_info.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/head.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/act_libraryIPLogin.cfm
0 ms 0 ms 1 /root/website/actions/udfs.cfm
0 ms 0 ms 1 /root/website/banners/ad_594.cfm
0 ms 0 ms 1 /root/website/formurl2attributes.cfm
0 ms 0 ms 1 /root/website/js/fbjavascriptsdk.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_current_ezine.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_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_closed_reviews.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
0 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
487 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


Exceptions

05:14:12.012 - 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=4ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 05:14:11.011
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=1ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 05:14:11.011
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=4ms, Records=2) in /root/website/actions/adstatus.cfm @ 05:14:11.011
SELECT	viewby, section
    FROM	adsystem 
    WHERE	active  = 1 
    AND		start_date <= GETDATE()
    AND 	(viewby = ? OR viewby = 'all')
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = non

get_current_ezine (Datasource=bookbrowse_com_new, Time=0ms, Records=1, Cached Query) in /root/website/queries/qry_get_current_ezine.cfm @ 05:14:11.011
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=3ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 05:14:11.011
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=1ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 05:14:11.011
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=1ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 05:14:11.011
SELECT 	x.competition_number, x.book_number, x.competition_teaser_title, x.competition_teaser_description, x.competition_intro_text, x.competition_expiration_dt, x.bb_briefs_flag, x.competition_full_info_flag, x.competition_type, x.competition_optin,x.competition_optin_text, 
				a.book_title as "title",
				(b.author_first_name + ' ' +  b.author_middle_initial + ' ' + b.author_last_name) as "author",
	            f.edition_publish_dt AS "hardcover_publish_dt", f.edition_jacket_image as "hardcover_jacket_image",
				g.edition_publish_dt AS "paperback_publish_dt", g.edition_jacket_image as "paperback_jacket_image"
	
		FROM 		competitions x
		INNER JOIN	books a on a.book_number = x.book_number
		INNER JOIN	book_author_mapping c on c.book_number = x.book_number
		INNER JOIN	authors b on c.author_number = b.author_number
		LEFT JOIN	editions f on a.book_number = f.book_number and f.edition_paperback_flag = 0
		LEFT JOIN	editions g on a.book_number = g.book_number and g.edition_paperback_flag = 1

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

get_previous_arcs_for_ad (Datasource=bookbrowse_com_new, Time=0ms, Records=0, Cached Query) in /root/website/queries/qry_get_previous_arcs_for_ad.cfm @ 05:14:11.011
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=3ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 05:14:11.011
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=6ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 05:14:11.011
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=7ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 05:14:11.011
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_by_id (Datasource=bookbrowse_com_new, Time=30ms, Records=1) in /root/website/queries/qry_get_book_by_id.cfm @ 05:14:11.011
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) = 925

get_media_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=3ms, Records=9) in /root/website/queries/qry_get_book_by_id.cfm @ 05:14:11.011
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) = 925
Parameter #2(CF_SQL_INTEGER) = 925
Parameter #3(CF_SQL_INTEGER) = 925
Parameter #4(CF_SQL_INTEGER) = 925

get_reader_reviews_by_book_id (Datasource=bookbrowse_com_new, Time=13ms, Records=1) in /root/website/queries/qry_get_reader_reviews_by_book_id.cfm @ 05:14:11.011
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_dt DESC
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 925

get_book_awards_by_book_id (Datasource=bookbrowse_com_new, Time=4ms, Records=0) in /root/website/queries/qry_get_book_awards_by_book_id.cfm @ 05:14:11.011
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) = 925

get_bb_runner_ups (Datasource=bookbrowse_com_new, Time=2ms, Records=0) in /root/website/queries/qry_get_book_awards_by_book_id.cfm @ 05:14:11.011
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) = 925
Parameter #2(CF_SQL_INTEGER) = 925

get_liked_by_book_id (Datasource=bookbrowse_com_new, Time=2ms, Records=4) in /root/website/queries/qry_get_liked_by_book_id.cfm @ 05:14:11.011
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) = 925

get_categories_by_book_id (Datasource=bookbrowse_com_new, Time=6ms, Records=6) in /root/website/queries/qry_get_categories_by_book_id.cfm @ 05:14:11.011
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) = 925

bb_review (Datasource=, Time=0ms, Records=0) in /root/website/excerpts/index.cfm @ 05:14:11.011
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=1ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 05:14:11.011
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) = 925

get_arc_idfk_legacy (Datasource=bookbrowse_com_new, Time=3ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 05:14:11.011
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) = 925

obc_discussions (Datasource=booktalk_new, Time=76ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 05:14:11.011
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=72ms, Records=0) in /root/website/queries/qry_get_discussion_by_id.cfm @ 05:14:11.011
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) = 925

get_ezine_type (Datasource=bookbrowse_com_new, Time=8ms, Records=1) in /root/website/queries/qry_get_ezine_by_book_id.cfm @ 05:14:11.011
SELECT a.ezine_type_number
	FROM ezines a
	WHERE a.ezine_number = 1
get_ezine_by_book_id (Datasource=bookbrowse_com_new, Time=4ms, Records=0) in /root/website/queries/qry_get_ezine_by_book_id.cfm @ 05:14:11.011
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) = 925

check_permalink (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 05:14:11.011
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=0ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 05:14:11.011
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) = 925

check_free_ezine (Datasource=bookbrowse_com_new, Time=3ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 05:14:11.011
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) = 925

check_cat_73 (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 05:14:11.011
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) = 925

get_ezine_status (Datasource=bookbrowse_com_new, Time=1ms, Records=0) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 05:14:11.011
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) = 925

check_old_ezine (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 05:14:11.011
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) = 925

get_ezine_status (Datasource=bookbrowse_com_new, Time=0ms, Records=0) in /root/website/queries/qry_get_free_flag_by_book_id.cfm @ 05:14:11.011
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) = 925

get_coauthor (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/actions/udfs.cfm @ 05:14:11.011
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) = 925

get_coauthor (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/udfs.cfm @ 05:14:11.011
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) = 925

get_coauthor (Datasource=bookbrowse_com_new, Time=0ms, Records=1) in /root/website/actions/udfs.cfm @ 05:14:11.011
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) = 925

get_coauthor (Datasource=bookbrowse_com_new, Time=7ms, Records=1) in /root/website/actions/udfs.cfm @ 05:14:12.012
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) = 925

get_book_image (Datasource=bookbrowse_com_new, Time=6ms, Records=1) in /root/website/actions/udfs.cfm @ 05:14:12.012
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) = 925

get_book_image (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/actions/udfs.cfm @ 05:14:12.012
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) = 925

get_coauthor (Datasource=bookbrowse_com_new, Time=20ms, Records=1) in /root/website/actions/udfs.cfm @ 05:14:12.012
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) = 925

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

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

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

ORDER BY NEWID()
get_arcs_for_ad (Datasource=bookbrowse_com_new, Time=7ms, Records=3) in /root/website/queries/qry_get_arcs_for_ad.cfm @ 05:14:12.012
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=13ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 05:14:12.012
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=3ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:14:12.012
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=2ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:14:12.012
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=6ms, Records=1) in /root/website/site/blocks/dsp_book_giveaway.cfm @ 05:14:12.012
select top 1 ezine_number, ezine_quote, ezine_quote_title
	    from ezines
	    where len(ezine_quote_title) > 1
	    order by newid()
get_free_newsletters (Datasource=bookbrowse_com_new, Time=0ms, Records=4, Cached Query) in /root/website/queries/qry_get_free_newsletters.cfm @ 05:14:12.012
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=5ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 05:14:12.012
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=2ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:14:12.012
SELECT	a.adid,	adweight
        FROM	adsystem a
        WHERE	a.section = ? 
        AND 	a.active  = 1 
        AND		a.start_date <= GETDATE()	
        		AND a.adid NOT IN (?) 
        AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
        AND (select count(*) from ad_category_mapping where datalength(category_number) >= 1 and adid = a.adid) = 0
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = showcase_track
Parameter #2(CF_SQL_INTEGER) = 1112

get_type (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 05:14:12.012
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/excerpts/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=FREEACCESSCOUNT=0; CFTOKEN=1d3a23106f452660-10074E58-BBB1-0EB2-015F55E095A4B8C8; CFGLOBALS=urltoken%3DCFID%23%3D4089078%26CFTOKEN%23%3D1d3a23106f452660%2D10074E58%2DBBB1%2D0EB2%2D015F55E095A4B8C8%23lastvisit%3D%7Bts%20%272026%2D06%2D01%2005%3A14%3A11%27%7D%23hitcount%3D112%23timecreated%3D%7Bts%20%272026%2D06%2D01%2005%3A13%3A55%27%7D%23cftoken%3D1d3a23106f452660%2D10074E58%2DBBB1%2D0EB2%2D015F55E095A4B8C8%23cfid%3D4089078%23; CFCLIENT_BOOKBROWSE=order%3Dp%23member%5Fnumber%3D0%23member%5Factive%5Fflag%3D0%23member%5Flogged%5Fin%5Fflag%3D0%23library%5Fuser%5Fflag%3D0%23view%3Dbooks%23; CFID=4089078
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/925/the-final-country
PATH_TRANSLATED=/root/website/excerpts/index.cfm
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REMOTE_HOST=127.0.0.1
REMOTE_USER=
REQUEST_METHOD=GET
SCRIPT_NAME=/excerpts/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=4089078
cftoken=1d3a23106f452660-10074E58-BBB1-0EB2-015F55E095A4B8C8
hitcount=115
lastvisit={ts '2026-06-01 05:14:11'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-06-01 05:13:55'}
urltoken=CFID=4089078&CFTOKEN=1d3a23106f452660-10074E58-BBB1-0EB2-015F55E095A4B8C8
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#=4089078&CFTOKEN#=1d3a23106f452660-10074E58-BBB1-0EB2-015F55E095A4B8C8#lastvisit={ts '2026-06-01 05:14:11'}#hitcount=112#timecreated={ts '2026-06-01 05:13:55'}#cftoken=1d3a23106f452660-10074E58-BBB1-0EB2-015F55E095A4B8C8#cfid=4089078#
CFID=4089078
CFTOKEN=1d3a23106f452660-10074E58-BBB1-0EB2-015F55E095A4B8C8
FREEACCESSCOUNT=0
Session Variables:
cfid=4089078
cftoken=1d3a23106f452660-10074E58-BBB1-0EB2-015F55E095A4B8C8
sessionid=BOOKBROWSE_4089078_1d3a23106f452660-10074E58-BBB1-0EB2-015F55E095A4B8C8
urltoken=CFID=4089078&CFTOKEN=1d3a23106f452660-10074E58-BBB1-0EB2-015F55E095A4B8C8
URL Parameters:
book_number=925
the-final-country=
Debug Rendering Time: 16 ms