431
431
TODO: separate three contexts above, move them to separate bitfields.
434
#define SELECT_DISTINCT (ULL(1) << 0) // SELECT, user
435
#define SELECT_STRAIGHT_JOIN (ULL(1) << 1) // SELECT, user
436
#define SELECT_DESCRIBE (ULL(1) << 2) // SELECT, user
437
#define SELECT_SMALL_RESULT (ULL(1) << 3) // SELECT, user
438
#define SELECT_BIG_RESULT (ULL(1) << 4) // SELECT, user
439
#define OPTION_FOUND_ROWS (ULL(1) << 5) // SELECT, user
440
#define SELECT_NO_JOIN_CACHE (ULL(1) << 7) // intern
441
#define OPTION_BIG_TABLES (ULL(1) << 8) // THD, user
442
#define OPTION_BIG_SELECTS (ULL(1) << 9) // THD, user
443
#define OPTION_LOG_OFF (ULL(1) << 10) // THD, user
444
#define OPTION_QUOTE_SHOW_CREATE (ULL(1) << 11) // THD, user, unused
445
#define TMP_TABLE_ALL_COLUMNS (ULL(1) << 12) // SELECT, intern
446
#define OPTION_WARNINGS (ULL(1) << 13) // THD, user
447
#define OPTION_AUTO_IS_NULL (ULL(1) << 14) // THD, user, binlog
448
#define OPTION_FOUND_COMMENT (ULL(1) << 15) // SELECT, intern, parser
449
#define OPTION_SAFE_UPDATES (ULL(1) << 16) // THD, user
450
#define OPTION_BUFFER_RESULT (ULL(1) << 17) // SELECT, user
451
#define OPTION_BIN_LOG (ULL(1) << 18) // THD, user
452
#define OPTION_NOT_AUTOCOMMIT (ULL(1) << 19) // THD, user
453
#define OPTION_BEGIN (ULL(1) << 20) // THD, intern
454
#define OPTION_TABLE_LOCK (ULL(1) << 21) // THD, intern
455
#define OPTION_QUICK (ULL(1) << 22) // SELECT (for DELETE)
456
#define OPTION_KEEP_LOG (ULL(1) << 23) // THD, user
434
#define SELECT_DISTINCT (1ULL << 0) // SELECT, user
435
#define SELECT_STRAIGHT_JOIN (1ULL << 1) // SELECT, user
436
#define SELECT_DESCRIBE (1ULL << 2) // SELECT, user
437
#define SELECT_SMALL_RESULT (1ULL << 3) // SELECT, user
438
#define SELECT_BIG_RESULT (1ULL << 4) // SELECT, user
439
#define OPTION_FOUND_ROWS (1ULL << 5) // SELECT, user
440
#define SELECT_NO_JOIN_CACHE (1ULL << 7) // intern
441
#define OPTION_BIG_TABLES (1ULL << 8) // THD, user
442
#define OPTION_BIG_SELECTS (1ULL << 9) // THD, user
443
#define OPTION_LOG_OFF (1ULL << 10) // THD, user
444
#define OPTION_QUOTE_SHOW_CREATE (1ULL << 11) // THD, user, unused
445
#define TMP_TABLE_ALL_COLUMNS (1ULL << 12) // SELECT, intern
446
#define OPTION_WARNINGS (1ULL << 13) // THD, user
447
#define OPTION_AUTO_IS_NULL (1ULL << 14) // THD, user, binlog
448
#define OPTION_FOUND_COMMENT (1ULL << 15) // SELECT, intern, parser
449
#define OPTION_SAFE_UPDATES (1ULL << 16) // THD, user
450
#define OPTION_BUFFER_RESULT (1ULL << 17) // SELECT, user
451
#define OPTION_BIN_LOG (1ULL << 18) // THD, user
452
#define OPTION_NOT_AUTOCOMMIT (1ULL << 19) // THD, user
453
#define OPTION_BEGIN (1ULL << 20) // THD, intern
454
#define OPTION_TABLE_LOCK (1ULL << 21) // THD, intern
455
#define OPTION_QUICK (1ULL << 22) // SELECT (for DELETE)
456
#define OPTION_KEEP_LOG (1ULL << 23) // THD, user
458
458
/* The following is used to detect a conflict with DISTINCT */
459
#define SELECT_ALL (ULL(1) << 24) // SELECT, user, parser
459
#define SELECT_ALL (1ULL << 24) // SELECT, user, parser
461
461
/** The following can be set when importing tables in a 'wrong order'
462
462
to suppress foreign key checks */
463
#define OPTION_NO_FOREIGN_KEY_CHECKS (ULL(1) << 26) // THD, user, binlog
463
#define OPTION_NO_FOREIGN_KEY_CHECKS (1ULL << 26) // THD, user, binlog
464
464
/** The following speeds up inserts to InnoDB tables by suppressing unique
465
465
key checks in some cases */
466
#define OPTION_RELAXED_UNIQUE_CHECKS (ULL(1) << 27) // THD, user, binlog
467
#define SELECT_NO_UNLOCK (ULL(1) << 28) // SELECT, intern
468
#define OPTION_SCHEMA_TABLE (ULL(1) << 29) // SELECT, intern
466
#define OPTION_RELAXED_UNIQUE_CHECKS (1ULL << 27) // THD, user, binlog
467
#define SELECT_NO_UNLOCK (1ULL << 28) // SELECT, intern
468
#define OPTION_SCHEMA_TABLE (1ULL << 29) // SELECT, intern
469
469
/** Flag set if setup_tables already done */
470
#define OPTION_SETUP_TABLES_DONE (ULL(1) << 30) // intern
470
#define OPTION_SETUP_TABLES_DONE (1ULL << 30) // intern
471
471
/** If not set then the thread will ignore all warnings with level notes. */
472
#define OPTION_SQL_NOTES (ULL(1) << 31) // THD, user
472
#define OPTION_SQL_NOTES (1ULL << 31) // THD, user
474
474
Force the used temporary table to be a MyISAM table (because we will use
475
475
fulltext functions when reading from it.
477
#define TMP_TABLE_FORCE_MYISAM (ULL(1) << 32)
478
#define OPTION_PROFILING (ULL(1) << 33)
477
#define TMP_TABLE_FORCE_MYISAM (1ULL << 32)
478
#define OPTION_PROFILING (1ULL << 33)
481
481
Dont report errors for individual rows,
482
482
But just report error on commit (or read ofcourse)
484
#define OPTION_ALLOW_BATCH (ULL(1) << 33) // THD, intern (slave)
484
#define OPTION_ALLOW_BATCH (1ULL << 33) // THD, intern (slave)
487
487
Maximum length of time zone name that we support