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
f93cb632
Commit
f93cb632
authored
Jul 23, 2002
by
monty@mashka.mysql.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed problem with auto_increment key as not first key part
parent
d909f4a5
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
12 deletions
+18
-12
Docs/manual.texi
Docs/manual.texi
+3
-0
sql/key.cc
sql/key.cc
+1
-1
sql/table.cc
sql/table.cc
+14
-11
No files found.
Docs/manual.texi
View file @
f93cb632
...
...
@@ -46928,6 +46928,9 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.52
@itemize @bullet
@item
Fixed bug with creating an auto-increment value on second part of a
@code{UNIQUE()} key where first part could contain NULL values.
@item
Don't write slave-timeout reconnects to the error log.
@item
Fixed bug with slave net read timeouting
sql/key.cc
View file @
f93cb632
...
...
@@ -59,7 +59,7 @@ int find_ref_key(TABLE *table,Field *field, uint *key_length)
{
if
(
key_part
->
offset
==
fieldpos
)
return
(
i
);
/* Use this key */
*
key_length
+=
key_part
->
length
;
*
key_length
+=
key_part
->
store_
length
;
}
}
return
(
-
1
);
/* No key is ok */
...
...
sql/table.cc
View file @
f93cb632
...
...
@@ -346,17 +346,7 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
}
}
if
(
reg_field
->
unireg_check
==
Field
::
NEXT_NUMBER
)
{
if
((
int
)
(
outparam
->
next_number_index
=
(
uint
)
find_ref_key
(
outparam
,
reg_field
,
&
outparam
->
next_number_key_offset
))
<
0
)
reg_field
->
unireg_check
=
Field
::
NONE
;
/* purecov: inspected */
else
{
outparam
->
found_next_number_field
=
reg_field
;
reg_field
->
flags
|=
AUTO_INCREMENT_FLAG
;
}
}
outparam
->
found_next_number_field
=
reg_field
;
if
(
outparam
->
timestamp_field
==
reg_field
)
outparam
->
timestamp_field_offset
=
i
;
if
(
use_hash
)
...
...
@@ -507,6 +497,19 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
bfill
(
outparam
->
null_flags
+
outparam
->
rec_buff_length
*
2
,
null_length
,
255
);
}
if
((
reg_field
=
outparam
->
found_next_number_field
))
{
if
((
int
)
(
outparam
->
next_number_index
=
(
uint
)
find_ref_key
(
outparam
,
reg_field
,
&
outparam
->
next_number_key_offset
))
<
0
)
{
reg_field
->
unireg_check
=
Field
::
NONE
;
/* purecov: inspected */
outparam
->
found_next_number_field
=
0
;
}
else
reg_field
->
flags
|=
AUTO_INCREMENT_FLAG
;
}
if
(
outparam
->
blob_fields
)
{
Field
**
ptr
;
...
...
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