* WriteCoreStorageStats writes the collStats() storage output to the target writer. */
| 1050 | * WriteCoreStorageStats writes the collStats() storage output to the target writer. |
| 1051 | */ |
| 1052 | static void |
| 1053 | WriteCoreStorageStats(CollStatsResult *result, pgbson_writer *writer) |
| 1054 | { |
| 1055 | PgbsonWriterAppendInt32OrDouble(writer, "size", 4, result->size); |
| 1056 | PgbsonWriterAppendInt32OrDouble(writer, "count", 5, result->count); |
| 1057 | PgbsonWriterAppendInt32(writer, "avgObjSize", 10, result->avgObjSize); |
| 1058 | PgbsonWriterAppendInt32OrDouble(writer, "storageSize", 11, result->storageSize); |
| 1059 | PgbsonWriterAppendInt32(writer, "nindexes", 8, result->nindexes); |
| 1060 | |
| 1061 | pgbson_array_writer arrayWriter; |
| 1062 | PgbsonWriterStartArray(writer, "indexBuilds", 11, &arrayWriter); |
| 1063 | ListCell *indexCell = NULL; |
| 1064 | foreach(indexCell, result->indexBuilds) |
| 1065 | { |
| 1066 | char *indexName = lfirst(indexCell); |
| 1067 | bson_value_t elementValue = { |
| 1068 | .value_type = BSON_TYPE_UTF8, |
| 1069 | .value.v_utf8.str = indexName, |
| 1070 | .value.v_utf8.len = strlen(indexName) |
| 1071 | }; |
| 1072 | PgbsonArrayWriterWriteValue(&arrayWriter, &elementValue); |
| 1073 | } |
| 1074 | PgbsonWriterEndArray(writer, &arrayWriter); |
| 1075 | |
| 1076 | PgbsonWriterAppendInt32OrDouble(writer, "totalIndexSize", 14, result->totalIndexSize); |
| 1077 | PgbsonWriterAppendInt32OrDouble(writer, "totalSize", 9, result->totalSize); |
| 1078 | PgbsonWriterAppendDocument(writer, "indexSizes", 10, result->indexSizes); |
| 1079 | if (result->analyzedCount > 0) |
| 1080 | { |
| 1081 | PgbsonWriterAppendInt32OrDouble(writer, "analyzedCount", 13, |
| 1082 | result->analyzedCount); |
| 1083 | } |
| 1084 | |
| 1085 | PgbsonWriterAppendInt32OrDouble(writer, "scaleFactor", 11, result->scaleFactor); |
| 1086 | } |
| 1087 | |
| 1088 | |
| 1089 | /* |
no test coverage detected