Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
045e3114
Commit
045e3114
authored
Oct 11, 2000
by
serg@serg.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge
parents
284aa787
0a050cf4
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
420 additions
and
387 deletions
+420
-387
Docs/manual.texi
Docs/manual.texi
+381
-371
configure.in
configure.in
+1
-1
sql/lex.h
sql/lex.h
+1
-0
sql/mysql_priv.h
sql/mysql_priv.h
+6
-5
sql/mysqld.cc
sql/mysqld.cc
+2
-1
sql/sql_show.cc
sql/sql_show.cc
+24
-6
sql/sql_yacc.yy
sql/sql_yacc.yy
+5
-3
No files found.
Docs/manual.texi
View file @
045e3114
...
@@ -20022,6 +20022,10 @@ Create Table: CREATE TABLE t (
...
@@ -20022,6 +20022,10 @@ Create Table: CREATE TABLE t (
@end example
@end example
@code{SHOW CREATE TABLE} will quote table and column names according to
@code{SQL_QUOTE_SHOW_CREATE} option.
@ref{SET OPTION, , @code{SET OPTION SQL_QUOTE_SHOW_CREATE}}.
@findex EXPLAIN
@findex EXPLAIN
@findex SELECT, optimizing
@findex SELECT, optimizing
@node EXPLAIN, DESCRIBE, SHOW, Reference
@node EXPLAIN, DESCRIBE, SHOW, Reference
...
@@ -20565,7 +20569,7 @@ for a table with an auto_increment row with the following construct:
...
@@ -20565,7 +20569,7 @@ for a table with an auto_increment row with the following construct:
@code{WHERE auto_increment_column IS NULL}. This is used by some
@code{WHERE auto_increment_column IS NULL}. This is used by some
ODBC programs like Access.
ODBC programs like Access.
@item
SET
AUTOCOMMIT= 0 | 1
@item AUTOCOMMIT= 0 | 1
If set to @code{1} all changes to a table will be done at once. To start
If set to @code{1} all changes to a table will be done at once. To start
an multi command transaction you have to use the @code{BEGIN}
an multi command transaction you have to use the @code{BEGIN}
statement. @xref{COMMIT}. If set to @code{0} you have to use @code{COMMIT} /
statement. @xref{COMMIT}. If set to @code{0} you have to use @code{COMMIT} /
...
@@ -20634,6 +20638,12 @@ If set to @code{0}, no logging will be done to the update log for the client,
...
@@ -20634,6 +20638,12 @@ If set to @code{0}, no logging will be done to the update log for the client,
if the client has the @strong{process} privilege. This does not affect the
if the client has the @strong{process} privilege. This does not affect the
standard log!
standard log!
@item SQL_QUOTE_SHOW_CREATE = 0 | 1
If set to @code{1}, @code{SHOW CREATE TABLE} will quote
table and column names. This is @strong{on} by default,
for replication of tables with fancy column names to work.
@ref{SHOW CREATE TABLE, , @code{SHOW CREATE TABLE}}.
@item TIMESTAMP = timestamp_value | DEFAULT
@item TIMESTAMP = timestamp_value | DEFAULT
Set the time for this client. This is used to get the original timestamp if
Set the time for this client. This is used to get the original timestamp if
you use the update log to restore rows.
you use the update log to restore rows.
configure.in
View file @
045e3114
...
@@ -1238,7 +1238,7 @@ AC_CHECK_FUNCS(alarm bmove \
...
@@ -1238,7 +1238,7 @@ AC_CHECK_FUNCS(alarm bmove \
cuserid fcntl fconvert \
cuserid fcntl fconvert \
getrusage getpwuid getcwd getrlimit getwd index stpcpy locking longjmp \
getrusage getpwuid getcwd getrlimit getwd index stpcpy locking longjmp \
perror pread realpath rename \
perror pread realpath rename \
socket strnlen madvise \
socket strnlen madvise
mkstemp
\
strtol strtoul strtoull snprintf tempnam thr_setconcurrency \
strtol strtoul strtoull snprintf tempnam thr_setconcurrency \
gethostbyaddr_r gethostbyname_r getpwnam \
gethostbyaddr_r gethostbyname_r getpwnam \
bfill bzero bcmp strstr strpbrk strerror\
bfill bzero bcmp strstr strpbrk strerror\
...
...
sql/lex.h
View file @
045e3114
...
@@ -275,6 +275,7 @@ static SYMBOL symbols[] = {
...
@@ -275,6 +275,7 @@ static SYMBOL symbols[] = {
{
"SQL_LOG_UPDATE"
,
SYM
(
SQL_LOG_UPDATE
),
0
,
0
},
{
"SQL_LOG_UPDATE"
,
SYM
(
SQL_LOG_UPDATE
),
0
,
0
},
{
"SQL_LOW_PRIORITY_UPDATES"
,
SYM
(
SQL_LOW_PRIORITY_UPDATES
),
0
,
0
},
{
"SQL_LOW_PRIORITY_UPDATES"
,
SYM
(
SQL_LOW_PRIORITY_UPDATES
),
0
,
0
},
{
"SQL_MAX_JOIN_SIZE"
,
SYM
(
SQL_MAX_JOIN_SIZE
),
0
,
0
},
{
"SQL_MAX_JOIN_SIZE"
,
SYM
(
SQL_MAX_JOIN_SIZE
),
0
,
0
},
{
"SQL_QUOTE_SHOW_CREATE"
,
SYM
(
SQL_QUOTE_SHOW_CREATE
),
0
,
0
},
{
"SQL_SAFE_UPDATES"
,
SYM
(
SQL_SAFE_UPDATES
),
0
,
0
},
{
"SQL_SAFE_UPDATES"
,
SYM
(
SQL_SAFE_UPDATES
),
0
,
0
},
{
"SQL_SELECT_LIMIT"
,
SYM
(
SQL_SELECT_LIMIT
),
0
,
0
},
{
"SQL_SELECT_LIMIT"
,
SYM
(
SQL_SELECT_LIMIT
),
0
,
0
},
{
"SQL_SMALL_RESULT"
,
SYM
(
SQL_SMALL_RESULT
),
0
,
0
},
{
"SQL_SMALL_RESULT"
,
SYM
(
SQL_SMALL_RESULT
),
0
,
0
},
...
...
sql/mysql_priv.h
View file @
045e3114
...
@@ -158,6 +158,7 @@ void kill_one_thread(THD *thd, ulong id);
...
@@ -158,6 +158,7 @@ void kill_one_thread(THD *thd, ulong id);
#define OPTION_AUTO_COMMIT OPTION_BIN_LOG*2
#define OPTION_AUTO_COMMIT OPTION_BIN_LOG*2
#define OPTION_BEGIN OPTION_AUTO_COMMIT*2
#define OPTION_BEGIN OPTION_AUTO_COMMIT*2
#define OPTION_QUICK OPTION_BEGIN*2
#define OPTION_QUICK OPTION_BEGIN*2
#define OPTION_QUOTE_SHOW_CREATE OPTION_QUICK*2
#define RAID_BLOCK_SIZE 1024
#define RAID_BLOCK_SIZE 1024
...
...
sql/mysqld.cc
View file @
045e3114
...
@@ -188,7 +188,8 @@ uint test_flags, select_errors=0, dropping_tables=0,ha_open_options=0;
...
@@ -188,7 +188,8 @@ uint test_flags, select_errors=0, dropping_tables=0,ha_open_options=0;
uint
volatile
thread_count
=
0
,
thread_running
=
0
,
kill_cached_threads
=
0
,
uint
volatile
thread_count
=
0
,
thread_running
=
0
,
kill_cached_threads
=
0
,
wake_thread
=
0
,
global_read_lock
=
0
;
wake_thread
=
0
,
global_read_lock
=
0
;
ulong
thd_startup_options
=
(
OPTION_UPDATE_LOG
|
OPTION_AUTO_IS_NULL
|
ulong
thd_startup_options
=
(
OPTION_UPDATE_LOG
|
OPTION_AUTO_IS_NULL
|
OPTION_BIN_LOG
|
OPTION_AUTO_COMMIT
);
OPTION_BIN_LOG
|
OPTION_AUTO_COMMIT
|
OPTION_QUOTE_SHOW_CREATE
);
uint
protocol_version
=
PROTOCOL_VERSION
;
uint
protocol_version
=
PROTOCOL_VERSION
;
ulong
keybuff_size
,
sortbuff_size
,
max_item_sort_length
,
table_cache_size
,
ulong
keybuff_size
,
sortbuff_size
,
max_item_sort_length
,
table_cache_size
,
max_join_size
,
join_buff_size
,
tmp_table_size
,
thread_stack
,
max_join_size
,
join_buff_size
,
tmp_table_size
,
thread_stack
,
...
...
sql/sql_show.cc
View file @
045e3114
...
@@ -37,7 +37,10 @@ static int mysql_find_files(THD *thd,List<char> *files, const char *db,
...
@@ -37,7 +37,10 @@ static int mysql_find_files(THD *thd,List<char> *files, const char *db,
const
char
*
path
,
const
char
*
wild
,
bool
dir
);
const
char
*
path
,
const
char
*
wild
,
bool
dir
);
static
int
static
int
store_create_info
(
THD
*
thd
,
TABLE
*
table
,
String
*
packet
);
store_create_info
(
THD
*
thd
,
TABLE
*
table
,
String
*
packet
);
static
void
append_identifier
(
THD
*
thd
,
String
*
packet
,
const
char
*
name
);
/****************************************************************************
/****************************************************************************
** Send list of databases
** Send list of databases
...
@@ -668,8 +671,23 @@ mysqld_dump_create_info(THD *thd, TABLE *table, int fd)
...
@@ -668,8 +671,23 @@ mysqld_dump_create_info(THD *thd, TABLE *table, int fd)
DBUG_RETURN
(
0
);
DBUG_RETURN
(
0
);
}
}
static
void
append_identifier
(
THD
*
thd
,
String
*
packet
,
const
char
*
name
)
{
if
(
thd
->
options
&
OPTION_QUOTE_SHOW_CREATE
)
{
packet
->
append
(
"`"
,
1
);
packet
->
append
(
name
);
packet
->
append
(
"`"
,
1
);
}
else
{
packet
->
append
(
name
);
}
}
static
int
static
int
store_create_info
(
THD
*
thd
,
TABLE
*
table
,
String
*
packet
)
store_create_info
(
THD
*
thd
,
TABLE
*
table
,
String
*
packet
)
{
{
DBUG_ENTER
(
"store_create_info"
);
DBUG_ENTER
(
"store_create_info"
);
DBUG_PRINT
(
"enter"
,(
"table: %s"
,
table
->
real_name
));
DBUG_PRINT
(
"enter"
,(
"table: %s"
,
table
->
real_name
));
...
@@ -680,7 +698,7 @@ store_create_info(THD *thd, TABLE *table, String* packet)
...
@@ -680,7 +698,7 @@ store_create_info(THD *thd, TABLE *table, String* packet)
char
tmp
[
MAX_FIELD_WIDTH
];
char
tmp
[
MAX_FIELD_WIDTH
];
String
type
(
tmp
,
sizeof
(
tmp
));
String
type
(
tmp
,
sizeof
(
tmp
));
packet
->
append
(
"CREATE TABLE "
,
13
);
packet
->
append
(
"CREATE TABLE "
,
13
);
packet
->
append
(
table
->
real_name
);
append_identifier
(
thd
,
packet
,
table
->
real_name
);
packet
->
append
(
" (
\n
"
,
3
);
packet
->
append
(
" (
\n
"
,
3
);
Field
**
ptr
,
*
field
;
Field
**
ptr
,
*
field
;
...
@@ -691,7 +709,7 @@ store_create_info(THD *thd, TABLE *table, String* packet)
...
@@ -691,7 +709,7 @@ store_create_info(THD *thd, TABLE *table, String* packet)
uint
flags
=
field
->
flags
;
uint
flags
=
field
->
flags
;
packet
->
append
(
" "
,
2
);
packet
->
append
(
" "
,
2
);
packet
->
append
(
field
->
field_name
);
append_identifier
(
thd
,
packet
,
field
->
field_name
);
packet
->
append
(
' '
);
packet
->
append
(
' '
);
// check for surprises from the previous call to Field::sql_type()
// check for surprises from the previous call to Field::sql_type()
if
(
type
.
ptr
()
!=
tmp
)
if
(
type
.
ptr
()
!=
tmp
)
...
@@ -746,7 +764,7 @@ store_create_info(THD *thd, TABLE *table, String* packet)
...
@@ -746,7 +764,7 @@ store_create_info(THD *thd, TABLE *table, String* packet)
packet
->
append
(
"KEY "
,
4
);
packet
->
append
(
"KEY "
,
4
);
if
(
i
!=
primary_key
)
if
(
i
!=
primary_key
)
packet
->
append
(
key_info
->
name
);
append_identifier
(
thd
,
packet
,
key_info
->
name
);
packet
->
append
(
'('
);
packet
->
append
(
'('
);
...
@@ -756,7 +774,7 @@ store_create_info(THD *thd, TABLE *table, String* packet)
...
@@ -756,7 +774,7 @@ store_create_info(THD *thd, TABLE *table, String* packet)
packet
->
append
(
','
);
packet
->
append
(
','
);
if
(
key_part
->
field
)
if
(
key_part
->
field
)
packet
->
append
(
key_part
->
field
->
field_name
);
append_identifier
(
thd
,
packet
,
key_part
->
field
->
field_name
);
if
(
!
key_part
->
field
||
if
(
!
key_part
->
field
||
(
key_part
->
length
!=
(
key_part
->
length
!=
table
->
field
[
key_part
->
fieldnr
-
1
]
->
key_length
()
&&
table
->
field
[
key_part
->
fieldnr
-
1
]
->
key_length
()
&&
...
...
sql/sql_yacc.yy
View file @
045e3114
...
@@ -407,6 +407,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
...
@@ -407,6 +407,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token SQL_WARNINGS
%token SQL_WARNINGS
%token SQL_AUTO_IS_NULL
%token SQL_AUTO_IS_NULL
%token SQL_SAFE_UPDATES
%token SQL_SAFE_UPDATES
%token SQL_QUOTE_SHOW_CREATE
%left SET_VAR
%left SET_VAR
%left OR_OR_CONCAT OR
%left OR_OR_CONCAT OR
...
@@ -2625,6 +2626,7 @@ set_option:
...
@@ -2625,6 +2626,7 @@ set_option:
| SQL_AUTO_IS_NULL { $$= OPTION_AUTO_IS_NULL; }
| SQL_AUTO_IS_NULL { $$= OPTION_AUTO_IS_NULL; }
| SQL_SAFE_UPDATES { $$= OPTION_SAFE_UPDATES; }
| SQL_SAFE_UPDATES { $$= OPTION_SAFE_UPDATES; }
| SQL_BUFFER_RESULT { $$= OPTION_BUFFER_RESULT; }
| SQL_BUFFER_RESULT { $$= OPTION_BUFFER_RESULT; }
| SQL_QUOTE_SHOW_CREATE { $$= OPTION_QUOTE_SHOW_CREATE; }
/* Lock function */
/* Lock function */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment