def quote_identifier(name):
if not isinstance(name, str) or not name or chr(0) in name:
raise ValueError("identifier.invalid")
return '"' + name.replace('"', '""') + '"'- モデル
- OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
- プロジェクト
- 空白やSQL風の文字列を確認し、点付きの名前を複数識別子に分割せず空名とNULを拒否します。
- 適用前に確認
- 実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
def quote_identifier(name):
if not isinstance(name, str) or not name or chr(0) in name:
raise ValueError("identifier.invalid")
return '"' + name.replace('"', '""') + '"'クエリの構造と渡す値を区別する
動的クエリのコードでは、検索する値とデータベースオブジェクトの名前を明確に区別する必要があります。QuoteMicaはプロジェクトファイルでその違いをレビューするWindows向けAIコーディング環境です。クエリ生成関数から始め、どの部分を可変にしてよいか説明してください。編集の提案前に各名前と値の出所を追跡するよう依頼します。
SQLiteの識別子を引用符で囲む例は、検討できる題材の一つです。引用済みの名前がクエリビルダーに届く流れと、そもそもその名前を受理してよいかをレビューしてください。正しい表現と認可は別の判断です。ヘルパーの限定的な責任と呼び出し側の制約を説明し、意図した動作を確認するため実行できる具体的なクエリを示す提案が有用です。
対応するOpenAI互換またはAnthropicのエンドポイントが提供していれば無検閲AIモデルを選び、必要な認証情報を指定します。プロバイダーのポリシー、ツール対応、コンテキスト上限は引き続き接続に適用されます。クエリの変更案を読み、代表的なスキーマ名でプロジェクトのデータベーステストを実行してください。ローカルモデルには別途実行するサーバーを使い、それによってデータベースツールや他の接続サービスもローカルで動くと保証されるわけではありません。
動的クエリのレビュー項目
テーブル名を引用すれば利用を許可してよいですか?
いいえ。引用はクエリ構文で識別子を表現する処理で、アクセスしてよいオブジェクトはアプリが判断する必要があります。特に利用者が制御する入力から名前が来る場合は、呼び出し側の判断を調べるよう依頼してください。
列名を通常のバインド値のように扱えますか?
クエリ構造とデータ値を別のレビュー対象として扱います。データベースインターフェースが何に対応し、既存クエリがどう構築されるか調べてください。この識別子の例は、値のバインドで任意の列名を選べるという根拠ではありません。
クエリビルダーの回帰確認は何を示すべきですか?
引用が必要な許可済みの名前で実際のクエリを実行し、意図する結果を確認すべきです。名前に制限があるなら拒否対象も含めます。生成文字列だけの確認では、実行や認可の動作は検証できません。
QuoteMicaはすべての動的クエリを自動発見しますか?
完全な網羅を前提にしないでください。提案の根拠となったファイルと呼び出し箇所を尋ね、既知のクエリビルダーを自分でも示します。調査範囲はモデルのコンテキストと利用可能なツールに制限されるため、広い変更を完了と見なす前に未調査の経路をレビューしてください。
QuoteMica · 更新日 2026-10-25