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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
1e1a1ec0
Commit
1e1a1ec0
authored
Aug 18, 2001
by
Sinisa@sinisa.nasamreza.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New startup options and some cleanups
parent
440bff25
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
28 additions
and
13 deletions
+28
-13
.bzrignore
.bzrignore
+1
-0
=6
=6
+0
-0
include/mysqld_error.h
include/mysqld_error.h
+2
-1
sql/mysql_priv.h
sql/mysql_priv.h
+1
-1
sql/mysqld.cc
sql/mysqld.cc
+7
-2
sql/share/english/errmsg.txt
sql/share/english/errmsg.txt
+1
-0
sql/sql_base.cc
sql/sql_base.cc
+12
-0
sql/sql_parse.cc
sql/sql_parse.cc
+4
-9
No files found.
.bzrignore
View file @
1e1a1ec0
...
...
@@ -391,3 +391,4 @@ support-files/mysql.spec
tags
tmp/*
vio/viotest-ssl
=6
=6
0 → 100644
View file @
1e1a1ec0
include/mysqld_error.h
View file @
1e1a1ec0
...
...
@@ -218,4 +218,5 @@
#define ER_WRONG_USAGE 1215
#define ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT 1216
#define ER_CANT_UPDATE_WITH_READLOCK 1217
#define ER_ERROR_MESSAGES 218
#define ER_MIXING_NOT_ALLOWED 1218
#define ER_ERROR_MESSAGES 219
sql/mysql_priv.h
View file @
1e1a1ec0
...
...
@@ -562,7 +562,7 @@ extern ulong keybuff_size,sortbuff_size,max_item_sort_length,table_cache_size,
extern
ulong
specialflag
,
current_pid
;
extern
bool
low_priority_updates
,
using_update_log
;
extern
bool
opt_sql_bin_update
,
opt_safe_show_db
,
opt_warnings
,
opt_safe_user_create
;
opt_safe_user_create
,
opt_no_mix_types
;
extern
char
language
[
LIBLEN
],
reg_ext
[
FN_EXTLEN
],
blob_newline
;
extern
const
char
**
errmesg
;
/* Error messages */
extern
const
char
*
default_tx_isolation_name
;
...
...
sql/mysqld.cc
View file @
1e1a1ec0
...
...
@@ -224,7 +224,7 @@ static bool opt_log,opt_update_log,opt_bin_log,opt_slow_log,opt_noacl,
opt_large_files
=
sizeof
(
my_off_t
)
>
4
;
bool
opt_sql_bin_update
=
0
,
opt_log_slave_updates
=
0
,
opt_safe_show_db
=
0
,
opt_show_slave_auth_info
=
0
,
opt_old_rpl_compat
=
0
,
opt_safe_user_create
=
0
;
opt_safe_user_create
=
0
,
opt_no_mix_types
=
0
;
FILE
*
bootstrap_file
=
0
;
int
segfaulted
=
0
;
// ensure we do not enter SIGSEGV handler twice
extern
MASTER_INFO
glob_mi
;
...
...
@@ -2521,7 +2521,7 @@ enum options {
OPT_MAX_BINLOG_DUMP_EVENTS
,
OPT_SPORADIC_BINLOG_DUMP_FAIL
,
OPT_SHOW_SLAVE_AUTH_INFO
,
OPT_OLD_RPL_COMPAT
,
OPT_SQL_MODE
,
OPT_SAFE_USER_CREATE
,
OPT_SLAVE_LOAD_TMPDIR
};
OPT_SLAVE_LOAD_TMPDIR
,
OPT_NO_MIX_TYPE
};
static
struct
option
long_options
[]
=
{
{
"ansi"
,
no_argument
,
0
,
'a'
},
...
...
@@ -2613,6 +2613,7 @@ static struct option long_options[] = {
{
"safemalloc-mem-limit"
,
required_argument
,
0
,
(
int
)
OPT_SAFEMALLOC_MEM_LIMIT
},
{
"new"
,
no_argument
,
0
,
'n'
},
{
"no-mix-table-types"
,
no_argument
,
0
,
(
int
)
OPT_NO_MIX_TYPE
},
{
"old-protocol"
,
no_argument
,
0
,
'o'
},
{
"old-rpl-compat"
,
no_argument
,
0
,
(
int
)
OPT_OLD_RPL_COMPAT
},
#ifdef ONE_THREAD
...
...
@@ -3094,6 +3095,7 @@ static void usage(void)
BACKUP or FORCE.
\n
\
--memlock Lock mysqld in memory
\n
\
-n, --new Use very new possible 'unsafe' functions
\n
\
--no-mix-table-types Do not use transactional and non-transactional tables in a single query
\n
-o, --old-protocol Use the old (3.20) protocol
\n
\
-P, --port=... Port number to use for connection
\n
"
);
#ifdef ONE_THREAD
...
...
@@ -3577,6 +3579,9 @@ static void get_options(int argc,char **argv)
case
(
int
)
OPT_LONG_FORMAT
:
opt_specialflag
|=
SPECIAL_LONG_LOG_FORMAT
;
break
;
case
(
int
)
OPT_NO_MIX_TYPE
:
opt_no_mix_types
=
1
;
break
;
case
(
int
)
OPT_SKIP_NETWORKING
:
opt_disable_networking
=
1
;
mysql_port
=
0
;
...
...
sql/share/english/errmsg.txt
View file @
1e1a1ec0
...
...
@@ -219,3 +219,4 @@
"Wrong usage of %s and %s",
"The used SELECT statements have a different number of columns",
"Can't execute the query because you have a conflicting read lock",
"Mixing transactional and non-transactional tables disabled by option",
\ No newline at end of file
sql/sql_base.cc
View file @
1e1a1ec0
...
...
@@ -1368,6 +1368,18 @@ int open_tables(THD *thd,TABLE_LIST *start)
tables
->
table
->
reginfo
.
lock_type
=
tables
->
lock_type
;
tables
->
table
->
grant
=
tables
->
grant
;
}
if
(
opt_no_mix_types
&&
start
)
{
bool
checking
;
TABLE_LIST
*
tl
;
for
(
tl
=
start
,
checking
=
tl
->
table
->
file
->
has_transactions
(),
tl
=
tl
->
next
;
tl
;
tl
=
tl
->
next
)
{
if
(((
tl
->
table
->
file
->
has_transactions
())
^
checking
))
{
send_error
(
&
thd
->
net
,
ER_MIXING_NOT_ALLOWED
);
DBUG_RETURN
(
-
1
);
}
}
}
thd
->
proc_info
=
0
;
DBUG_RETURN
(
result
);
}
...
...
sql/sql_parse.cc
View file @
1e1a1ec0
...
...
@@ -48,7 +48,6 @@ static void remove_escape(char *name);
static
void
refresh_status
(
void
);
static
bool
append_file_to_dir
(
char
**
filename_ptr
,
char
*
table_name
);
static
int
create_total_list
(
THD
*
thd
,
LEX
*
lex
,
TABLE_LIST
**
result
);
static
int
handle_create_select
(
THD
*
thd
,
LEX
*
lex
,
select_result
*
c_i
);
const
char
*
any_db
=
"*any*"
;
// Special symbol for check_access
...
...
@@ -1076,11 +1075,13 @@ mysql_execute_command(void)
/*
Skip if we are in the slave thread, some table rules have been given
and the table list says the query should not be replicated
TODO: UPDATE this for UNION
TODO: UPDATE this for UNION
. Updated by Sinisa !!!!!!!!!!!!!!!!!!!!!!
*/
if
(
lex
->
select_lex
.
next
&&
tables
&&
(
res
=
create_total_list
(
thd
,
lex
,
&
tables
)))
DBUG_VOID_RETURN
;
if
(
table_rules_on
&&
thd
->
slave_thread
&&
tables
&&
!
tables_ok
(
thd
,
tables
))
DBUG_VOID_RETURN
;
switch
(
lex
->
sql_command
)
{
case
SQLCOM_SELECT
:
{
...
...
@@ -1088,8 +1089,6 @@ mysql_execute_command(void)
if
(
select_lex
->
options
&
SELECT_DESCRIBE
)
lex
->
exchange
=
0
;
/* Save a call, as it's very uncomon that we use unions */
if
(
lex
->
select_lex
.
next
&&
(
res
=
create_total_list
(
thd
,
lex
,
&
tables
)))
break
;
if
(
tables
)
{
res
=
check_table_access
(
thd
,
...
...
@@ -1295,8 +1294,6 @@ mysql_execute_command(void)
if
(
select_lex
->
item_list
.
elements
)
// With select
{
select_result
*
result
;
if
((
res
=
create_total_list
(
thd
,
lex
,
&
tables
)))
break
;
if
(
!
(
lex
->
create_info
.
options
&
HA_LEX_CREATE_TMP_TABLE
)
&&
check_dup
(
thd
,
tables
->
db
,
tables
->
real_name
,
tables
->
next
))
...
...
@@ -1574,8 +1571,6 @@ mysql_execute_command(void)
case
SQLCOM_REPLACE_SELECT
:
case
SQLCOM_INSERT_SELECT
:
{
if
((
res
=
create_total_list
(
thd
,
lex
,
&
tables
)))
break
;
// Check that we have modify privileges for the first table and
// select privileges for the rest
...
...
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