Skip to content

CountIssues: pq: invalid input syntax for type smallint: "true" #21447

Closed
@zenofile

Description

@zenofile

Description

After migrating from MariaDB to PostgreSQL using gitea dump -d postgres, Gitea produces a status code 500 upon visiting https://example.org/notifications/subscriptions.

The error reported in the log is:

...user/notification.go:256:NotificationSubscriptions() [I] [63485399] [SQL] SELECT COUNT(issue.id) AS count FROM "issue" INNER JOIN "repository" ON "issue".repo_id = "repository".id WHERE issue.id NOT IN (SELECT issue_id FROM issue_watch WHERE is_watching=$1 AND user_id=$2) AND (issue.id IN (SELECT issue_id FROM issue_watch WHERE is_watching=$3 AND user_id=$4) OR issue.id IN (SELECT issue_id FROM comment WHERE poster_id=$5) OR issue.poster_id=$6 OR issue.repo_id IN (SELECT id FROM watch WHERE mode=$7 AND user_id=$8)) [false 1 true 1 1 1 true 1] - 577.586µs
...user/notification.go:263:NotificationSubscriptions() [E] [63485399] CountIssues: pq: invalid input syntax for type smallint: "true"

Manually issuing the query produces:

 gitea=>  SELECT COUNT(issue.id) AS count FROM "issue" INNER JOIN "repository" ON "issue".repo_id = "repository".id WHERE issue.id NOT IN (SELECT issue_id FROM issue_watch WHERE is_watching=false AND user_id=1) AND (issue.id IN (SELECT issue_id FROM issue_watch WHERE is_watching=true AND user_id=1) OR issue.id IN (SELECT issue_id FROM comment WHERE poster_id=1) OR issue.poster_id=1 OR issue.repo_id IN (SELECT id FROM watch WHERE mode=true AND user_id=1));
ERROR:  operator does not exist: smallint = boolean
LINE 1: ... issue.repo_id IN (SELECT id FROM watch WHERE mode=true AND ...
                                                             ^

This seems to be the only issue I encountered after migration.

Gitea Version

1.18.0+dev-548-g6a6dc97b0

Can you reproduce the bug on the Gitea demo site?

No

Log Gist

https://gist.github.com/zenofile/6cdef4553a55bcbebff6135a31511a6d

Screenshots

image

Git Version

2.36.2

Operating System

Fedora Linux 37

How are you running Gitea?

As a podman (docker) container, migrated from MariaDB to PostgreSQL.

Database

PostgreSQL

Metadata

Metadata

Assignees

No one assigned

    Labels

    issue/confirmedIssue has been reviewed and confirmed to be present or accepted to be implementedtype/bug

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions