Skip to content

Commit c4a007c

Browse files
authored
Feat[bmqstoragetool] add --record-type 'all' option (#656)
This mode prints all types of records (message, queue-op, journal-op). Signed-off-by: Christopher Beard <[email protected]>
1 parent f3ba418 commit c4a007c

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/applications/bmqstoragetool/m_bmqstoragetool_parameters.cpp

+9-3
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ bool isValidQueueKeyHexRepresentation(const char* queueKeyBuf)
7575
// class CommandLineArguments
7676
// ==========================
7777

78+
const char* CommandLineArguments::k_ALL_TYPE = "all";
7879
const char* CommandLineArguments::k_MESSAGE_TYPE = "message";
7980
const char* CommandLineArguments::k_QUEUEOP_TYPE = "queue-op";
8081
const char* CommandLineArguments::k_JOURNALOP_TYPE = "journal-op";
@@ -307,8 +308,8 @@ bool CommandLineArguments::validate(bsl::string* error,
307308
bool CommandLineArguments::isValidRecordType(const bsl::string* recordType,
308309
bsl::ostream& stream)
309310
{
310-
if (*recordType != k_MESSAGE_TYPE && *recordType != k_QUEUEOP_TYPE &&
311-
*recordType != k_JOURNALOP_TYPE) {
311+
if (*recordType != k_ALL_TYPE && *recordType != k_MESSAGE_TYPE &&
312+
*recordType != k_QUEUEOP_TYPE && *recordType != k_JOURNALOP_TYPE) {
312313
stream << "--record-type invalid: " << *recordType << bsl::endl;
313314

314315
return false; // RETURN
@@ -404,7 +405,12 @@ Parameters::Parameters(const CommandLineArguments& arguments,
404405
arguments.d_recordType.begin();
405406
cit != arguments.d_recordType.end();
406407
++cit) {
407-
if (*cit == CommandLineArguments::k_MESSAGE_TYPE) {
408+
if (*cit == CommandLineArguments::k_ALL_TYPE) {
409+
d_processRecordTypes.d_message = true;
410+
d_processRecordTypes.d_queueOp = true;
411+
d_processRecordTypes.d_journalOp = true;
412+
}
413+
else if (*cit == CommandLineArguments::k_MESSAGE_TYPE) {
408414
d_processRecordTypes.d_message = true;
409415
}
410416
else if (*cit == CommandLineArguments::k_QUEUEOP_TYPE) {

src/applications/bmqstoragetool/m_bmqstoragetool_parameters.h

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ struct CommandLineArguments {
5757
// PUBLIC DATA
5858

5959
/// Record types constants
60+
static const char* k_ALL_TYPE;
6061
static const char* k_MESSAGE_TYPE;
6162
static const char* k_QUEUEOP_TYPE;
6263
static const char* k_JOURNALOP_TYPE;

0 commit comments

Comments
 (0)