I think we should use NULL instead of 0 for interoperability among compilers. I know we definitely don't do this everywhere, but... might as well start somewhere, right?

Quote: The fourth parameter to sqlite3_open_v2() is the name of the sqlite3_vfs object that defines the operating system interface that the new database connection should use. If the fourth parameter is a NULL pointer then the default sqlite3_vfs object is used.
Source: http://www.sqlite.org/c3ref/open.html