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
8161ec4c
Commit
8161ec4c
authored
Oct 31, 2002
by
salle@geopard.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merge akeremidarski@work.mysql.com:/home/bk/mysql
into geopard.(none):/storage/bk/mysql-3.23
parents
0dacb59d
629576af
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
225 additions
and
27 deletions
+225
-27
Build-tools/Do-compile
Build-tools/Do-compile
+4
-2
Docs/manual.texi
Docs/manual.texi
+5
-0
innobase/pars/pars0grm.y
innobase/pars/pars0grm.y
+1
-2
myisam/mi_open.c
myisam/mi_open.c
+2
-1
mysql-test/t/myisam.test
mysql-test/t/myisam.test
+171
-0
sql/field.h
sql/field.h
+1
-0
sql/ha_innobase.cc
sql/ha_innobase.cc
+24
-12
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+1
-0
sql/mysqld.cc
sql/mysqld.cc
+2
-10
sql/sql_class.cc
sql/sql_class.cc
+14
-0
No files found.
Build-tools/Do-compile
View file @
8161ec4c
...
@@ -381,13 +381,15 @@ if ($opt_stage <= 9 && !$opt_no_test)
...
@@ -381,13 +381,15 @@ if ($opt_stage <= 9 && !$opt_no_test)
log_system
("
rm -f output/*
");
log_system
("
rm -f output/*
");
$tmp
=
$opt_fast_benchmark
?
"
--fast --user root --small-test
"
:
"";
$tmp
=
$opt_fast_benchmark
?
"
--fast --user root --small-test
"
:
"";
check_system
("
perl ./run-all-tests --log --die-on-errors
$connect_option
$tmp
","
RUN-mysql
");
check_system
("
perl ./run-all-tests --log --die-on-errors
$connect_option
$tmp
","
RUN-mysql
");
# Run additional fast test with dynamic-row tables
check_system
("
perl ./run-all-tests --log --suffix=
\"
_dynamic_rows
\"
--die-on-errors
$connect_option
--fast --user=root --small-test --create-options=
\"
row_format=dynamic
\"
","
RUN-mysql
");
if
(
$opt_innodb
)
if
(
$opt_innodb
)
{
{
check_system
("
perl ./run-all-tests --log --suffix=
\"
_innodb
\"
--die-on-errors
$connect_option
$tmp
--create-option=
\"
type=innodb
\"
","
RUN-mysql
");
check_system
("
perl ./run-all-tests --log --suffix=
\"
_innodb
\"
--die-on-errors
$connect_option
$tmp
--create-option
s
=
\"
type=innodb
\"
","
RUN-mysql
");
}
}
if
(
$opt_bdb
)
if
(
$opt_bdb
)
{
{
check_system
("
perl ./run-all-tests --log --suffix=
\"
_bdb
\"
--die-on-errors
$connect_option
$tmp
--create-option=
\"
type=bdb
\"
","
RUN-mysql
");
check_system
("
perl ./run-all-tests --log --suffix=
\"
_bdb
\"
--die-on-errors
$connect_option
$tmp
--create-option
s
=
\"
type=bdb
\"
","
RUN-mysql
");
}
}
}
}
...
...
Docs/manual.texi
View file @
8161ec4c
...
@@ -47012,6 +47012,11 @@ Changed initialisation of @code{RND()} to make it less predicatable.
...
@@ -47012,6 +47012,11 @@ Changed initialisation of @code{RND()} to make it less predicatable.
Fixed problem with @code{GROUP BY} on result with expression that created a
Fixed problem with @code{GROUP BY} on result with expression that created a
@code{BLOB} field.
@code{BLOB} field.
@item
@item
Fixed problem with @code{GROUP BY} on columns that have NULL values. To
solve this we now create an MyISAM temporary table when doing a group by
on a possible NULL item. In MySQL 4.0.5 we can again use in memory HEAP
tables for this case.
@item
Fixed problem with privilege tables when downgrading from 4.0.2 to 3.23.
Fixed problem with privilege tables when downgrading from 4.0.2 to 3.23.
@item
@item
Fixed thread bug in @code{SLAVE START}, @code{SLAVE STOP} and automatic repair
Fixed thread bug in @code{SLAVE START}, @code{SLAVE STOP} and automatic repair
innobase/pars/pars0grm.y
View file @
8161ec4c
...
@@ -14,9 +14,8 @@ the InnoDB parser.
...
@@ -14,9 +14,8 @@ the InnoDB parser.
/* The value of the semantic attribute is a pointer to a query tree node
/* The value of the semantic attribute is a pointer to a query tree node
que_node_t */
que_node_t */
#include <math.h>
#include "univ.i"
#include "univ.i"
#include <math.h>
#include "pars0pars.h"
#include "pars0pars.h"
#include "mem0mem.h"
#include "mem0mem.h"
#include "que0types.h"
#include "que0types.h"
...
...
myisam/mi_open.c
View file @
8161ec4c
...
@@ -495,7 +495,8 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
...
@@ -495,7 +495,8 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
extra
=
ALIGN_SIZE
(
MI_MAX_DYN_BLOCK_HEADER
)
+
MI_SPLIT_LENGTH
+
extra
=
ALIGN_SIZE
(
MI_MAX_DYN_BLOCK_HEADER
)
+
MI_SPLIT_LENGTH
+
MI_DYN_DELETE_BLOCK_HEADER
;
MI_DYN_DELETE_BLOCK_HEADER
;
tmp_length
=
max
(
share
->
base
.
pack_reclength
,
share
->
base
.
max_key_length
);
tmp_length
=
max
(
share
->
base
.
pack_reclength
+
share
->
base
.
pack_bits
,
share
->
base
.
max_key_length
);
info
.
alloced_rec_buff_length
=
tmp_length
;
info
.
alloced_rec_buff_length
=
tmp_length
;
if
(
!
(
info
.
rec_alloc
=
(
byte
*
)
my_malloc
(
tmp_length
+
extra
+
8
,
if
(
!
(
info
.
rec_alloc
=
(
byte
*
)
my_malloc
(
tmp_length
+
extra
+
8
,
MYF
(
MY_WME
|
MY_ZEROFILL
))))
MYF
(
MY_WME
|
MY_ZEROFILL
))))
...
...
mysql-test/t/myisam.test
View file @
8161ec4c
This diff is collapsed.
Click to expand it.
sql/field.h
View file @
8161ec4c
...
@@ -533,6 +533,7 @@ public:
...
@@ -533,6 +533,7 @@ public:
enum
Item_result
result_type
()
const
{
return
field_length
==
8
||
field_length
==
14
?
INT_RESULT
:
STRING_RESULT
;
}
enum
Item_result
result_type
()
const
{
return
field_length
==
8
||
field_length
==
14
?
INT_RESULT
:
STRING_RESULT
;
}
enum_field_types
type
()
const
{
return
FIELD_TYPE_TIMESTAMP
;}
enum_field_types
type
()
const
{
return
FIELD_TYPE_TIMESTAMP
;}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_ULONG_INT
;
}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_ULONG_INT
;
}
enum
Item_result
cmp_type
()
const
{
return
INT_RESULT
;
}
void
store
(
const
char
*
to
,
uint
length
);
void
store
(
const
char
*
to
,
uint
length
);
void
store
(
double
nr
);
void
store
(
double
nr
);
void
store
(
longlong
nr
);
void
store
(
longlong
nr
);
...
...
sql/ha_innobase.cc
View file @
8161ec4c
...
@@ -993,7 +993,10 @@ how you can resolve the problem.\n",
...
@@ -993,7 +993,10 @@ how you can resolve the problem.\n",
((
row_prebuilt_t
*
)
innobase_prebuilt
)
->
mysql_row_len
=
table
->
reclength
;
((
row_prebuilt_t
*
)
innobase_prebuilt
)
->
mysql_row_len
=
table
->
reclength
;
primary_key
=
MAX_KEY
;
/* Looks like MySQL-3.23 sometimes has primary key number != 0 */
primary_key
=
table
->
primary_key
;
key_used_on_scan
=
primary_key
;
/* Allocate a buffer for a 'row reference'. A row reference is
/* Allocate a buffer for a 'row reference'. A row reference is
a string of bytes of length ref_length which uniquely specifies
a string of bytes of length ref_length which uniquely specifies
...
@@ -1002,21 +1005,30 @@ how you can resolve the problem.\n",
...
@@ -1002,21 +1005,30 @@ how you can resolve the problem.\n",
of length ref_length! */
of length ref_length! */
if
(
!
row_table_got_default_clust_index
(
ib_table
))
{
if
(
!
row_table_got_default_clust_index
(
ib_table
))
{
if
(
primary_key
>=
MAX_KEY
)
{
fprintf
(
stderr
,
"InnoDB: Error: table %s has a primary key in InnoDB
\n
"
"InnoDB: data dictionary, but not in MySQL!
\n
"
,
name
);
}
((
row_prebuilt_t
*
)
innobase_prebuilt
)
((
row_prebuilt_t
*
)
innobase_prebuilt
)
->
clust_index_was_generated
=
FALSE
;
->
clust_index_was_generated
=
FALSE
;
/*
primary_key
=
0
;
MySQL allocates the buffer for ref. key_info->key_length
key_used_on_scan
=
0
;
includes space for all key columns + one byte for each column
that may be NULL. ref_length must be as exact as possible to
/* MySQL allocates the buffer for ref. key_info->key_length
save space, because all row reference buffers are allocated
includes space for all key columns + one byte for each column
based on ref_length.
that may be NULL. ref_length must be as exact as possible to
*/
save space, because all row reference buffers are allocated
based on ref_length. */
ref_length
=
table
->
key_info
[
primary_key
].
key_length
;
ref_length
=
table
->
key_info
->
key_length
;
}
else
{
}
else
{
if
(
primary_key
!=
MAX_KEY
)
{
fprintf
(
stderr
,
"InnoDB: Error: table %s has no primary key in InnoDB
\n
"
"InnoDB: data dictionary, but has one in MySQL!
\n
"
,
name
);
}
((
row_prebuilt_t
*
)
innobase_prebuilt
)
((
row_prebuilt_t
*
)
innobase_prebuilt
)
->
clust_index_was_generated
=
TRUE
;
->
clust_index_was_generated
=
TRUE
;
...
...
sql/item_cmpfunc.cc
View file @
8161ec4c
...
@@ -354,6 +354,7 @@ void Item_func_between::fix_length_and_dec()
...
@@ -354,6 +354,7 @@ void Item_func_between::fix_length_and_dec()
if
(
args
[
0
]
->
type
()
==
FIELD_ITEM
)
if
(
args
[
0
]
->
type
()
==
FIELD_ITEM
)
{
{
Field
*
field
=
((
Item_field
*
)
args
[
0
])
->
field
;
Field
*
field
=
((
Item_field
*
)
args
[
0
])
->
field
;
cmp_type
=
field
->
cmp_type
();
if
(
field
->
store_for_compare
())
if
(
field
->
store_for_compare
())
{
{
if
(
convert_constant_item
(
field
,
&
args
[
1
]))
if
(
convert_constant_item
(
field
,
&
args
[
1
]))
...
...
sql/mysqld.cc
View file @
8161ec4c
...
@@ -251,7 +251,7 @@ extern int init_master_info(MASTER_INFO* mi);
...
@@ -251,7 +251,7 @@ extern int init_master_info(MASTER_INFO* mi);
// and are treated as aliases for each other
// and are treated as aliases for each other
static
bool
kill_in_progress
=
FALSE
;
static
bool
kill_in_progress
=
FALSE
;
st
atic
struct
rand_struct
sql_rand
;
st
ruct
rand_struct
sql_rand
;
// used by sql_class.cc:THD::THD()
static
int
cleanup_done
;
static
int
cleanup_done
;
static
char
**
defaults_argv
,
time_zone
[
30
];
static
char
**
defaults_argv
,
time_zone
[
30
];
static
const
char
*
default_table_type_name
;
static
const
char
*
default_table_type_name
;
...
@@ -2323,15 +2323,7 @@ static void create_new_thread(THD *thd)
...
@@ -2323,15 +2323,7 @@ static void create_new_thread(THD *thd)
for
(
uint
i
=
0
;
i
<
8
;
i
++
)
// Generate password teststring
for
(
uint
i
=
0
;
i
<
8
;
i
++
)
// Generate password teststring
thd
->
scramble
[
i
]
=
(
char
)
(
rnd
(
&
sql_rand
)
*
94
+
33
);
thd
->
scramble
[
i
]
=
(
char
)
(
rnd
(
&
sql_rand
)
*
94
+
33
);
thd
->
scramble
[
8
]
=
0
;
thd
->
scramble
[
8
]
=
0
;
/*
We need good random number initialization for new thread
Just coping global one will not work
*/
{
ulong
tmp
=
(
ulong
)
(
rnd
(
&
sql_rand
)
*
3000000
);
randominit
(
&
(
thd
->
rand
),
tmp
+
(
ulong
)
start_time
,
tmp
+
(
ulong
)
thread_id
);
}
thd
->
real_id
=
pthread_self
();
// Keep purify happy
thd
->
real_id
=
pthread_self
();
// Keep purify happy
/* Start a new thread to handle connection */
/* Start a new thread to handle connection */
...
...
sql/sql_class.cc
View file @
8161ec4c
...
@@ -35,6 +35,8 @@
...
@@ -35,6 +35,8 @@
#include <io.h>
#include <io.h>
#endif
#endif
extern
struct
rand_struct
sql_rand
;
/*****************************************************************************
/*****************************************************************************
** Instansiate templates
** Instansiate templates
*****************************************************************************/
*****************************************************************************/
...
@@ -147,6 +149,18 @@ THD::THD():user_time(0),fatal_error(0),last_insert_id_used(0),
...
@@ -147,6 +149,18 @@ THD::THD():user_time(0),fatal_error(0),last_insert_id_used(0),
transaction
.
trans_log
.
end_of_file
=
max_binlog_cache_size
;
transaction
.
trans_log
.
end_of_file
=
max_binlog_cache_size
;
}
}
#endif
#endif
/*
We need good random number initialization for new thread
Just coping global one will not work
*/
{
pthread_mutex_lock
(
&
LOCK_thread_count
);
ulong
tmp
=
(
ulong
)
(
rnd
(
&
sql_rand
)
*
3000000
);
randominit
(
&
rand
,
tmp
+
(
ulong
)
start_time
,
tmp
+
(
ulong
)
thread_id
);
pthread_mutex_unlock
(
&
LOCK_thread_count
);
}
}
}
/* Do operations that may take a long time */
/* Do operations that may take a long time */
...
...
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