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
4d267191
Commit
4d267191
authored
Sep 21, 2006
by
tsmith/tim@siva.hindu.god
Browse files
Options
Browse Files
Download
Plain Diff
Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into siva.hindu.god:/usr/home/tim/m/bk/inno/50
parents
90ea39b6
3724c127
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
25 deletions
+20
-25
innobase/ibuf/ibuf0ibuf.c
innobase/ibuf/ibuf0ibuf.c
+10
-9
innobase/include/data0type.h
innobase/include/data0type.h
+3
-1
innobase/include/data0type.ic
innobase/include/data0type.ic
+7
-2
sql/ha_innodb.cc
sql/ha_innodb.cc
+0
-13
No files found.
innobase/ibuf/ibuf0ibuf.c
View file @
4d267191
...
...
@@ -1361,8 +1361,8 @@ ibuf_entry_build(
index tree; NOTE that the original entry
must be kept because we copy pointers to its
fields */
dict_index_t
*
index
,
/* in: non-clustered index */
dtuple_t
*
entry
,
/* in: entry for a non-clustered index */
ibool
comp
,
/* in: flag: TRUE=compact record format */
ulint
space
,
/* in: space id */
ulint
page_no
,
/* in: index page number where entry should
be inserted */
...
...
@@ -1426,13 +1426,13 @@ ibuf_entry_build(
dfield_set_data
(
field
,
buf
,
4
);
ut_ad
(
comp
==
0
||
comp
=
=
1
);
ut_ad
(
index
->
table
->
comp
<
=
1
);
/* Store the type info in buf2, and add the fields from entry to
tuple */
buf2
=
mem_heap_alloc
(
heap
,
n_fields
*
DATA_NEW_ORDER_NULL_TYPE_BUF_SIZE
+
comp
);
if
(
comp
)
{
+
index
->
table
->
comp
);
if
(
index
->
table
->
comp
)
{
*
buf2
++
=
0
;
/* write the compact format indicator */
}
for
(
i
=
0
;
i
<
n_fields
;
i
++
)
{
...
...
@@ -1445,20 +1445,22 @@ ibuf_entry_build(
dtype_new_store_for_order_and_null_size
(
buf2
+
i
*
DATA_NEW_ORDER_NULL_TYPE_BUF_SIZE
,
dfield_get_type
(
entry_field
));
dfield_get_type
(
entry_field
),
dict_index_get_nth_field
(
index
,
i
)
->
prefix_len
);
}
/* Store the type info in buf2 to field 3 of tuple */
field
=
dtuple_get_nth_field
(
tuple
,
3
);
if
(
comp
)
{
if
(
index
->
table
->
comp
)
{
buf2
--
;
}
dfield_set_data
(
field
,
buf2
,
n_fields
*
DATA_NEW_ORDER_NULL_TYPE_BUF_SIZE
+
comp
);
+
index
->
table
->
comp
);
/* Set all the types in the new tuple binary */
dtuple_set_types_binary
(
tuple
,
n_fields
+
4
);
...
...
@@ -2589,8 +2591,7 @@ ibuf_insert_low(
the first fields and the type information for other fields, and which
will be inserted to the insert buffer. */
ibuf_entry
=
ibuf_entry_build
(
entry
,
index
->
table
->
comp
,
space
,
page_no
,
heap
);
ibuf_entry
=
ibuf_entry_build
(
index
,
entry
,
space
,
page_no
,
heap
);
/* Open a cursor to the insert buffer tree to calculate if we can add
the new entry to it without exceeding the free space limit for the
...
...
innobase/include/data0type.h
View file @
4d267191
...
...
@@ -366,7 +366,9 @@ dtype_new_store_for_order_and_null_size(
byte
*
buf
,
/* in: buffer for
DATA_NEW_ORDER_NULL_TYPE_BUF_SIZE
bytes where we store the info */
dtype_t
*
type
);
/* in: type struct */
dtype_t
*
type
,
/* in: type struct */
ulint
prefix_len
);
/* in: prefix length to
replace type->len, or 0 */
/**************************************************************************
Reads to a type the stored information which determines its alphabetical
ordering and the storage size of an SQL NULL value. This is the 4.1.x storage
...
...
innobase/include/data0type.ic
View file @
4d267191
...
...
@@ -230,11 +230,14 @@ dtype_new_store_for_order_and_null_size(
byte* buf, /* in: buffer for
DATA_NEW_ORDER_NULL_TYPE_BUF_SIZE
bytes where we store the info */
dtype_t* type) /* in: type struct */
dtype_t* type, /* in: type struct */
ulint prefix_len)/* in: prefix length to
replace type->len, or 0 */
{
#if 6 != DATA_NEW_ORDER_NULL_TYPE_BUF_SIZE
#error "6 != DATA_NEW_ORDER_NULL_TYPE_BUF_SIZE"
#endif
ulint len;
buf[0] = (byte)(type->mtype & 0xFFUL);
...
...
@@ -249,7 +252,9 @@ dtype_new_store_for_order_and_null_size(
buf[1] = (byte)(type->prtype & 0xFFUL);
mach_write_to_2(buf + 2, type->len & 0xFFFFUL);
len = prefix_len ? prefix_len : type->len;
mach_write_to_2(buf + 2, len & 0xFFFFUL);
ut_ad(dtype_get_charset_coll(type->prtype) < 256);
mach_write_to_2(buf + 4, dtype_get_charset_coll(type->prtype));
...
...
sql/ha_innodb.cc
View file @
4d267191
...
...
@@ -5969,19 +5969,6 @@ ha_innobase::start_stmt(
prebuilt
->
select_lock_type
=
prebuilt
->
stored_select_lock_type
;
}
if
(
prebuilt
->
stored_select_lock_type
!=
LOCK_S
&&
prebuilt
->
stored_select_lock_type
!=
LOCK_X
)
{
sql_print_error
(
"stored_select_lock_type is %lu inside "
"::start_stmt()!"
,
prebuilt
->
stored_select_lock_type
);
/* Set the value to LOCK_X: this is just fault
tolerance, we do not know what the correct value
should be! */
prebuilt
->
select_lock_type
=
LOCK_X
;
}
}
trx
->
detailed_error
[
0
]
=
'\0'
;
...
...
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