changeset 22038:801fd8985a0b

doveadm mailbox status: Add "firstsaved" field.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Wed, 10 May 2017 12:44:25 +0300
parents 7d09937dc4ff
children cd2b83cf966e
files doc/man/doveadm-mailbox.1.in src/doveadm/doveadm-mail-mailbox-status.c
diffstat 2 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/doc/man/doveadm-mailbox.1.in	Tue May 09 14:29:04 2017 +0300
+++ b/doc/man/doveadm-mailbox.1.in	Wed May 10 12:44:25 2017 +0300
@@ -245,6 +245,9 @@
 The
 .IR mailbox \(aqs
 virtual size, computed with CRLF line terminators.
+.TP
+.B firstsaved
+Saved time of the first mail in the mailbox.
 .RE
 .PP
 .\"------------------------------------------------------------------------
--- a/src/doveadm/doveadm-mail-mailbox-status.c	Tue May 09 14:29:04 2017 +0300
+++ b/src/doveadm/doveadm-mail-mailbox-status.c	Wed May 10 12:44:25 2017 +0300
@@ -14,7 +14,8 @@
 	 STATUS_UIDNEXT | STATUS_UIDVALIDITY | \
 	 STATUS_UNSEEN | STATUS_HIGHESTMODSEQ)
 #define ALL_METADATA_ITEMS \
-	(MAILBOX_METADATA_VIRTUAL_SIZE | MAILBOX_METADATA_GUID)
+	(MAILBOX_METADATA_VIRTUAL_SIZE | MAILBOX_METADATA_GUID | \
+	 MAILBOX_METADATA_FIRST_SAVE_DATE)
 
 #define TOTAL_STATUS_ITEMS \
 	(STATUS_MESSAGES | STATUS_RECENT | STATUS_UNSEEN)
@@ -66,6 +67,8 @@
 			ctx->metadata_items |= MAILBOX_METADATA_VIRTUAL_SIZE;
 		else if (strcmp(field, "guid") == 0)
 			ctx->metadata_items |= MAILBOX_METADATA_GUID;
+		else if (strcmp(field, "firstsaved") == 0)
+			ctx->metadata_items |= MAILBOX_METADATA_FIRST_SAVE_DATE;
 		else {
 			i_fatal_status(EX_USAGE,
 				       "Unknown status field: %s", field);
@@ -104,6 +107,8 @@
 		doveadm_print_num(metadata->virtual_size);
 	if ((ctx->metadata_items & MAILBOX_METADATA_GUID) != 0)
 		doveadm_print(guid_128_to_string(metadata->guid));
+	if ((ctx->metadata_items & MAILBOX_METADATA_FIRST_SAVE_DATE) != 0)
+		doveadm_print_num(metadata->first_save_date);
 }
 
 static void
@@ -210,6 +215,8 @@
 		doveadm_print_header_simple("vsize");
 	if ((ctx->metadata_items & MAILBOX_METADATA_GUID) != 0)
 		doveadm_print_header_simple("guid");
+	if ((ctx->metadata_items & MAILBOX_METADATA_FIRST_SAVE_DATE) != 0)
+		doveadm_print_header_simple("firstsaved");
 }
 
 static void cmd_mailbox_status_deinit(struct doveadm_mail_cmd_context *_ctx)