Skip to content
This repository was archived by the owner on Aug 17, 2025. It is now read-only.
This repository was archived by the owner on Aug 17, 2025. It is now read-only.

Missing parameters in Kotlin generated SQL queries #5529

@bradleydwyer

Description

@bradleydwyer

Query:

-- name: GetTaskRows :many
SELECT 
    id,
    session_id,
    creator,
    task_status,
    task_type,
    extension_config,
    created_at,
    updated_at
FROM tasks
WHERE session_id = ? AND (
    sqlc.arg('filter_by_task_ids') = 0
    OR id IN (sqlc.slice('task_ids'))
) AND (
    sqlc.arg('filter_by_status') = 0
    OR task_status IN (sqlc.slice('status_filter'))
);

Client:

public fun interface GetTaskRowsClient {
  @SQLQueryClient(
    module="kgoose",
    command="many",
    rawSQL="SELECT id, session_id, creator, task_status, task_type, extension_config, created_at, updated_at FROM tasks WHERE session_id = ? AND ( ? = 0 OR id IN (/*SLICE:task_ids*/?) ) AND ( ? = 0 OR task_status IN (/*SLICE:status_filter*/?) )",
    dbName="db",
    colToFieldName=["id,id","session_id,sessionId","creator,creator","task_status,taskStatus","task_type,taskType","extension_config,extensionConfig","created_at,createdAt","updated_at,updatedAt"],
    fields=["sessionId","taskIds","statusFilter"],
  )
  public fun getTaskRows(`value`: GetTaskRowsQuery): List<Task>
}

Here, we are missing fields for filter_by_task_ids and filter_by_status

This breaks the query service when we try to execute such query, as it has fewer parameters than fields in the query

The schema is missing sql columns for these fields, so it is mot likely a schema generation issue:

data GetTaskRowsQuery {
      +generated
      sessionId String +sql column tasks.session_id
      filterByTaskIds Int
      taskIds [String] +sql column tasks.task_ids
      filterByStatus Int
      statusFilter [String] +sql column tasks.status_filter
 }

Metadata

Metadata

Assignees

No one assigned

    Labels

    githubMarks an issue as synced to Github

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions