Skip to content

Return type of Queryable.query is wrong when query is not SELECT #321

@silane

Description

@silane

query(query: SQLQuery): Promise<any[]>;

Return type of Queryable.query is declared to be Promise<any[]> but this is correct only when in SELECT query and not INSERT or DELETE or something else. When INSERT, the returned value seems to be object like follows.

ResultSetHeader {
  fieldCount: 0,
  affectedRows: 0,
  insertId: 0,
  info: "Records: 0  Duplicates: 0  Warnings: 0",
  serverStatus: 2,
  warningStatus: 0
}

I'm getting TypeScript error when reading affectedRows, but it actually works at runtime.

スクリーンショット 2024-03-19 004352

Using @databases/mysql, but may be the same for other DBs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions