<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://saravanan.app/blog/</loc></url><url><loc>https://saravanan.app/blog/agentic-ai-vs-generative-ai/</loc></url><url><loc>https://saravanan.app/blog/agentic-ai/</loc></url><url><loc>https://saravanan.app/blog/agentic-ai/approval-before-tool-execution/</loc></url><url><loc>https://saravanan.app/blog/airflow-dag-failure-troubleshooting/</loc></url><url><loc>https://saravanan.app/blog/bigquery-incremental-load-deduplication/</loc></url><url><loc>https://saravanan.app/blog/data-engineering/</loc></url><url><loc>https://saravanan.app/blog/data-engineering/deterministic-deduplication-before-merge/</loc></url><url><loc>https://saravanan.app/blog/data-quality-reconciliation-checklist/</loc></url><url><loc>https://saravanan.app/blog/oracle-plsql/</loc></url><url><loc>https://saravanan.app/blog/oracle-plsql/handle-missing-and-duplicate-rows/</loc></url><url><loc>https://saravanan.app/blog/oracle-sql-execution-plan-basics/</loc></url><url><loc>https://saravanan.app/blog/snowflake/</loc></url><url><loc>https://saravanan.app/blog/snowflake/merge-source-cardinality/</loc></url><url><loc>https://saravanan.app/interview/</loc></url><url><loc>https://saravanan.app/interview/agentic-ai/experienced/</loc></url><url><loc>https://saravanan.app/interview/agentic-ai/fresher/</loc></url><url><loc>https://saravanan.app/interview/data-engineering/experienced/</loc></url><url><loc>https://saravanan.app/interview/data-engineering/fresher/</loc></url><url><loc>https://saravanan.app/interview/oracle-plsql/experienced/</loc></url><url><loc>https://saravanan.app/interview/oracle-plsql/fresher/</loc></url><url><loc>https://saravanan.app/interview/snowflake/experienced/</loc></url><url><loc>https://saravanan.app/interview/snowflake/fresher/</loc></url><url><loc>https://saravanan.app/problems/</loc></url><url><loc>https://saravanan.app/problems/agentic-ai/</loc></url><url><loc>https://saravanan.app/problems/agentic-ai/agent-exceeds-step-budget/</loc></url><url><loc>https://saravanan.app/problems/agentic-ai/well-formed-tool-call-invalid-value/</loc></url><url><loc>https://saravanan.app/problems/data-engineering/</loc></url><url><loc>https://saravanan.app/problems/data-engineering/missing-field-hidden-by-default/</loc></url><url><loc>https://saravanan.app/problems/data-engineering/replayed-batch-duplicates/</loc></url><url><loc>https://saravanan.app/problems/oracle-plsql/</loc></url><url><loc>https://saravanan.app/problems/oracle-plsql/invalid-package-compile-errors/</loc></url><url><loc>https://saravanan.app/problems/oracle-plsql/not-in-with-null/</loc></url><url><loc>https://saravanan.app/problems/snowflake/</loc></url><url><loc>https://saravanan.app/problems/snowflake/json-array-row-explosion/</loc></url><url><loc>https://saravanan.app/problems/snowflake/merge-conflicting-version-ties/</loc></url><url><loc>https://saravanan.app/problems/oracle-plsql/outer-join-filter-drops-rows/</loc><lastmod>2026-10-31</lastmod></url><url><loc>https://saravanan.app/problems/oracle-plsql/date-filter-implicit-conversion/</loc><lastmod>2026-10-31</lastmod></url><url><loc>https://saravanan.app/problems/data-engineering/binary-float-money-reconciliation/</loc><lastmod>2026-10-31</lastmod></url><url><loc>https://saravanan.app/problems/data-engineering/utc-date-business-day-mismatch/</loc><lastmod>2026-10-31</lastmod></url><url><loc>https://saravanan.app/problems/snowflake/failed-numeric-conversion-hidden-by-sum/</loc><lastmod>2026-10-31</lastmod></url><url><loc>https://saravanan.app/problems/snowflake/running-total-window-peers/</loc><lastmod>2026-10-31</lastmod></url><url><loc>https://saravanan.app/problems/agentic-ai/untrusted-tool-text-authority/</loc><lastmod>2026-10-31</lastmod></url><url><loc>https://saravanan.app/problems/agentic-ai/parallel-tool-result-correlation/</loc><lastmod>2026-10-31</lastmod></url></urlset>