Skip to content

Conversation

@fogelito
Copy link
Contributor

@fogelito fogelito commented Feb 9, 2026

Summary by CodeRabbit

Release Notes

  • Bug Fixes
    • Fixed potential errors when processing data collections with missing attributes, improving overall stability and reliability.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 9, 2026

📝 Walkthrough

Walkthrough

The getAttributeWidth method in the SQL adapter now includes a safety check to default to an empty array when the 'attributes' key is missing from a collection, preventing potential runtime notices during iteration.

Changes

Cohort / File(s) Summary
Defensive Array Handling
src/Database/Adapter/SQL.php
Modified getAttributeWidth to safely default the 'attributes' collection key to an empty array, preventing iteration errors when the key is absent.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A tiny fix, so neat and small,
When attributes vanish, we don't fall!
An empty array guards the way,
No notices to ruin the day! 🌟

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly describes the main change: adding a check for the attributes key existence to prevent errors when the key is missing.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch check-attributes-key-exist

No actionable comments were generated in the recent review. 🎉

🧹 Recent nitpick comments
src/Database/Adapter/SQL.php (1)

1113-1113: Use getAttribute() for consistency with the rest of this file.

getAttributes() iterates all document properties and filters internal keys, only for you to then pick a single key from the result. The existing pattern throughout this file (getSpatialAttributes at Line 439, getCountOfAttributes at Line 1041, upsertDocuments at Line 2599) uses getAttribute('attributes', []), which is more direct and already handles the missing-key fallback.

Proposed fix
-        $attributes = $collection->getAttributes()['attributes'] ?? [];
+        $attributes = $collection->getAttribute('attributes', []);

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant