Devel SQL mode

Component ID

1207626

Component name

Devel SQL mode

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

Switches the SQL mode for MySQL servers early in Drupal's boostrap process. Created as a quick way to check compatibility with PostgreSQL queries without having to actually connect to a different database server.

This uses MySQL's SET SESSION, but it really needs SET GLOBAL to keep the variable through the entire pageload. The GLOBAL option requires the web user to have SUPER permission, which isn't a good idea to give to a production server account.

This really ought to save the standard setting to a global variable on hook_boot(), then reset it on hook_exit(). It doesn't do that either.

Available SQL modes for configuration are as follows:

  • ANSI
  • STRICT_TRANS_TABLES
  • TRADITIONAL
  • ALLOW_INVALID_DATES
  • ANSI_QUOTES
  • ERROR_FOR_DIVISION_BY_ZERO
  • HIGH_NOT_PRECEDENCE
  • IGNORE_SPACE
  • NO_AUTO_CREATE_USER
  • NO_AUTO_VALUE_ON_ZERO
  • NO_BACKSLASH_ESCAPES
  • NO_DIR_IN_CREATE
  • NO_ENGINE_SUBSTITUTION
  • NO_FIELD_OPTIONS
  • NO_KEY_OPTIONS
  • NO_TABLE_OPTIONS
  • NO_UNSIGNED_SUBTRACTION
  • NO_ZERO_DATE
  • NO_ZERO_IN_DATE
  • ONLY_FULL_GROUP_BY
  • PAD_CHAR_TO_FULL_LENGTH
  • PIPES_AS_CONCAT
  • REAL_AS_FLOAT
  • STRICT_ALL_TABLES
  • DB2
  • MAXDB
  • MSSQL
  • MYSQL323
  • MYSQL40
  • ORACLE
  • POSTGRESQL