 #endif
 		{ "tcl_objproc",                   runAsObjProc,       0 },
 
-		/* sqlite3_column_*() API */
+		// sqlite3_column_*() API
 		{ "sqlite3_column_count",          test_column_count  ,0 },
 		{ "sqlite3_data_count",            test_data_count    ,0 },
 		{ "sqlite3_column_type",           test_column_type   ,0 },
 		{ "sqlite3_column_blob",           test_column_blob   ,0 },
 		{ "sqlite3_column_double",         test_column_double ,0 },
 		{ "sqlite3_column_int64",          test_column_int64  ,0 },
-		{ "sqlite3_column_text",   test_stmt_utf8,  (void*)sqlite3_column_text },
-		{ "sqlite3_column_name",   test_stmt_utf8,  (void*)sqlite3_column_name },
-		{ "sqlite3_column_int",    test_stmt_int,   (void*)sqlite3_column_int  },
-		{ "sqlite3_column_bytes",  test_stmt_int,   (void*)sqlite3_column_bytes},
+		{ "sqlite3_column_text",   test_stmt_utf8,  (void *)Vdbe::Column_Text },
+		{ "sqlite3_column_name",   test_stmt_utf8,  (void *)Vdbe::Column_Name },
+		{ "sqlite3_column_int",    test_stmt_int,   (void *)Vdbe::Column_Int  },
+		{ "sqlite3_column_bytes",  test_stmt_int,   (void *)Vdbe::Column_Bytes},
 #ifndef OMIT_DECLTYPE
-		{ "sqlite3_column_decltype",test_stmt_utf8,(void*)sqlite3_column_decltype},
+		{ "sqlite3_column_decltype",test_stmt_utf8,(void *)Vdbe::Column_Decltype},
 #endif
 #ifdef ENABLE_COLUMN_METADATA
-		{ "sqlite3_column_database_name",test_stmt_utf8,(void*)sqlite3_column_database_name},
-		{ "sqlite3_column_table_name",test_stmt_utf8,(void*)sqlite3_column_table_name},
-		{ "sqlite3_column_origin_name",test_stmt_utf8,(void*)sqlite3_column_origin_name},
+		{ "sqlite3_column_database_name",test_stmt_utf8,(void*)Vdbe::Column_database_name},
+		{ "sqlite3_column_table_name",test_stmt_utf8,(void*)Vdbe::Column_table_name},
+		{ "sqlite3_column_origin_name",test_stmt_utf8,(void*)Vdbe::Column_origin_name},
 #endif
 
 #ifndef OMIT_UTF16
-		{ "sqlite3_column_bytes16", test_stmt_int, (void*)sqlite3_column_bytes16 },
-		{ "sqlite3_column_text16",  test_stmt_utf16, (void*)sqlite3_column_text16},
-		{ "sqlite3_column_name16",  test_stmt_utf16, (void*)sqlite3_column_name16},
+		{ "sqlite3_column_bytes16", test_stmt_int, (void*)Vdbe::Column_Bytes16 },
+		{ "sqlite3_column_text16",  test_stmt_utf16, (void*)Vdbe::Column_Text16},
+		{ "sqlite3_column_name16",  test_stmt_utf16, (void*)Vdbe::Column_Name16},
 		{ "add_alignment_test_collations", add_alignment_test_collations, 0      },
 #ifndef OMIT_DECLTYPE
-		{ "sqlite3_column_decltype16",test_stmt_utf16,(void*)sqlite3_column_decltype16},
+		{ "sqlite3_column_decltype16",test_stmt_utf16,(void*)Vdbe::Column_Decltype16},
 #endif
 #ifdef ENABLE_COLUMN_METADATA
-		{"sqlite3_column_database_name16",
-		test_stmt_utf16, (void*)sqlite3_column_database_name16},
-		{"sqlite3_column_table_name16", test_stmt_utf16, (void*)sqlite3_column_table_name16},
-		{"sqlite3_column_origin_name16", test_stmt_utf16, (void*)sqlite3_column_origin_name16},
+		{"sqlite3_column_database_name16",test_stmt_utf16, (void*)Vdbe::Column_database_name16},
+		{"sqlite3_column_table_name16", test_stmt_utf16, (void*)Vdbe::Column_table_name16},
+		{"sqlite3_column_origin_name16", test_stmt_utf16, (void*)Vdbe::Column_origin_name16},
 #endif
 #endif
 		{ "sqlite3_create_collation_v2", test_create_collation_v2, 0 },

	extern int sqlite3_hostid_num;
