Add extra tests to threadtest4.c. Fix a benign data race accessing the
text encoding using ENC(db).
FossilOrigin-Name: d7bb7ea4ab97ad26f4c84c9b8dc2827010093803
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 80f9597..d90089b 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -1059,6 +1059,7 @@
int errCode; /* Most recent error code (SQLITE_*) */
int errMask; /* & result codes with this before returning */
u16 dbOptFlags; /* Flags to enable/disable optimizations */
+ u8 enc; /* Text encoding */
u8 autoCommit; /* The auto-commit flag. */
u8 temp_store; /* 1: file 2: memory 0: default */
u8 mallocFailed; /* True if we have seen a malloc failure */
@@ -1160,7 +1161,8 @@
/*
** A macro to discover the encoding of a database.
*/
-#define ENC(db) ((db)->aDb[0].pSchema->enc)
+#define SCHEMA_ENC(db) ((db)->aDb[0].pSchema->enc)
+#define ENC(db) ((db)->enc)
/*
** Possible values for the sqlite3.flags.