DATA_TYPE_INTEGER, // pkey (integer) used internally and is REQUIRED TEST_FIELD_TEST_STRING => DATA_TYPE_STRING, TEST_FIELD_TEST_DOUBLE => DATA_TYPE_DOUBLE, TEST_FIELD_TEST_INT => DATA_TYPE_INTEGER, TEST_FIELD_TEST_BOOL => DATA_TYPE_BOOL, TEST_FIELD_TEST_OBJECT => DATA_TYPE_OBJECT, DB_TOKEN => DATA_TYPE_STRING // unique key (string) exposed externally and is REQUIRED ]; // cache-map constants are in ./common/cacheMaps.php public $cacheMap = [ DB_TOKEN => CM_TST_TOKEN, TEST_FIELD_TEST_STRING => CM_TST_FIELD_TEST_STRING, TEST_FIELD_TEST_DOUBLE => CM_TST_FIELD_TEST_DOUBLE, TEST_FIELD_TEST_INT => CM_TST_FIELD_TEST_INT, TEST_FIELD_TEST_BOOL => CM_TST_FIELD_TEST_BOOL, TEST_FIELD_TEST_OBJECT => CM_TST_FIELD_TEST_OBJ ]; // for mysql, all indexed fields are listed in this container regardless of index type. If an field appears but // is not a unique or compound index, then it is just a regular index. public $indexes = [ DB_PKEY, TEST_FIELD_TEST_INT, DB_TOKEN ]; // unique indexes listed as an indexed array public $uniqueIndexes = [ DB_TOKEN ]; // compound indexes are listed as sub-arrays: // [ [ col-1, ..., col-n ], ..., [] ] public $compoundIndexes = null; // exposed fields are mutually exclusive with cacheMaps; one or the other but not both public $exposedFields = null; // binary fields require special handling (encoding) and have to be listed here public $binaryFields = null; }