mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-307 Add functionality for database comments
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.
This commit is contained in:
committed by
Robert Bindar
parent
9a8d1d84f8
commit
e9c6d5a1e8
63
mysql-test/main/comment_database.test
Normal file
63
mysql-test/main/comment_database.test
Normal file
@ -0,0 +1,63 @@
|
||||
--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;
|
Reference in New Issue
Block a user