#endif
	extern int sqlite3_max_blobsize;
	extern int sqlite3BtreeSharedCacheReport(void*, Tcl_Interp*, int, Tcl_Obj**);
	static struct {
		char *zName;
		Tcl_CmdProc *xProc;
	} aCmd[] = {
		{ "db_enter",                      (Tcl_CmdProc*)db_enter               },
		{ "db_leave",                      (Tcl_CmdProc*)db_leave               },
		{ "sqlite3_mprintf_int",           (Tcl_CmdProc*)sqlite3_mprintf_int    },
		{ "sqlite3_mprintf_int64",         (Tcl_CmdProc*)sqlite3_mprintf_int64  },
		{ "sqlite3_mprintf_long",          (Tcl_CmdProc*)sqlite3_mprintf_long   },
		{ "sqlite3_mprintf_str",           (Tcl_CmdProc*)sqlite3_mprintf_str    },
		{ "sqlite3_snprintf_str",          (Tcl_CmdProc*)sqlite3_snprintf_str   },
		{ "sqlite3_mprintf_stronly",       (Tcl_CmdProc*)sqlite3_mprintf_stronly},
		{ "sqlite3_mprintf_double",        (Tcl_CmdProc*)sqlite3_mprintf_double },
		{ "sqlite3_mprintf_scaled",        (Tcl_CmdProc*)sqlite3_mprintf_scaled },
		{ "sqlite3_mprintf_hexdouble",   (Tcl_CmdProc*)sqlite3_mprintf_hexdouble},
		{ "sqlite3_mprintf_z_test",        (Tcl_CmdProc*)test_mprintf_z        },
		{ "sqlite3_mprintf_n_test",        (Tcl_CmdProc*)test_mprintf_n        },
		{ "sqlite3_snprintf_int",          (Tcl_CmdProc*)test_snprintf_int     },
		{ "sqlite3_last_insert_rowid",     (Tcl_CmdProc*)test_last_rowid       },
		{ "sqlite3_exec_printf",           (Tcl_CmdProc*)test_exec_printf      },
		{ "sqlite3_exec_hex",              (Tcl_CmdProc*)test_exec_hex         },
		{ "sqlite3_exec",                  (Tcl_CmdProc*)test_exec             },
		{ "sqlite3_exec_nr",               (Tcl_CmdProc*)test_exec_nr          },
#ifndef OMIT_GET_TABLE
		{ "sqlite3_get_table_printf",      (Tcl_CmdProc*)test_get_table_printf },
#endif
		{ "sqlite3_close",                 (Tcl_CmdProc*)sqlite_test_close     },
		{ "sqlite3_create_function",       (Tcl_CmdProc*)test_create_function  },
		{ "sqlite3_create_aggregate",      (Tcl_CmdProc*)test_create_aggregate },
		{ "sqlite_register_test_function", (Tcl_CmdProc*)test_register_func    },
		{ "sqlite_abort",                  (Tcl_CmdProc*)sqlite_abort          },
		{ "sqlite_bind",                   (Tcl_CmdProc*)test_bind             },
		{ "breakpoint",                    (Tcl_CmdProc*)test_breakpoint       },
		{ "sqlite3_key",                   (Tcl_CmdProc*)test_key              },
		{ "sqlite3_rekey",                 (Tcl_CmdProc*)test_rekey            },
		{ "sqlite_set_magic",              (Tcl_CmdProc*)sqlite_set_magic      },
		{ "sqlite3_interrupt",             (Tcl_CmdProc*)test_interrupt        },
		{ "sqlite_delete_function",        (Tcl_CmdProc*)delete_function       },
		{ "sqlite_delete_collation",       (Tcl_CmdProc*)delete_collation      },
		{ "sqlite3_get_autocommit",        (Tcl_CmdProc*)get_autocommit        },
		{ "sqlite3_stack_used",            (Tcl_CmdProc*)test_stack_used       },
		{ "sqlite3_busy_timeout",          (Tcl_CmdProc*)test_busy_timeout     },
		{ "printf",                        (Tcl_CmdProc*)test_printf           },
		{ "sqlite3IoTrace",              (Tcl_CmdProc*)test_io_trace         },
	};
	static struct {
		char *zName;
		Tcl_ObjCmdProc *xProc;
		void *clientData;
	} aObjCmd[] = {
		{ "sqlite3_connection_pointer",    get_sqlite_pointer, 0 },
		{ "sqlite3_bind_int",              test_bind_int,      0 },
		{ "sqlite3_bind_zeroblob",         test_bind_zeroblob, 0 },

	Tcl_LinkVar(interp, "unaligned_string_counter", (char*)&unaligned_string_counter, TCL_LINK_INT);
#endif
#ifndef OMIT_UTF16
	Tcl_LinkVar(interp, "sqlite_last_needed_collation", (char*)&_neededCollation, TCL_LINK_STRING|TCL_LINK_READ_ONLY);
#endif
#if OS_WIN
	Tcl_LinkVar(interp, "sqlite_os_type", (char*)&sqlite3_os_type, TCL_LINK_INT);
