This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch gh-pages in repository https://gitbox.apache.org/repos/asf/iceberg-rust.git
The following commit(s) were added to refs/heads/gh-pages by this push: new 915427ff deploy: ba487fc1521f40c57f809d37f4f939e12fd41845 915427ff is described below commit 915427ff890316ed454cc4f3903222099c6426e9 Author: liurenjie1024 <liurenjie1...@users.noreply.github.com> AuthorDate: Thu Sep 25 10:28:55 2025 +0000 deploy: ba487fc1521f40c57f809d37f4f939e12fd41845 --- .../iceberg/transaction/update_statistics.rs.html | 54 +++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/api/src/iceberg/transaction/update_statistics.rs.html b/api/src/iceberg/transaction/update_statistics.rs.html index 562cf540..15b71994 100644 --- a/api/src/iceberg/transaction/update_statistics.rs.html +++ b/api/src/iceberg/transaction/update_statistics.rs.html @@ -171,4 +171,56 @@ <a href=#171 id=171 data-nosnippet>171</a> <span class="prelude-val">Some</span>(statistics_file_2) <a href=#172 id=172 data-nosnippet>172</a> ); <a href=#173 id=173 data-nosnippet>173</a> } -<a href=#174 id=174 data-nosnippet>174</a>}</code></pre></div></section></main></body></html> \ No newline at end of file +<a href=#174 id=174 data-nosnippet>174</a> +<a href=#175 id=175 data-nosnippet>175</a> <span class="attr">#[test] +<a href=#176 id=176 data-nosnippet>176</a> </span><span class="kw">fn </span>test_set_single_statistics() { +<a href=#177 id=177 data-nosnippet>177</a> <span class="kw">let </span>table = make_v2_table(); +<a href=#178 id=178 data-nosnippet>178</a> <span class="kw">let </span>tx = Transaction::new(<span class="kw-2">&</span>table); +<a href=#179 id=179 data-nosnippet>179</a> +<a href=#180 id=180 data-nosnippet>180</a> <span class="kw">let </span>statistics_file = StatisticsFile { +<a href=#181 id=181 data-nosnippet>181</a> snapshot_id: <span class="number">1234567890i64</span>, +<a href=#182 id=182 data-nosnippet>182</a> statistics_path: <span class="string">"s3://a/b/stats1.puffin"</span>.to_string(), +<a href=#183 id=183 data-nosnippet>183</a> file_size_in_bytes: <span class="number">500</span>, +<a href=#184 id=184 data-nosnippet>184</a> file_footer_size_in_bytes: <span class="number">50</span>, +<a href=#185 id=185 data-nosnippet>185</a> key_metadata: <span class="prelude-val">None</span>, +<a href=#186 id=186 data-nosnippet>186</a> blob_metadata: <span class="macro">vec!</span>[], +<a href=#187 id=187 data-nosnippet>187</a> }; +<a href=#188 id=188 data-nosnippet>188</a> +<a href=#189 id=189 data-nosnippet>189</a> <span class="comment">// Set statistics +<a href=#190 id=190 data-nosnippet>190</a> </span><span class="kw">let </span>tx = tx +<a href=#191 id=191 data-nosnippet>191</a> .update_statistics() +<a href=#192 id=192 data-nosnippet>192</a> .set_statistics(statistics_file.clone()) +<a href=#193 id=193 data-nosnippet>193</a> .apply(tx) +<a href=#194 id=194 data-nosnippet>194</a> .unwrap(); +<a href=#195 id=195 data-nosnippet>195</a> +<a href=#196 id=196 data-nosnippet>196</a> <span class="kw">let </span>action = (<span class="kw-2">*</span>tx.actions[<span class="number">0</span>]) +<a href=#197 id=197 data-nosnippet>197</a> .downcast_ref::<UpdateStatisticsAction>() +<a href=#198 id=198 data-nosnippet>198</a> .unwrap(); +<a href=#199 id=199 data-nosnippet>199</a> +<a href=#200 id=200 data-nosnippet>200</a> <span class="comment">// Verify that the statistics file is set correctly +<a href=#201 id=201 data-nosnippet>201</a> </span><span class="macro">assert_eq!</span>( +<a href=#202 id=202 data-nosnippet>202</a> action +<a href=#203 id=203 data-nosnippet>203</a> .statistics_to_set +<a href=#204 id=204 data-nosnippet>204</a> .get(<span class="kw-2">&</span>statistics_file.snapshot_id) +<a href=#205 id=205 data-nosnippet>205</a> .unwrap() +<a href=#206 id=206 data-nosnippet>206</a> .clone(), +<a href=#207 id=207 data-nosnippet>207</a> <span class="prelude-val">Some</span>(statistics_file) +<a href=#208 id=208 data-nosnippet>208</a> ); +<a href=#209 id=209 data-nosnippet>209</a> } +<a href=#210 id=210 data-nosnippet>210</a> +<a href=#211 id=211 data-nosnippet>211</a> <span class="attr">#[test] +<a href=#212 id=212 data-nosnippet>212</a> </span><span class="kw">fn </span>test_no_statistics_set() { +<a href=#213 id=213 data-nosnippet>213</a> <span class="kw">let </span>table = make_v2_table(); +<a href=#214 id=214 data-nosnippet>214</a> <span class="kw">let </span>tx = Transaction::new(<span class="kw-2">&</span>table); +<a href=#215 id=215 data-nosnippet>215</a> +<a href=#216 id=216 data-nosnippet>216</a> <span class="comment">// No statistics are set or removed +<a href=#217 id=217 data-nosnippet>217</a> </span><span class="kw">let </span>tx = tx.update_statistics().apply(tx).unwrap(); +<a href=#218 id=218 data-nosnippet>218</a> +<a href=#219 id=219 data-nosnippet>219</a> <span class="kw">let </span>action = (<span class="kw-2">*</span>tx.actions[<span class="number">0</span>]) +<a href=#220 id=220 data-nosnippet>220</a> .downcast_ref::<UpdateStatisticsAction>() +<a href=#221 id=221 data-nosnippet>221</a> .unwrap(); +<a href=#222 id=222 data-nosnippet>222</a> +<a href=#223 id=223 data-nosnippet>223</a> <span class="comment">// Verify that no statistics are set +<a href=#224 id=224 data-nosnippet>224</a> </span><span class="macro">assert!</span>(action.statistics_to_set.is_empty()); +<a href=#225 id=225 data-nosnippet>225</a> } +<a href=#226 id=226 data-nosnippet>226</a>}</code></pre></div></section></main></body></html> \ No newline at end of file