Scan Select rules and the Query ALL_PROJECTED_ATTRIBUTES rule answer without the "1 validation error detected: " prefix

オープン 初心者向け
#832 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 4 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
64/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
rust
領域
backend

調査の方向性

validate_select_projection を crates/core/src/validation/mod.rs で確認し、列挙された Select と projection の各ルールに照らして、Scan と Query のプレフィックス処理を比較してください。issue で測定されたリクエストケースを使って応答テキストを確認します。対象となる Scan と Query の応答が記載された DynamoDB の動作と一致し、すでに一致すると報告されたルールも正しい状態であれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Scan answers the three Select rules without the 1 validation error detected: prefix the service sends, and Query answers the ALL_PROJECTED_ATTRIBUTES rule without it.

Measured against Amazon DynamoDB in us-east-1 on 4 November 2026, each request twice, both answers identical, on tables created for the run (pk S HASH and sk S RANGE; the same with an LSI lsi1; pk N HASH). ExtendDB answers are from a SQLite server built from main 25ee109bf, each request twice, both answers identical.

Request Service ExtendDB main 25ee109bf
Scan, "Select": "SPECIFIC_ATTRIBUTES" and no AttributesToGet or ProjectionExpression 1 validation error detected: Must specify the AttributesToGet or ProjectionExpression when choosing to get SPECIFIC_ATTRIBUTES Must specify the AttributesToGet or ProjectionExpression when choosing to get SPECIFIC_ATTRIBUTES
Scan, "Select": "ALL_ATTRIBUTES" with a ProjectionExpression 1 validation error detected: Cannot specify the ProjectionExpression when choosing to get ALL_ATTRIBUTES the same text without the prefix
Scan, "Select": "COUNT" with a ProjectionExpression 1 validation error detected: Cannot specify the ProjectionExpression when choosing to get only the Count the same text without the prefix
Scan of the LSI table, "Select": "ALL_PROJECTED_ATTRIBUTES", "IndexName": "lsi1" and a ProjectionExpression 1 validation error detected: Cannot specify the ProjectionExpression when choosing to get ALL_PROJECTED_ATTRIBUTES the same text without the prefix
Scan, "Select": "ALL_PROJECTED_ATTRIBUTES" and no IndexName 1 validation error detected: ALL_PROJECTED_ATTRIBUTES can be used only when Querying using an IndexName the same text without the prefix
Query pk = :p, "Select": "ALL_PROJECTED_ATTRIBUTES" and no IndexName the same as the row above the same text without the prefix

The SPECIFIC_ATTRIBUTES row was also sent on Scan beside a valid ExclusiveStartKey, beside a malformed and a wrong-typed one, beside "Limit": 1, beside a FilterExpression, and on the N hash key table: the service sends the prefix in all six, and ExtendDB leaves it out in all six.

On Query the service and ExtendDB agree on the other rules: SPECIFIC_ATTRIBUTES alone and beside a valid ExclusiveStartKey, and ALL_ATTRIBUTES and COUNT with a ProjectionExpression, all with the prefix.

Where the answer comes from

validate_select_projection in crates/core/src/validation/mod.rs adds the prefix when is_query is set and leaves it out for Scan, for the SPECIFIC_ATTRIBUTES rule and the rule for a Select that cannot carry a ProjectionExpression. A comment there cites measurements of 24 August 2026 for the split. The ALL_PROJECTED_ATTRIBUTES rule returns its text without the prefix for both operations.

主要言語
Rust
スター
517
フォーク
60
平均マージ
5日 1時間
マージ済み PR(30日)
67

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ExtendDB/extenddb のほかの issue

ExtendDB/extenddb の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。