 {
 	int cur;
 	int high;
-	if (arg && arg->Out)
+	if (arg && arg->D_Out)
 	{
 		high = cur = -1;
 		_status(STATUS_MEMORY_USED, &cur, &high, reset);
-		_fprintf(arg->Out, "Memory Used:                         %d (max %d) bytes\n", cur, high);
+		_fprintf(arg->D_Out, "Memory Used:                         %d (max %d) bytes\n", cur, high);
 		high = cur = -1;
 		_status(STATUS_MALLOC_COUNT, &cur, &high, reset);
-		_fprintf(arg->Out, "Number of Outstanding Allocations:   %d (max %d)\n", cur, high);
+		_fprintf(arg->D_Out, "Number of Outstanding Allocations:   %d (max %d)\n", cur, high);
 		// Not currently used by the CLI.
 		//    high = cur = -1;
 		//    _status(STATUS_PAGECACHE_USED, &cur, &high, reset);
-		//    _fprintf(arg->Out, "Number of Pcache Pages Used:         %d (max %d) pages\n", cur, high);
+		//    _fprintf(arg->D_Out, "Number of Pcache Pages Used:         %d (max %d) pages\n", cur, high);
 		high = cur = -1;
 		_status(STATUS_PAGECACHE_OVERFLOW, &cur, &high, reset);
-		_fprintf(arg->Out, "Number of Pcache Overflow Bytes:     %d (max %d) bytes\n", cur, high);
+		_fprintf(arg->D_Out, "Number of Pcache Overflow Bytes:     %d (max %d) bytes\n", cur, high);
 		// Not currently used by the CLI.
 		//    high = cur = -1;
 		//    _status(STATUS_SCRATCH_USED, &cur, &high, reset);
-		//    _fprintf(arg->Out, "Number of Scratch Allocations Used:  %d (max %d)\n", cur, high);
+		//    _fprintf(arg->D_Out, "Number of Scratch Allocations Used:  %d (max %d)\n", cur, high);
 		high = cur = -1;
 		_status(STATUS_SCRATCH_OVERFLOW, &cur, &high, reset);
-		_fprintf(arg->Out, "Number of Scratch Overflow Bytes:    %d (max %d) bytes\n", cur, high);
+		_fprintf(arg->D_Out, "Number of Scratch Overflow Bytes:    %d (max %d) bytes\n", cur, high);
 		high = cur = -1;
 		_status(STATUS_MALLOC_SIZE, &cur, &high, reset);
-		_fprintf(arg->Out, "Largest Allocation:                  %d bytes\n", high);
+		_fprintf(arg->D_Out, "Largest Allocation:                  %d bytes\n", high);
 		high = cur = -1;
 		_status(STATUS_PAGECACHE_SIZE, &cur, &high, reset);
-		_fprintf(arg->Out, "Largest Pcache Allocation:           %d bytes\n", high);
+		_fprintf(arg->D_Out, "Largest Pcache Allocation:           %d bytes\n", high);
 		high = cur = -1;
 		_status(STATUS_SCRATCH_SIZE, &cur, &high, reset);
-		_fprintf(arg->Out, "Largest Scratch Allocation:          %d bytes\n", high);
+		_fprintf(arg->D_Out, "Largest Scratch Allocation:          %d bytes\n", high);
 #ifdef YYTRACKMAXSTACKDEPTH
 		high = cur = -1;
 		_status(STATUS_PARSER_STACK, &cur, &high, reset);
-		_fprintf(arg->Out, "Deepest Parser Stack:                %d (max %d)\n", cur, high);
-#endif
-	}
-
-	if (arg && arg->Out && ctx)
+		_fprintf(arg->D_Out, "Deepest Parser Stack:                %d (max %d)\n", cur, high);
+#endif
+	}
+
+	if (arg && arg->D_Out && ctx)
 	{
 		high = cur = -1;
 		ctx->Status(Context::CTXSTATUS_LOOKASIDE_USED, &cur, &high, reset);
-		_fprintf(arg->Out, "Lookaside Slots Used:                %d (max %d)\n", cur, high);
+		_fprintf(arg->D_Out, "Lookaside Slots Used:                %d (max %d)\n", cur, high);
 		ctx->Status(Context::CTXSTATUS_LOOKASIDE_HIT, &cur, &high, reset);
-		_fprintf(arg->Out, "Successful lookaside attempts:       %d\n", high);
+		_fprintf(arg->D_Out, "Successful lookaside attempts:       %d\n", high);
 		ctx->Status(Context::CTXSTATUS_LOOKASIDE_MISS_SIZE, &cur, &high, reset);
-		_fprintf(arg->Out, "Lookaside failures due to size:      %d\n", high);
+		_fprintf(arg->D_Out, "Lookaside failures due to size:      %d\n", high);
 		ctx->Status(Context::CTXSTATUS_LOOKASIDE_MISS_FULL, &cur, &high, reset);
-		_fprintf(arg->Out, "Lookaside failures due to OOM:       %d\n", high);
+		_fprintf(arg->D_Out, "Lookaside failures due to OOM:       %d\n", high);
 		high = cur = -1;
 		ctx->Status(Context::CTXSTATUS_CACHE_USED, &cur, &high, reset);
-		_fprintf(arg->Out, "Pager Heap Usage:                    %d bytes\n", cur);
+		_fprintf(arg->D_Out, "Pager Heap Usage:                    %d bytes\n", cur);
 		high = cur = -1;
 		ctx->Status(Context::CTXSTATUS_CACHE_HIT, &cur, &high, 1);
-		_fprintf(arg->Out, "Page cache hits:                     %d\n", cur);
+		_fprintf(arg->D_Out, "Page cache hits:                     %d\n", cur);
 		high = cur = -1;
 		ctx->Status(Context::CTXSTATUS_CACHE_MISS, &cur, &high, 1);
-		_fprintf(arg->Out, "Page cache misses:                   %d\n", cur); 
+		_fprintf(arg->D_Out, "Page cache misses:                   %d\n", cur); 
 		high = cur = -1;
 		ctx->Status(Context::CTXSTATUS_CACHE_WRITE, &cur, &high, 1);
-		_fprintf(arg->Out, "Page cache writes:                   %d\n", cur); 
+		_fprintf(arg->D_Out, "Page cache writes:                   %d\n", cur); 
 		high = cur = -1;
 		ctx->Status(Context::CTXSTATUS_SCHEMA_USED, &cur, &high, reset);
-		_fprintf(arg->Out, "Schema Heap Usage:                   %d bytes\n", cur); 
+		_fprintf(arg->D_Out, "Schema Heap Usage:                   %d bytes\n", cur); 
 		high = cur = -1;
 		ctx->Status(Context::CTXSTATUS_STMT_USED, &cur, &high, reset);
-		_fprintf(arg->Out, "Statement Heap/Lookaside Usage:      %d bytes\n", cur); 
-	}
-
-	if (arg && arg->Out && ctx && arg->Stmt)
+		_fprintf(arg->D_Out, "Statement Heap/Lookaside Usage:      %d bytes\n", cur); 
+	}
+
+	if (arg && arg->D_Out && ctx && arg->Stmt)
 	{
 		cur = Vdbe::Stmt_Status(arg->Stmt, Vdbe::STMTSTATUS_FULLSCAN_STEP, reset);
-		_fprintf(arg->Out, "Fullscan Steps:                      %d\n", cur);
+		_fprintf(arg->D_Out, "Fullscan Steps:                      %d\n", cur);
 		cur = Vdbe::Stmt_Status(arg->Stmt, Vdbe::STMTSTATUS_SORT, reset);
-		_fprintf(arg->Out, "Sort Operations:                     %d\n", cur);
+		_fprintf(arg->D_Out, "Sort Operations:                     %d\n", cur);
 		cur = Vdbe::Stmt_Status(arg->Stmt, Vdbe::STMTSTATUS_AUTOINDEX, reset);
-		_fprintf(arg->Out, "Autoindex Inserts:                   %d\n", cur);
+		_fprintf(arg->D_Out, "Autoindex Inserts:                   %d\n", cur);
 	}
 	return 0;
 }

		__snprintf(q2, length+100, "%s ORDER BY rowid DESC", query);
		rc = DataEx::Exec(p->Ctx, q2, DumpCallback, p, &err);
		if (rc)
			_fprintf(p->Out, "/****** ERROR: %s ******/\n", err);
		else
			rc = RC_CORRUPT;
		_free(err);


__device__ static void OutputCsv(struct CallbackData *p, const char *z, bool sep)
{
	FILE *out_ = p->D_Out;
	if (!z) _fprintf(out_, "%s", p->NullValue);
	else
	{
