Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2)
magic numbers in Index.aiColumn[]. Add asserts to help verify that
Index.aiColumn[] is always used correctly. Fix one place in FK processing
where Index.aiColumn[] was not being used correctly.
FossilOrigin-Name: 7d272aa62cd4cbbf4b5d04e3b918de27671e8301
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index b32cc21..6c9bb06 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -1917,6 +1917,12 @@
/* Return true if index X is a UNIQUE index */
#define IsUniqueIndex(X) ((X)->onError!=OE_None)
+/* The Index.aiColumn[] values are normally positive integer. But
+** there are some negative values that have special meaning:
+*/
+#define XN_ROWID (-1) /* Indexed column is the rowid */
+#define XN_EXPR (-2) /* Indexed column is an expression */
+
/*
** Each sample stored in the sqlite_stat3 table is represented in memory
** using a structure of this type. See documentation at the top of the