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
8cba72fe
Commit
8cba72fe
authored
Jun 04, 2002
by
monty@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge work:/home/bk/mysql-4.0 into hundin.mysql.fi:/my/bk/mysql-4.0
parents
490a40d6
4b1836ee
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
83 additions
and
55 deletions
+83
-55
Docs/manual.texi
Docs/manual.texi
+3
-0
client/mysqltest.c
client/mysqltest.c
+5
-1
mysql-test/r/alter_table.result
mysql-test/r/alter_table.result
+8
-0
mysql-test/r/func_math.result
mysql-test/r/func_math.result
+2
-0
mysql-test/t/alter_table.test
mysql-test/t/alter_table.test
+10
-0
mysys/my_gethostbyname.c
mysys/my_gethostbyname.c
+2
-5
sql/hostname.cc
sql/hostname.cc
+1
-1
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+6
-5
sql/item_cmpfunc.h
sql/item_cmpfunc.h
+3
-9
sql/mysqld.cc
sql/mysqld.cc
+3
-0
sql/sql_analyse.cc
sql/sql_analyse.cc
+16
-11
sql/sql_parse.cc
sql/sql_parse.cc
+1
-1
sql/sql_table.cc
sql/sql_table.cc
+14
-14
sql/sql_yacc.yy
sql/sql_yacc.yy
+3
-4
vio/test-sslserver.c
vio/test-sslserver.c
+6
-4
No files found.
Docs/manual.texi
View file @
8cba72fe
...
...
@@ -49343,6 +49343,9 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
@itemize @bullet
@item
Fixed that @code{ALTER TABLE table_name RENAME new_table_name} is as fast
as @code{RENAME TABLE}.
@item
Fixed bug in @code{GROUP BY} with two or more fields, where at least one
field can contain @code{NULL} values.
@item
client/mysqltest.c
View file @
8cba72fe
...
...
@@ -42,7 +42,7 @@
**********************************************************************/
#define MTEST_VERSION "1.2
3
"
#define MTEST_VERSION "1.2
4
"
#include <my_global.h>
#include <mysql_embed.h>
...
...
@@ -1446,6 +1446,8 @@ int do_connect(struct st_query* q)
die
(
"Failed on mysql_init()"
);
if
(
opt_compress
)
mysql_options
(
&
next_con
->
mysql
,
MYSQL_OPT_COMPRESS
,
NullS
);
mysql_options
(
&
next_con
->
mysql
,
MYSQL_OPT_LOCAL_INFILE
,
0
);
if
(
con_sock
&&
!
free_con_sock
&&
*
con_sock
&&
*
con_sock
!=
FN_LIBCHAR
)
con_sock
=
fn_format
(
buff
,
con_sock
,
TMPDIR
,
""
,
0
);
if
(
!
con_db
[
0
])
...
...
@@ -2355,6 +2357,8 @@ int main(int argc, char** argv)
die
(
"Failed in mysql_init()"
);
if
(
opt_compress
)
mysql_options
(
&
cur_con
->
mysql
,
MYSQL_OPT_COMPRESS
,
NullS
);
mysql_options
(
&
cur_con
->
mysql
,
MYSQL_OPT_LOCAL_INFILE
,
0
);
cur_con
->
name
=
my_strdup
(
"default"
,
MYF
(
MY_WME
));
if
(
!
cur_con
->
name
)
die
(
"Out of memory"
);
...
...
mysql-test/r/alter_table.result
View file @
8cba72fe
...
...
@@ -114,3 +114,11 @@ i
3
4
drop table t1;
create table t1 (i int unsigned not null auto_increment primary key);
alter table t1 rename t2;
alter table t2 rename t1, add c char(10) comment "no comment";
show columns from t1;
Field Type Null Key Default Extra
i int(10) unsigned PRI NULL auto_increment
c char(10) YES NULL
drop table t1;
mysql-test/r/func_math.result
View file @
8cba72fe
...
...
@@ -4,8 +4,10 @@ floor(5.5) floor(-5.5)
select ceiling(5.5),ceiling(-5.5);
ceiling(5.5) ceiling(-5.5)
6 -5
select truncate(52.64,1),truncate(52.64,2),truncate(52.64,-1),truncate(52.64,-2), truncate(-52.64,1),truncate(-52.64,-1);
truncate(52.64,1) truncate(52.64,2) truncate(52.64,-1) truncate(52.64,-2) truncate(-52.64,1) truncate(-52.64,-1)
52.6 52.64 50 0 -52.6 -50
select round(5.5),round(-5.5);
round(5.5) round(-5.5)
6 -6
select round(5.64,1),round(5.64,2),round(5.64,-1),round(5.64,-2);
...
...
mysql-test/t/alter_table.test
View file @
8cba72fe
...
...
@@ -105,3 +105,13 @@ insert into t1 values (null),(null),(null),(null);
alter
table
t1
drop
i
,
add
i
int
unsigned
not
null
auto_increment
,
drop
primary
key
,
add
primary
key
(
i
);
select
*
from
t1
;
drop
table
t1
;
#
# Alter table and rename
#
create
table
t1
(
i
int
unsigned
not
null
auto_increment
primary
key
);
alter
table
t1
rename
t2
;
alter
table
t2
rename
t1
,
add
c
char
(
10
)
comment
"no comment"
;
show
columns
from
t1
;
drop
table
t1
;
mysys/my_gethostbyname.c
View file @
8cba72fe
...
...
@@ -18,7 +18,9 @@
/* Thread safe version of gethostbyname_r() */
#include "mysys_priv.h"
#ifdef THREAD
#include "my_pthread.h"
#endif
#include <assert.h>
#if !defined(MSDOS) && !defined(__WIN__)
#include <netdb.h>
...
...
@@ -28,11 +30,6 @@
/* This file is not needed if my_gethostbyname_r is a macro */
#if !defined(my_gethostbyname_r)
#ifndef THREAD
#define pthread_mutex_lock(A)
#define pthread_mutex_unlock(A)
#endif
/*
Emulate SOLARIS style calls, not because it's better, but just to make the
usage of getbostbyname_r simpler.
...
...
sql/hostname.cc
View file @
8cba72fe
...
...
@@ -58,7 +58,7 @@ void hostname_cache_refresh()
bool
hostname_cache_init
()
{
host_entry
*
tmp
;
uint
offset
=
(
uint
)
((
char
*
)
(
&
tmp
->
ip
)
-
(
char
*
)
&
tmp
);
uint
offset
=
(
uint
)
((
char
*
)
(
&
tmp
->
ip
)
-
(
char
*
)
tmp
);
(
void
)
pthread_mutex_init
(
&
LOCK_hostname
,
MY_MUTEX_INIT_SLOW
);
if
(
!
(
hostname_cache
=
new
hash_filo
(
HOST_CACHE_SIZE
,
offset
,
...
...
sql/item_cmpfunc.cc
View file @
8cba72fe
...
...
@@ -1304,13 +1304,14 @@ bool Item_func_like::fix_fields(THD *thd,struct st_table_list *tlist)
{
pattern
=
first
+
1
;
pattern_len
=
len
-
2
;
DBUG_PRINT
(
"TurboBM"
,
(
"Initializing pattern: '%s'..."
,
first
));
int
*
suff
=
(
int
*
)
thd
->
alloc
(
sizeof
(
int
[
pattern_len
+
1
]));
bmGs
=
(
int
*
)
thd
->
alloc
(
sizeof
(
int
[
pattern_len
+
1
]));
bmBc
=
(
int
*
)
thd
->
alloc
(
sizeof
(
int
[
alphabet_size
]));
DBUG_PRINT
(
"info"
,
(
"Initializing pattern: '%s'"
,
first
));
int
*
suff
=
(
int
*
)
thd
->
alloc
(
sizeof
(
int
)
*
((
pattern_len
+
1
)
*
2
+
alphabet_size
));
bmGs
=
suff
+
pattern_len
+
1
;
bmBc
=
bmGs
+
pattern_len
+
1
;
turboBM_compute_good_suffix_shifts
(
suff
);
turboBM_compute_bad_character_shifts
();
DBUG_PRINT
(
"
turboBM
"
,(
"done"
));
DBUG_PRINT
(
"
info
"
,(
"done"
));
}
}
return
0
;
...
...
sql/item_cmpfunc.h
View file @
8cba72fe
...
...
@@ -495,16 +495,10 @@ class Item_func_like :public Item_bool_func2
enum
{
alphabet_size
=
256
};
public:
Item_func_like
::
Item_func_like
(
Item
*
a
,
Item
*
b
,
char
*
escape_arg
)
:
Item_bool_func2
(
a
,
b
),
escape
(
*
escape_arg
),
canDoTurboBM
(
false
),
pattern
(
0
),
pattern_len
(
0
),
bmGs
(
0
),
bmBc
(
0
)
Item_func_like
(
Item
*
a
,
Item
*
b
,
char
*
escape_arg
)
:
Item_bool_func2
(
a
,
b
),
escape
(
*
escape_arg
),
canDoTurboBM
(
false
),
pattern
(
0
),
pattern_len
(
0
),
bmGs
(
0
),
bmBc
(
0
)
{}
longlong
val_int
();
enum
Functype
functype
()
const
{
return
LIKE_FUNC
;
}
optimize_type
select_optimize
()
const
;
...
...
sql/mysqld.cc
View file @
8cba72fe
...
...
@@ -4004,6 +4004,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
exit
(
0
);
case
'T'
:
test_flags
=
argument
?
(
uint
)
atoi
(
argument
)
:
0
;
test_flags
&=
~
TEST_NO_THREADS
;
opt_endinfo
=
1
;
break
;
case
(
int
)
OPT_BIG_TABLES
:
...
...
@@ -4192,8 +4193,10 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
opt_specialflag
|=
SPECIAL_SKIP_SHOW_DB
;
mysql_port
=
0
;
break
;
#ifdef ONE_THREAD
case
(
int
)
OPT_ONE_THREAD
:
test_flags
|=
TEST_NO_THREADS
;
#endif
break
;
case
(
int
)
OPT_WANT_CORE
:
test_flags
|=
TEST_CORE_ON_SIGNAL
;
...
...
sql/sql_analyse.cc
View file @
8cba72fe
...
...
@@ -90,21 +90,21 @@ proc_analyse_init(THD *thd, ORDER *param, select_result *result,
(
*
param
->
item
)
->
val
()
<
0
)
{
net_printf
(
&
thd
->
net
,
ER_WRONG_PARAMETERS_TO_PROCEDURE
,
proc_name
);
return
0
;
DBUG_RETURN
(
0
)
;
}
pc
->
max_tree_elements
=
(
uint
)
(
*
param
->
item
)
->
val_int
();
param
=
param
->
next
;
if
(
param
->
next
)
// no third parameter possible
{
net_printf
(
&
thd
->
net
,
ER_WRONG_PARAMCOUNT_TO_PROCEDURE
,
proc_name
);
return
0
;
DBUG_RETURN
(
0
)
;
}
// second parameter
if
((
*
param
->
item
)
->
type
()
!=
Item
::
INT_ITEM
||
(
*
param
->
item
)
->
val
()
<
0
)
{
net_printf
(
&
thd
->
net
,
ER_WRONG_PARAMETERS_TO_PROCEDURE
,
proc_name
);
return
0
;
DBUG_RETURN
(
0
)
;
}
pc
->
max_treemem
=
(
uint
)
(
*
param
->
item
)
->
val_int
();
}
...
...
@@ -112,7 +112,7 @@ proc_analyse_init(THD *thd, ORDER *param, select_result *result,
(
*
param
->
item
)
->
val
()
<
0
)
{
net_printf
(
&
thd
->
net
,
ER_WRONG_PARAMETERS_TO_PROCEDURE
,
proc_name
);
return
0
;
DBUG_RETURN
(
0
)
;
}
// if only one parameter was given, it will be the value of max_tree_elements
else
...
...
@@ -148,21 +148,26 @@ proc_analyse_init(THD *thd, ORDER *param, select_result *result,
if
(
item
->
result_type
()
==
STRING_RESULT
)
*
f_info
++
=
new
field_str
(
item
,
pc
);
}
return
pc
;
}
// proc_analyse_init
DBUG_RETURN
(
pc
)
;
}
// return 1 if number, else return 0
// store info about found number in info
// NOTE:It is expected, that elements of 'info' are all zero!
/*
Return 1 if number, else return 0
store info about found number in info
NOTE:It is expected, that elements of 'info' are all zero!
*/
bool
test_if_number
(
NUM_INFO
*
info
,
const
char
*
str
,
uint
str_len
)
{
const
char
*
begin
,
*
end
=
str
+
str_len
;
DBUG_ENTER
(
"test_if_number"
);
// MySQL removes any endspaces of a string, so we must take care only of
// spaces in front of a string
/*
MySQL removes any endspaces of a string, so we must take care only of
spaces in front of a string
*/
for
(;
str
!=
end
&&
isspace
(
*
str
);
str
++
)
;
if
(
str
==
end
)
return
0
;
...
...
sql/sql_parse.cc
View file @
8cba72fe
...
...
@@ -589,7 +589,7 @@ pthread_handler_decl(handle_one_connection,arg)
#if !defined( __WIN__) && !defined(OS2) // Win32 calls this in pthread_create
// The following calls needs to be done before we call DBUG_ macros
if
(
my_thread_init
())
if
(
!
(
test_flags
&
TEST_NO_THREADS
)
&
my_thread_init
())
{
close_connection
(
&
thd
->
net
,
ER_OUT_OF_RESOURCES
);
statistic_increment
(
aborted_connects
,
&
LOCK_thread_count
);
...
...
sql/sql_table.cc
View file @
8cba72fe
...
...
@@ -1235,7 +1235,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
thd
->
proc_info
=
"init"
;
table_name
=
table_list
->
real_name
;
db
=
table_list
->
db
;
if
(
!
new_db
)
if
(
!
new_db
||
!
strcmp
(
new_db
,
db
)
)
new_db
=
db
;
used_fields
=
create_info
->
used_fields
;
...
...
@@ -1289,10 +1289,10 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
/* In some simple cases we need not to recreate the table */
thd
->
proc_info
=
"setup"
;
if
(
simple_alter
)
if
(
simple_alter
&&
!
table
->
tmp_table
)
{
error
=
0
;
if
(
new_name
!=
table_name
)
if
(
new_name
!=
table_name
||
new_db
!=
db
)
{
thd
->
proc_info
=
"rename"
;
VOID
(
pthread_mutex_lock
(
&
LOCK_open
));
...
...
@@ -1315,9 +1315,9 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
}
if
(
!
error
)
{
switch
(
keys_onoff
)
{
case
LEAVE_AS_IS
:
break
;
switch
(
keys_onoff
)
{
case
LEAVE_AS_IS
:
break
;
case
ENABLE
:
error
=
table
->
file
->
activate_all_index
(
thd
);
break
;
...
...
@@ -1720,7 +1720,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
thd
->
proc_info
=
"rename result table"
;
sprintf
(
old_name
,
"%s2-%lx-%lx"
,
tmp_file_prefix
,
current_pid
,
thd
->
thread_id
);
if
(
new_name
!=
table_name
)
if
(
new_name
!=
table_name
||
new_db
!=
db
)
{
if
(
!
access
(
new_name_buff
,
F_OK
))
{
...
...
@@ -1738,7 +1738,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
{
/*
Win32 and InnoDB can't drop a table that is in use, so we must
close
all
the original table at before doing the rename
close the original table at before doing the rename
*/
table_name
=
thd
->
strdup
(
table_name
);
// must be saved
if
(
close_cached_table
(
thd
,
table
))
...
...
sql/sql_yacc.yy
View file @
8cba72fe
...
...
@@ -1069,7 +1069,8 @@ attribute:
| AUTO_INC { Lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; }
| PRIMARY_SYM KEY_SYM { Lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG; }
| UNIQUE_SYM { Lex->type|= UNIQUE_FLAG; }
| UNIQUE_SYM KEY_SYM { Lex->type|= UNIQUE_KEY_FLAG; };
| UNIQUE_SYM KEY_SYM { Lex->type|= UNIQUE_KEY_FLAG; }
| COMMENT_SYM text_literal {};
opt_binary:
/* empty */ {}
...
...
@@ -1204,7 +1205,6 @@ alter_list_item:
lex->default_value, $3.str,
lex->interval))
YYABORT;
lex->simple_alter=0;
}
opt_place
| DROP opt_column field_ident opt_restrict
...
...
@@ -1245,7 +1245,6 @@ alter_list_item:
LEX *lex=Lex;
lex->select->db=$3->db.str;
lex->name= $3->table.str;
lex->simple_alter=0;
}
| create_table_options { Lex->simple_alter=0; }
| order_clause { Lex->simple_alter=0; };
...
...
vio/test-sslserver.c
View file @
8cba72fe
...
...
@@ -36,12 +36,14 @@ const char *VER="0.2";
const
char
*
default_dbug_option
=
"d:t:O,-"
;
#endif
#if 0
static void
fatal_error( const char* r)
{
perror(r);
exit(0);
}
#endif
typedef
struct
{
int
sd
;
...
...
@@ -72,11 +74,11 @@ client_thread( void* arg)
{
my_thread_init
();
do_ssl_stuff
((
TH_ARGS
*
)
arg
);
return
0
;
}
int
main
(
int
argc
__attribute__
((
unused
)),
char
**
argv
)
main
(
int
argc
__attribute__
((
unused
)),
char
**
argv
)
{
char
server_key
[]
=
"../SSL/server-key.pem"
,
server_cert
[]
=
"../SSL/server-cert.pem"
;
...
...
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