MCPcopy Create free account
hub / github.com/apache/cloudberry / Serialize

Method Serialize

src/backend/gporca/libgpopt/src/optimizer/COptimizerConfig.cpp:119–261  ·  view source on GitHub ↗

--------------------------------------------------------------------------- @function: COptimizerConfig::Serialize @doc: Serialize optimizer configuration ---------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

117//
118//---------------------------------------------------------------------------
119void
120COptimizerConfig::Serialize(CMemoryPool *mp, CXMLSerializer *xml_serializer,
121 CBitSet *pbsTrace) const
122{
123 GPOS_ASSERT(nullptr != xml_serializer);
124 GPOS_ASSERT(nullptr != pbsTrace);
125
126 xml_serializer->OpenElement(
127 CDXLTokens::GetDXLTokenStr(EdxltokenNamespacePrefix),
128 CDXLTokens::GetDXLTokenStr(EdxltokenOptimizerConfig));
129
130 xml_serializer->OpenElement(
131 CDXLTokens::GetDXLTokenStr(EdxltokenNamespacePrefix),
132 CDXLTokens::GetDXLTokenStr(EdxltokenEnumeratorConfig));
133 xml_serializer->AddAttribute(CDXLTokens::GetDXLTokenStr(EdxltokenPlanId),
134 m_enumerator_cfg->GetPlanId());
135 xml_serializer->AddAttribute(
136 CDXLTokens::GetDXLTokenStr(EdxltokenPlanSamples),
137 m_enumerator_cfg->GetPlanId());
138 xml_serializer->AddAttribute(
139 CDXLTokens::GetDXLTokenStr(EdxltokenCostThreshold),
140 m_enumerator_cfg->GetPlanId());
141 xml_serializer->CloseElement(
142 CDXLTokens::GetDXLTokenStr(EdxltokenNamespacePrefix),
143 CDXLTokens::GetDXLTokenStr(EdxltokenEnumeratorConfig));
144
145 xml_serializer->OpenElement(
146 CDXLTokens::GetDXLTokenStr(EdxltokenNamespacePrefix),
147 CDXLTokens::GetDXLTokenStr(EdxltokenStatisticsConfig));
148 xml_serializer->AddAttribute(
149 CDXLTokens::GetDXLTokenStr(EdxltokenDampingFactorFilter),
150 m_stats_conf->DDampingFactorFilter());
151 xml_serializer->AddAttribute(
152 CDXLTokens::GetDXLTokenStr(EdxltokenDampingFactorJoin),
153 m_stats_conf->DDampingFactorJoin());
154 xml_serializer->AddAttribute(
155 CDXLTokens::GetDXLTokenStr(EdxltokenDampingFactorGroupBy),
156 m_stats_conf->DDampingFactorGroupBy());
157 xml_serializer->AddAttribute(
158 CDXLTokens::GetDXLTokenStr(EdxltokenMaxStatsBuckets),
159 m_stats_conf->UlMaxStatsBuckets());
160 xml_serializer->CloseElement(
161 CDXLTokens::GetDXLTokenStr(EdxltokenNamespacePrefix),
162 CDXLTokens::GetDXLTokenStr(EdxltokenStatisticsConfig));
163
164 xml_serializer->OpenElement(
165 CDXLTokens::GetDXLTokenStr(EdxltokenNamespacePrefix),
166 CDXLTokens::GetDXLTokenStr(EdxltokenCTEConfig));
167 xml_serializer->AddAttribute(
168 CDXLTokens::GetDXLTokenStr(EdxltokenCTEInliningCutoff),
169 m_cte_conf->UlCTEInliningCutoff());
170 xml_serializer->CloseElement(
171 CDXLTokens::GetDXLTokenStr(EdxltokenNamespacePrefix),
172 CDXLTokens::GetDXLTokenStr(EdxltokenCTEConfig));
173
174 xml_serializer->OpenElement(
175 CDXLTokens::GetDXLTokenStr(EdxltokenNamespacePrefix),
176 CDXLTokens::GetDXLTokenStr(EdxltokenWindowOids));

Callers

nothing calls this directly

Calls 15

OpenElementMethod · 0.80
AddAttributeMethod · 0.80
CloseElementMethod · 0.80
DDampingFactorFilterMethod · 0.80
DDampingFactorJoinMethod · 0.80
DDampingFactorGroupByMethod · 0.80
UlMaxStatsBucketsMethod · 0.80
UlCTEInliningCutoffMethod · 0.80
OidRowNumberMethod · 0.80
OidRankMethod · 0.80
OidDenseRankMethod · 0.80

Tested by

no test coverage detected