WL#982: SHOW FIELDS: Change the values returned for DEFAULT field
Affects: Server-7.1 — Status: Assigned — Priority: Medium
Fix and/or change the current DEFAULT values that are returned in 4.1, so that they meet the CLI/ODBC specification requirements. Here is how the DEFAULT value should be, as per CLI 2.1 specification: If the default value is a numeric literal, then the 'DEFAULT' field from 'DESC table_name' or 'SHOW FIELDS[COLUMNS] FROM table_name' contains the character representation of the numeric literal with no enclosing single quotes. If the default value is a character string, then this column is that string enclosed in single quotes. If the default value a pseudo-literal, such as for DATE, TIME, and TIMESTAMP columns, then this column contains the keyword of the pseudo-literal (e.g. CURRENT DATE) with no enclosing quotes. If NULL was specified as the default value, then this column returns the word NULL, not enclosed in quotes. If no default value was specified, then this column is NULL. For example let's consider the following table definition: CREATE TABLE test_default(a int, b int NOT NULL, c INT DEFAULT NULL, d INT DEFAULT 1, e INT DEFAULT '1', f int DEFAULT 'NULL', g int NOT NULL PRIMARY KEY, h int NOT NULL PRIMARY KEY AUTO_INCREMENT) should contain the DEFAULT VALUES as: DEFAULT: --------- NULL "NULL" NULL, 1, "'1'", "'NULL'", NULL, NULL. Special considerations: 1. TIMESTAMP: Avoid sending the "0000-00-00 00:00:00" string as the DEFAULT value for TIMESTAMP field. Instead represent this using NOW().
Copyright (c) 2000, 2017, Oracle Corporation and/or its affiliates. All rights reserved.