Skip to content

Commit d830857

Browse files
committed
Add row count to export file. Fixes #146
1 parent d49767f commit d830857

File tree

2 files changed

+89
-62
lines changed

2 files changed

+89
-62
lines changed

src/Ifsnop/Mysqldump/Mysqldump.php

+13-2
Original file line numberDiff line numberDiff line change
@@ -985,7 +985,9 @@ private function listValues($tableName)
985985

986986
$ignore = $this->dumpSettings['insert-ignore'] ? ' IGNORE' : '';
987987

988+
$count = 0;
988989
foreach ($resultSet as $row) {
990+
$count++;
989991
$vals = $this->prepareColumnValues($tableName, $row);
990992
if ($onlyOnce || !$this->dumpSettings['extended-insert']) {
991993
if ($this->dumpSettings['complete-insert']) {
@@ -1015,7 +1017,7 @@ private function listValues($tableName)
10151017
$this->compressManager->write(";".PHP_EOL);
10161018
}
10171019

1018-
$this->endListValues($tableName);
1020+
$this->endListValues($tableName, $count);
10191021
}
10201022

10211023
/**
@@ -1070,10 +1072,11 @@ public function prepareListValues($tableName)
10701072
* Table rows extractor, close locks and commits after dump
10711073
*
10721074
* @param string $tableName Name of table to export
1075+
* @param int $count Number of rows inserted
10731076
*
10741077
* @return null
10751078
*/
1076-
public function endListValues($tableName)
1079+
public function endListValues($tableName, $count = 0)
10771080
{
10781081
if ($this->dumpSettings['disable-keys']) {
10791082
$this->compressManager->write(
@@ -1104,6 +1107,14 @@ public function endListValues($tableName)
11041107

11051108
$this->compressManager->write(PHP_EOL);
11061109

1110+
if (!$this->dumpSettings['skip-comments']) {
1111+
$this->compressManager->write(
1112+
"-- Dumped table `$tableName` with $count row(s)".PHP_EOL.
1113+
"--".PHP_EOL.PHP_EOL
1114+
);
1115+
}
1116+
1117+
11071118
return;
11081119
}
11091120

tests/test.sh

+76-60
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,35 @@ done
3030

3131
index=0
3232

33-
mysql -utravis < test001.src.sql; ret[((index++))]=$?
34-
mysql -utravis --default-character-set=utf8mb4 < test002.src.sql; ret[((index++))]=$?
35-
mysql -utravis < test005.src.sql; ret[((index++))]=$?
36-
mysql -utravis < test006.src.sql; ret[((index++))]=$?
37-
mysql -utravis < test008.src.sql; ret[((index++))]=$?
38-
mysql -utravis < test009.src.sql; ret[((index++))]=$?
39-
mysql -utravis < test010.src.sql; ret[((index++))]=$?
33+
mysql -utravis < test001.src.sql; errCode=$?; ret[((index++))]=$errCode
34+
if [[ $errCode -ne 0 ]]; then echo "error test001.src.sql"; fi
35+
36+
mysql -utravis --default-character-set=utf8mb4 < test002.src.sql; errCode=$?; ret[((index++))]=$errCode
37+
if [[ $errCode -ne 0 ]]; then echo "error test002.src.sql"; fi
38+
39+
mysql -utravis < test005.src.sql; errCode=$?; ret[((index++))]=$errCode
40+
if [[ $errCode -ne 0 ]]; then echo "error test005.src.sql"; fi
41+
42+
mysql -utravis < test006.src.sql; errCode=$?; ret[((index++))]=$errCode
43+
if [[ $errCode -ne 0 ]]; then echo "error test006.src.sql"; fi
44+
45+
mysql -utravis < test008.src.sql; errCode=$?; ret[((index++))]=$errCode
46+
if [[ $errCode -ne 0 ]]; then echo "error test008.src.sql"; fi
47+
48+
mysql -utravis < test009.src.sql; errCode=$?; ret[((index++))]=$errCode
49+
if [[ $errCode -ne 0 ]]; then echo "error test001.src.sql"; fi
50+
51+
mysql -utravis < test010.src.sql; errCode=$?; ret[((index++))]=$errCode
52+
if [[ $errCode -ne 0 ]]; then echo "error test010.src.sql"; fi
53+
4054
if [[ $major -eq 5 && $medium -ge 7 ]]; then
4155
# test virtual column support, with simple inserts forced to complete (a) and complete inserts (b)
42-
mysql -utravis < test011.src.sql; ret[((index++))]=$?
56+
mysql -utravis < test011.src.sql; errCode=$?; ret[((index++))]=$errCode
4357
else
4458
echo "test011 disabled, only valid for mysql server version > 5.7.0"
4559
fi
46-
mysql -utravis < test012.src.sql; ret[((index++))]=$?
47-
#mysql -utravis < test013.src.sql; ret[((index++))]=$?
60+
mysql -utravis < test012.src.sql; errCode=$?; ret[((index++))]=$errCode
61+
#mysql -utravis < test013.src.sql; errCode=$?; ret[((index++))]=$errCode
4862

4963
checksum_test001 > test001.src.checksum
5064
checksum_test002 > test002.src.checksum
@@ -55,7 +69,7 @@ mysqldump -utravis test001 \
5569
--hex-blob \
5670
--routines \
5771
> mysqldump_test001.sql
58-
ret[((index++))]=$?
72+
errCode=$?; ret[((index++))]=$errCode
5973

6074
mysqldump -utravis test001 \
6175
--no-autocommit \
@@ -64,7 +78,7 @@ mysqldump -utravis test001 \
6478
--hex-blob \
6579
--routines \
6680
> mysqldump_test001_complete.sql
67-
ret[((index++))]=$?
81+
errCode=$?; ret[((index++))]=$errCode
6882

6983
mysqldump -utravis test002 \
7084
--no-autocommit \
@@ -73,44 +87,44 @@ mysqldump -utravis test002 \
7387
--hex-blob \
7488
--default-character-set=utf8mb4 \
7589
> mysqldump_test002.sql
76-
ret[((index++))]=$?
90+
errCode=$?; ret[((index++))]=$errCode
7791

7892
mysqldump -utravis test005 \
7993
--no-autocommit \
8094
--skip-extended-insert \
8195
--hex-blob \
8296
> mysqldump_test005.sql
83-
ret[((index++))]=$?
97+
errCode=$?; ret[((index++))]=$errCode
8498

8599
mysqldump -utravis test012 \
86100
--no-autocommit \
87101
--skip-extended-insert \
88102
--hex-blob \
89103
--events \
90104
> mysqldump_test012.sql
91-
ret[((index++))]=$?
105+
errCode=$?; ret[((index++))]=$errCode
92106

93107
mysqldump -utravis test001 \
94108
--no-autocommit \
95109
--skip-extended-insert \
96110
--hex-blob \
97111
--insert-ignore \
98112
> mysqldump_test013.sql
99-
ret[((index++))]=$?
113+
errCode=$?; ret[((index++))]=$errCode
100114

101115
php test.php || { echo "ERROR running test.php" && exit -1; }
102-
ret[((index++))]=$?
116+
errCode=$?; ret[((index++))]=$errCode
103117

104118
mysql -utravis test001 < mysqldump-php_test001.sql
105-
ret[((index++))]=$?
119+
errCode=$?; ret[((index++))]=$errCode
106120
mysql -utravis test002 < mysqldump-php_test002.sql
107-
ret[((index++))]=$?
121+
errCode=$?; ret[((index++))]=$errCode
108122
mysql -utravis test005 < mysqldump-php_test005.sql
109-
ret[((index++))]=$?
123+
errCode=$?; ret[((index++))]=$errCode
110124
mysql -utravis test006b < mysqldump-php_test006.sql
111-
ret[((index++))]=$?
125+
errCode=$?; ret[((index++))]=$errCode
112126
mysql -utravis test009 < mysqldump-php_test009.sql
113-
ret[((index++))]=$?
127+
errCode=$?; ret[((index++))]=$errCode
114128

115129
checksum_test001 > mysqldump-php_test001.checksum
116130
checksum_test002 > mysqldump-php_test002.checksum
@@ -155,101 +169,97 @@ cat mysqldump-php_test013.sql | grep INSERT > mysqldump-php_test013.filtered.sql
155169

156170
test="test $index diff test001.filtered.sql mysqldump_test001.filtered.sql"
157171
diff test001.filtered.sql mysqldump_test001.filtered.sql
158-
ret[((index++))]=$?
159-
if [[ $? -ne 0 ]]; then echo $test; fi
172+
errCode=$?; ret[((index++))]=$errCode
173+
if [[ $errCode -ne 0 ]]; then echo $test; fi
160174

161175
test="test $index diff mysqldump_test001_complete.filtered.sql mysqldump-php_test001_complete.filtered.sql"
162176
diff mysqldump_test001_complete.filtered.sql mysqldump-php_test001_complete.filtered.sql
163-
ret[((index++))]=$?
164-
if [[ $? -ne 0 ]]; then echo $test; fi
177+
errCode=$?; ret[((index++))]=$errCode
178+
if [[ $errCode -ne 0 ]]; then echo $test; fi
165179

166180
test="test $index diff test002.filtered.sql mysqldump_test002.filtered.sql"
167181
diff test002.filtered.sql mysqldump_test002.filtered.sql
168-
ret[((index++))]=$?
169-
if [[ $? -ne 0 ]]; then echo $test; fi
182+
errCode=$?; ret[((index++))]=$errCode
183+
if [[ $errCode -ne 0 ]]; then echo $test; fi
170184

171185
test="test $index diff test001.filtered.sql mysqldump-php_test001.filtered.sql"
172186
diff test001.filtered.sql mysqldump-php_test001.filtered.sql
173-
ret[((index++))]=$?
174-
if [[ $? -ne 0 ]]; then echo $test; fi
187+
errCode=$?; ret[((index++))]=$errCode
188+
if [[ $errCode -ne 0 ]]; then echo $test; fi
175189

176190
test="test $index diff test002.filtered.sql mysqldump-php_test002.filtered.sql"
177191
diff test002.filtered.sql mysqldump-php_test002.filtered.sql
178-
ret[((index++))]=$?
179-
if [[ $? -ne 0 ]]; then echo $test; fi
192+
errCode=$?; ret[((index++))]=$errCode
193+
if [[ $errCode -ne 0 ]]; then echo $test; fi
180194

181195
test="test $index diff test001.src.checksum mysqldump-php_test001.checksum"
182196
diff test001.src.checksum mysqldump-php_test001.checksum
183-
ret[((index++))]=$?
184-
if [[ $? -ne 0 ]]; then echo $test; fi
197+
errCode=$?; ret[((index++))]=$errCode
198+
if [[ $errCode -ne 0 ]]; then echo $test; fi
185199

186200
test="test $index diff test002.src.checksum mysqldump-php_test002.checksum"
187201
diff test002.src.checksum mysqldump-php_test002.checksum
188-
ret[((index++))]=$?
189-
if [[ $? -ne 0 ]]; then echo $test; fi
202+
errCode=$?; ret[((index++))]=$errCode
203+
if [[ $errCode -ne 0 ]]; then echo $test; fi
190204

191205
test="test $index diff test005.src.checksum mysqldump-php_test005.checksum"
192206
diff test005.src.checksum mysqldump-php_test005.checksum
193-
ret[((index++))]=$?
194-
if [[ $? -ne 0 ]]; then echo $test; fi
207+
errCode=$?; ret[((index++))]=$errCode
208+
if [[ $errCode -ne 0 ]]; then echo $test; fi
195209

196210
test="test $index diff mysqldump_test005.filtered.sql mysqldump-php_test005.filtered.sql"
197211
diff mysqldump_test005.filtered.sql mysqldump-php_test005.filtered.sql
198-
ret[((index++))]=$?
199-
if [[ $? -ne 0 ]]; then echo $test; fi
212+
errCode=$?; ret[((index++))]=$errCode
213+
if [[ $errCode -ne 0 ]]; then echo $test; fi
200214

201215
test="test $index diff test008.filtered.sql mysqldump-php_test008.filtered.sql"
202216
diff test008.filtered.sql mysqldump-php_test008.filtered.sql
203-
ret[((index++))]=$?
204-
if [[ $? -ne 0 ]]; then echo $test; fi
217+
errCode=$?; ret[((index++))]=$errCode
218+
if [[ $errCode -ne 0 ]]; then echo $test; fi
205219

206220
#test reset-auto-increment, make sure we don't find an AUTO_INCREMENT
207221
test="test $index cat mysqldump-php_test009.sql \| grep -i ENGINE \| grep AUTO_INCREMENT"
208222
cat mysqldump-php_test009.sql | grep -i ENGINE | (! grep AUTO_INCREMENT)
209-
ret[((index++))]=$?
210-
if [[ $? -ne 0 ]]; then echo $test; fi
223+
errCode=$?; ret[((index++))]=$errCode
224+
if [[ $errCode -ne 0 ]]; then echo $test; fi
211225

212226
# test backup events
213227
test="test $index diff test010.filtered.sql mysqldump-php_test010.filtered.sql"
214228
diff test010.filtered.sql mysqldump-php_test010.filtered.sql
215-
ret[((index++))]=$?
216-
if [[ $? -ne 0 ]]; then echo $test; fi
229+
errCode=$?; ret[((index++))]=$errCode
230+
if [[ $errCode -ne 0 ]]; then echo $test; fi
217231

218232
if [[ $major -eq 5 && $medium -ge 7 ]]; then
219233
# test virtual column support, with simple inserts forced to complete (a) and complete inserts (b)
220234
test="test $index diff test011.filtered.sql mysqldump-php_test011a.filtered.sql"
221235
diff test011.filtered.sql mysqldump-php_test011a.filtered.sql
222-
ret[((index++))]=$?
223-
if [[ $? -ne 0 ]]; then echo $test; fi
236+
errCode=$?; ret[((index++))]=$errCode
237+
if [[ $errCode -ne 0 ]]; then echo $test; fi
224238
test="test $index diff test011.filtered.sql mysqldump-php_test011b.filtered.sql"
225239
diff test011.filtered.sql mysqldump-php_test011b.filtered.sql
226-
ret[((index++))]=$?
227-
if [[ $? -ne 0 ]]; then echo $test; fi
240+
errCode=$?; ret[((index++))]=$errCode
241+
if [[ $errCode -ne 0 ]]; then echo $test; fi
228242
else
229243
echo test011 disabled, only valid for mysql server version > 5.7.0
230244
fi
231245

232246
# Test create views, events, trigger
233247
test="test $index diff mysqldump_test012.filtered.sql mysqldump-php_test012.filtered.sql"
234248
diff mysqldump_test012.filtered.sql mysqldump-php_test012.filtered.sql
235-
ret[((index++))]=$?
236-
if [[ $? -ne 0 ]]; then echo $test; fi
249+
errCode=$?; ret[((index++))]=$errCode
250+
if [[ $errCode -ne 0 ]]; then echo $test; fi
237251

238252
# Make sure we do not find a DEFINER
239253
test="test $index grep 'DEFINER' mysqldump-php_test012_no-definer.sql"
240254
! grep 'DEFINER' mysqldump-php_test012_no-definer.sql
241-
ret[((index++))]=$?
242-
if [[ $? -ne 0 ]]; then echo $test; fi
255+
errCode=$?; ret[((index++))]=$errCode
256+
if [[ $errCode -ne 0 ]]; then echo $test; fi
243257

244258
# test INSERT IGNORE
245259
test="test $index diff mysqldump_test013.filtered.sql mysqldump-php_test013.filtered.sql"
246260
diff mysqldump_test013.filtered.sql mysqldump-php_test013.filtered.sql
247-
ret[((index++))]=$?
248-
if [[ $? -ne 0 ]]; then echo $test; fi
249-
250-
rm *.checksum 2> /dev/null
251-
rm *.filtered.sql 2> /dev/null
252-
rm mysqldump* 2> /dev/null
261+
errCode=$?; ret[((index++))]=$errCode
262+
if [[ $errCode -ne 0 ]]; then echo $test; fi
253263

254264
echo "Done $index tests"
255265

@@ -264,4 +274,10 @@ done
264274

265275
echo "Exiting with code $retvalue"
266276

277+
if [[ $retvalue -eq 0 ]]; then
278+
rm *.checksum 2> /dev/null
279+
rm *.filtered.sql 2> /dev/null
280+
rm mysqldump* 2> /dev/null
281+
fi
282+
267283
exit $retvalue

0 commit comments

Comments
 (0)