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
392cbf9e
Commit
392cbf9e
authored
Nov 12, 2002
by
salle@geopard.(none)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed mysqlcheck so it can process table names with dashes.
Quote all table names with backticks.
parent
abac2ef1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
10 deletions
+23
-10
client/mysqlcheck.c
client/mysqlcheck.c
+23
-10
No files found.
client/mysqlcheck.c
View file @
392cbf9e
...
@@ -406,21 +406,25 @@ static int process_selected_tables(char *db, char **table_names, int tables)
...
@@ -406,21 +406,25 @@ static int process_selected_tables(char *db, char **table_names, int tables)
return
1
;
return
1
;
if
(
opt_all_in_1
)
if
(
opt_all_in_1
)
{
{
/*
We need table list in form `a`, `b`, `c`
that's why we need 4 more chars added to to each table name
space is for more readable output in logs and in case of error
*/
char
*
table_names_comma_sep
,
*
end
;
char
*
table_names_comma_sep
,
*
end
;
int
i
,
tot_length
=
0
;
int
i
,
tot_length
=
0
;
for
(
i
=
0
;
i
<
tables
;
i
++
)
for
(
i
=
0
;
i
<
tables
;
i
++
)
tot_length
+=
strlen
(
*
(
table_names
+
i
))
+
1
;
tot_length
+=
strlen
(
*
(
table_names
+
i
))
+
4
;
if
(
!
(
table_names_comma_sep
=
(
char
*
)
if
(
!
(
table_names_comma_sep
=
(
char
*
)
my_malloc
((
sizeof
(
char
)
*
tot_length
)
+
1
,
MYF
(
MY_WME
))))
my_malloc
((
sizeof
(
char
)
*
tot_length
)
+
4
,
MYF
(
MY_WME
))))
return
1
;
return
1
;
for
(
end
=
table_names_comma_sep
+
1
;
tables
>
0
;
for
(
end
=
table_names_comma_sep
+
1
;
tables
>
0
;
tables
--
,
table_names
++
)
tables
--
,
table_names
++
)
{
{
end
=
strmov
(
end
,
*
table_names
);
end
=
strxmov
(
end
,
" `"
,
*
table_names
,
"`,"
,
NullS
);
*
end
++=
','
;
}
}
*--
end
=
0
;
*--
end
=
0
;
handle_request_for_tables
(
table_names_comma_sep
+
1
,
tot_length
-
1
);
handle_request_for_tables
(
table_names_comma_sep
+
1
,
tot_length
-
1
);
...
@@ -447,22 +451,27 @@ static int process_all_tables_in_db(char *database)
...
@@ -447,22 +451,27 @@ static int process_all_tables_in_db(char *database)
if
(
opt_all_in_1
)
if
(
opt_all_in_1
)
{
{
/*
We need table list in form `a`, `b`, `c`
that's why we need 4 more chars added to to each table name
space is for more readable output in logs and in case of error
*/
char
*
tables
,
*
end
;
char
*
tables
,
*
end
;
uint
tot_length
=
0
;
uint
tot_length
=
0
;
while
((
row
=
mysql_fetch_row
(
res
)))
while
((
row
=
mysql_fetch_row
(
res
)))
tot_length
+=
strlen
(
row
[
0
])
+
1
;
tot_length
+=
strlen
(
row
[
0
])
+
4
;
mysql_data_seek
(
res
,
0
);
mysql_data_seek
(
res
,
0
);
if
(
!
(
tables
=
(
char
*
)
my_malloc
(
sizeof
(
char
)
*
tot_length
+
1
,
MYF
(
MY_WME
))))
if
(
!
(
tables
=
(
char
*
)
my_malloc
(
sizeof
(
char
)
*
tot_length
+
4
,
MYF
(
MY_WME
))))
{
{
mysql_free_result
(
res
);
mysql_free_result
(
res
);
return
1
;
return
1
;
}
}
for
(
end
=
tables
+
1
;
(
row
=
mysql_fetch_row
(
res
))
;)
for
(
end
=
tables
+
1
;
(
row
=
mysql_fetch_row
(
res
))
;)
{
{
end
=
strmov
(
end
,
row
[
0
]);
end
=
strxmov
(
end
,
" `"
,
row
[
0
],
"`,"
,
NullS
);
*
end
++=
','
;
}
}
*--
end
=
0
;
*--
end
=
0
;
if
(
tot_length
)
if
(
tot_length
)
...
@@ -521,10 +530,14 @@ static int handle_request_for_tables(char *tables, uint length)
...
@@ -521,10 +530,14 @@ static int handle_request_for_tables(char *tables, uint length)
if
(
!
(
query
=
(
char
*
)
my_malloc
((
sizeof
(
char
)
*
(
length
+
110
)),
MYF
(
MY_WME
))))
if
(
!
(
query
=
(
char
*
)
my_malloc
((
sizeof
(
char
)
*
(
length
+
110
)),
MYF
(
MY_WME
))))
return
1
;
return
1
;
sprintf
(
query
,
"%s TABLE %s %s"
,
op
,
tables
,
options
);
if
(
opt_all_in_1
)
/* No backticks here as we added them before */
sprintf
(
query
,
"%s TABLE %s %s"
,
op
,
tables
,
options
);
else
sprintf
(
query
,
"%s TABLE `%s` %s"
,
op
,
tables
,
options
);
if
(
mysql_query
(
sock
,
query
))
if
(
mysql_query
(
sock
,
query
))
{
{
sprintf
(
message
,
"when executing '%s TABLE ... %s"
,
op
,
options
);
sprintf
(
message
,
"when executing '%s TABLE ... %s
'
"
,
op
,
options
);
DBerror
(
sock
,
message
);
DBerror
(
sock
,
message
);
return
1
;
return
1
;
}
}
...
...
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