mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
e9c6d5a1e8
This commit adds a new feature to the server to add comments at the database level. 1024 bytes is the maximum comment length allowed. If the comment length exceeds this limit, a new error/warning code 4144 is thrown, based on whether thd->is_strict_mode() is true/false. The database comment is also added to the db.opt file, as well as to the information_schema.schemata table.
63 lines
4.6 KiB
Text
63 lines
4.6 KiB
Text
--echo #
|
|
--echo # MDEV-307: Add functionality for database comments
|
|
--echo #
|
|
|
|
# Check an error state
|
|
--error ER_PARSE_ERROR
|
|
CREATE DATABASE db1 COMMENT=;
|
|
|
|
# 1024 bytes
|
|
CREATE DATABASE db1
|
|
COMMENT='abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcd';
|
|
SHOW CREATE DATABASE db1;
|
|
SELECT schema_comment, char_length(schema_comment)
|
|
FROM information_schema.schemata
|
|
WHERE schema_name='db1';
|
|
DROP DATABASE db1;
|
|
|
|
# 1025 bytes (warning)
|
|
SET SQL_MODE='';
|
|
CREATE DATABASE db1
|
|
COMMENT='abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcde';
|
|
SHOW CREATE DATABASE db1;
|
|
SELECT schema_comment, char_length(schema_comment)
|
|
FROM information_schema.schemata
|
|
WHERE schema_name='db1';
|
|
DROP DATABASE db1;
|
|
SET SQL_MODE='TRADITIONAL';
|
|
|
|
# 1025 bytes (error)
|
|
--error ER_TOO_LONG_DATABASE_COMMENT
|
|
CREATE DATABASE db1
|
|
COMMENT='abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcde';
|
|
SELECT schema_comment, char_length(schema_comment)
|
|
FROM information_schema.schemata
|
|
WHERE schema_name='db1';
|
|
|
|
CREATE DATABASE db1 COMMENT 'db1';
|
|
SHOW CREATE DATABASE db1;
|
|
ALTER DATABASE db1 COMMENT = "db1 comment";
|
|
SELECT * FROM information_schema.schemata
|
|
WHERE schema_name='db1';
|
|
DROP DATABASE db1;
|
|
|
|
CREATE DATABASE db1;
|
|
USE db1;
|
|
ALTER DATABASE COMMENT 'db1 comment' CHARACTER SET 'utf8';
|
|
SHOW CREATE DATABASE db1;
|
|
ALTER DATABASE db1 COMMENT 'this is db1 comment';
|
|
SHOW CREATE DATABASE db1;
|
|
ALTER DATABASE CHARACTER SET 'latin1';
|
|
SHOW CREATE DATABASE db1;
|
|
DROP DATABASE db1;
|
|
|
|
# Test the case when the database is named 'comment'
|
|
CREATE DATABASE comment COMMENT 'comment' CHARACTER SET 'latin2';
|
|
SHOW CREATE DATABASE comment;
|
|
ALTER DATABASE comment COMMENT 'comment comment';
|
|
SHOW CREATE DATABASE comment;
|
|
USE comment;
|
|
ALTER DATABASE COMMENT 'comment';
|
|
SELECT * FROM information_schema.schemata
|
|
WHERE schema_name='comment';
|
|
DROP DATABASE comment;
|