Skip to content

Conversation

@ebenezerdon
Copy link
Contributor

@ebenezerdon ebenezerdon commented Nov 13, 2025

What does this PR do?

(Provide a description of what this PR does.)

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.)

Related PRs and Issues

(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)

Have you read the Contributing Guidelines on issues?

(Write your answer here.)

Summary by CodeRabbit

  • Documentation
    • Added comprehensive guide on optimizing list performance by skipping total count computation
    • Provided code examples across 16+ programming languages and frameworks demonstrating total=false parameter usage
    • Enhanced documentation with performance optimization recommendations and relevant pagination references

@ebenezerdon ebenezerdon self-assigned this Nov 13, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 13, 2025

Walkthrough

These changes are documentation-only updates across two Markdoc files. The pagination documentation is expanded with a new section on skipping total counts for faster list responses, including multi-language code examples (10+ languages). The rows documentation is updated with a corrected endpoint label and a new informational block about the total=false optimization that links to the pagination guide.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Rationale: Both changes are purely documentation with no functional code or API signature modifications. The code examples follow a consistent, repetitive pattern (same use case demonstrated across multiple languages), which reduces cognitive overhead per example. The updates involve straightforward content additions and label corrections without structural complexity or interdependencies.

Pre-merge checks and finishing touches

✅ 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 'document skipping totals on list endpoints' directly and clearly summarizes the main changes: adding documentation about how to skip total counts on list endpoints for performance.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/databases-skip-totals

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.

@ebenezerdon ebenezerdon marked this pull request as ready for review November 17, 2025 13:34
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
src/routes/docs/products/databases/pagination/+page.markdoc (1)

297-297: Minor typo: "tablesDB" should be "tables".

The sentence references database tables conceptually, not the TablesDB class. Consider this small fix:

-For example, a feed, comment section, chat history, or high volume datasets.
+For example, a feed, comment section, chat history, or high-volume datasets.

Note: Also hyphenated "high-volume" for consistency with compound adjectives.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0e69a2c and 6e62a68.

📒 Files selected for processing (2)
  • src/routes/docs/products/databases/pagination/+page.markdoc (1 hunks)
  • src/routes/docs/products/databases/rows/+page.markdoc (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-05T19:35:04.162Z
Learnt from: ebenezerdon
Repo: appwrite/website PR: 2372
File: src/routes/docs/tutorials/nuxt/step-6/+page.markdoc:79-83
Timestamp: 2025-09-05T19:35:04.162Z
Learning: In Nuxt tutorial files, the correct Appwrite database instance to use is `tablesDB` (imported from "~/appwrite"), not `database`. All tablesDB method calls should use the object parameter format: listRows({ databaseId, tableId, queries }), createRow({ databaseId, tableId, rowId, data }), and deleteRow({ databaseId, tableId, rowId }).

Applied to files:

  • src/routes/docs/products/databases/rows/+page.markdoc
  • src/routes/docs/products/databases/pagination/+page.markdoc
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: build
  • GitHub Check: assets
  • GitHub Check: tests
🔇 Additional comments (4)
src/routes/docs/products/databases/rows/+page.markdoc (2)

138-138: LGTM! Typo fix improves accuracy.

The correction from "List Row" to "List rows" properly reflects that the endpoint returns multiple rows, not a single row.


146-149: Verification confirmed: total parameter is implemented across all SDKs.

The info block accurately references documentation that exists. The pagination guide includes a "Skip totals for faster lists" section with working examples for client-web, client-flutter, client-apple, client-android-kotlin, and GraphQL—all SDKs shown in the rows page. The cross-reference anchor /docs/products/databases/pagination#skip-totals is correct and the feature is properly documented with implementation details for each SDK.

src/routes/docs/products/databases/pagination/+page.markdoc (2)

299-308: Excellent documentation structure and clarity.

This section effectively introduces the optimization by:

  • Explaining the performance cost (extra COUNT query)
  • Identifying the use case (UIs without exact total needs)
  • Describing the behavior (total set to 0, same response shape)
  • Providing clear recommendations (when to use, when not to use)

The guidance is practical and helps developers make informed decisions.


309-622: Verify SDK implementation of total parameter across all documented SDK versions.

The documentation examples are comprehensive and syntactically correct for all 15+ SDK variants. However, verification of actual SDK support cannot be completed from the documentation repository alone.

The documentation does not mention version constraints or SDK version requirements for the total parameter. To confirm users won't encounter "unknown parameter" errors, check the official changelogs and API specifications for each SDK (node-appwrite, appwrite-python, appwrite-php, appwrite-go, appwrite-swift, appwrite-kotlin, appwrite-java, flutter-appwrite, etc.) to ensure the total parameter is available in all versions your documentation targets.

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.

2 participants