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
734c846c
Commit
734c846c
authored
Mar 23, 2001
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added test case for the nasty join query crash
sql/sql_table.cc: fixed typo in comment
parent
39b73c0f
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
164 additions
and
1 deletion
+164
-1
mysql-test/t/join_crash.test
mysql-test/t/join_crash.test
+163
-0
sql/sql_table.cc
sql/sql_table.cc
+1
-1
No files found.
mysql-test/t/join_crash.test
0 → 100644
View file @
734c846c
# MySQL dump 8.13
#
# Host: localhost Database: timeprep
#--------------------------------------------------------
# Server version 3.23.35-log
#
# Table structure for table 'project'
#
DROP
TABLE
IF
EXISTS
project
;
CREATE
TABLE
project
(
project_id
int
(
11
)
NOT
NULL
auto_increment
,
project_row_lock
int
(
11
)
NOT
NULL
default
'0'
,
project_name
varchar
(
80
)
NOT
NULL
default
''
,
client_ptr
int
(
11
)
NOT
NULL
default
'0'
,
project_contact_ptr
int
(
11
)
default
NULL
,
client_contact_ptr
int
(
11
)
default
NULL
,
billing_contact_ptr
int
(
11
)
default
NULL
,
comments
mediumtext
,
PRIMARY
KEY
(
project_id
),
UNIQUE
KEY
project
(
client_ptr
,
project_name
)
)
TYPE
=
MyISAM
PACK_KEYS
=
1
;
#
# Dumping data for table 'project'
#
INSERT
INTO
project
VALUES
(
1
,
0
,
'Rejected Time'
,
1
,
NULL
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
project
VALUES
(
209
,
0
,
'MDGRAD Proposal/Investigation'
,
97
,
NULL
,
NULL
,
NULL
,
''
);
INSERT
INTO
project
VALUES
(
208
,
0
,
'Font 9 Design'
,
84
,
NULL
,
NULL
,
NULL
,
''
);
INSERT
INTO
project
VALUES
(
207
,
0
,
'Web Based Order Processing'
,
95
,
NULL
,
NULL
,
NULL
,
''
);
INSERT
INTO
project
VALUES
(
205
,
0
,
'Mac Screen Saver'
,
95
,
NULL
,
NULL
,
NULL
,
''
);
INSERT
INTO
project
VALUES
(
206
,
0
,
'Web Site'
,
96
,
NULL
,
NULL
,
NULL
,
''
);
INSERT
INTO
project
VALUES
(
204
,
0
,
'Magnafire Glue'
,
94
,
NULL
,
NULL
,
NULL
,
''
);
INSERT
INTO
project
VALUES
(
203
,
0
,
'Print Bid'
,
93
,
NULL
,
NULL
,
NULL
,
''
);
INSERT
INTO
project
VALUES
(
202
,
0
,
'EPOC Port'
,
92
,
NULL
,
NULL
,
NULL
,
''
);
INSERT
INTO
project
VALUES
(
201
,
0
,
'TravelMate'
,
88
,
NULL
,
NULL
,
NULL
,
''
);
#
# Table structure for table 'period'
#
DROP
TABLE
IF
EXISTS
period
;
CREATE
TABLE
period
(
period_id
int
(
11
)
NOT
NULL
auto_increment
,
period_type
enum
(
'user_table'
,
'client_table'
,
'role_table'
,
'member_table'
,
'project_table'
)
default
NULL
,
period_key
int
(
11
)
default
NULL
,
start_date
datetime
default
NULL
,
end_date
datetime
default
NULL
,
work_load
int
(
11
)
default
NULL
,
PRIMARY
KEY
(
period_id
),
KEY
period_index
(
period_type
,
period_key
),
KEY
date_index
(
start_date
,
end_date
)
)
TYPE
=
MyISAM
PACK_KEYS
=
1
;
#
# Dumping data for table 'period'
#
INSERT
INTO
period
VALUES
(
1
,
'user_table'
,
98
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
2
,
'user_table'
,
99
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
3
,
'user_table'
,
100
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
49
,
'project_table'
,
148
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
50
,
'client_table'
,
68
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
51
,
'project_table'
,
149
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
52
,
'project_table'
,
150
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
53
,
'client_table'
,
69
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
54
,
'project_table'
,
151
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
55
,
'client_table'
,
70
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
155
,
'role_table'
,
1
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
156
,
'role_table'
,
2
,
'2000-01-01 00:00:00'
,
NULL
,
NULL
);
INSERT
INTO
period
VALUES
(
160
,
'member_table'
,
1
,
'2000-01-01 00:00:00'
,
NULL
,
1
);
INSERT
INTO
period
VALUES
(
161
,
'member_table'
,
2
,
'2000-01-01 00:00:00'
,
NULL
,
1
);
INSERT
INTO
period
VALUES
(
162
,
'member_table'
,
3
,
'2000-01-01 00:00:00'
,
NULL
,
1
);
#
# Table structure for table 'budget'
#
DROP
TABLE
IF
EXISTS
budget
;
CREATE
TABLE
budget
(
budget_id
int
(
11
)
NOT
NULL
auto_increment
,
project_ptr
int
(
11
)
NOT
NULL
default
'0'
,
po_number
varchar
(
20
)
NOT
NULL
default
''
,
status
enum
(
'open'
,
'closed'
)
default
NULL
,
date_received
datetime
default
NULL
,
amount_received
float
(
10
,
2
)
default
NULL
,
adjustment
float
(
10
,
2
)
default
NULL
,
PRIMARY
KEY
(
budget_id
),
UNIQUE
KEY
po
(
project_ptr
,
po_number
)
)
TYPE
=
MyISAM
PACK_KEYS
=
1
;
#
# Dumping data for table 'budget'
#
#
# Table structure for table 'client'
#
DROP
TABLE
IF
EXISTS
client
;
CREATE
TABLE
client
(
client_id
int
(
11
)
NOT
NULL
auto_increment
,
client_row_lock
int
(
11
)
NOT
NULL
default
'0'
,
client_name
varchar
(
80
)
NOT
NULL
default
''
,
contact_ptr
int
(
11
)
default
NULL
,
comments
mediumtext
,
PRIMARY
KEY
(
client_id
),
UNIQUE
KEY
client_name
(
client_name
)
)
TYPE
=
MyISAM
PACK_KEYS
=
1
;
#
# Dumping data for table 'client'
#
INSERT
INTO
client
VALUES
(
1
,
0
,
'CPS'
,
NULL
,
NULL
);
#
# The query that fails...
#
select
distinct
project
.
project_id
as
project_id
,
project
.
project_name
as
project_name
,
project
.
client_ptr
as
client_ptr
,
project
.
comments
as
comments
,
sum
(
budget
.
amount_received
)
+
sum
(
budget
.
adjustment
)
as
total_budget
from
project
,
period
as
client_period
,
period
as
project_period
left
join
budget
on
budget
.
project_ptr
=
project
.
project_id
and
budget
.
date_received
<=
'2001-03-22 14:15:09'
left
join
client
on
client
.
client_id
=
project
.
client_ptr
where
1
and
(
client_period
.
period_type
=
'client_table'
and
client_period
.
period_key
=
client
.
client_id
and
(
client_period
.
start_date
<=
'2001-03-22 14:15:09'
or
isnull
(
client_period
.
start_date
))
and
(
client_period
.
end_date
>
'2001-03-21 14:15:09'
or
isnull
(
client_period
.
end_date
))
)
and
(
project_period
.
period_type
=
'project_table'
and
project_period
.
period_key
=
project
.
project_id
and
(
project_period
.
start_date
<=
'2001-03-22 14:15:09'
or
isnull
(
project_period
.
start_date
))
and
(
project_period
.
end_date
>
'2001-03-21 14:15:09'
or
isnull
(
project_period
.
end_date
))
)
group
by
client_id
,
project_id
,
client_period
.
period_id
,
project_period
.
period_id
order
by
client_name
asc
,
project_name
asc
;
sql/sql_table.cc
View file @
734c846c
...
@@ -243,7 +243,7 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
...
@@ -243,7 +243,7 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
}
}
it2
.
rewind
();
it2
.
rewind
();
}
}
/* If fixed row records, we need on bit to check for deleted rows */
/* If fixed row records, we need on
e
bit to check for deleted rows */
if
(
!
(
db_options
&
HA_OPTION_PACK_RECORD
))
if
(
!
(
db_options
&
HA_OPTION_PACK_RECORD
))
null_fields
++
;
null_fields
++
;
pos
=
(
null_fields
+
7
)
/
8
;
pos
=
(
null_fields
+
7
)
/
8
;
...
...
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