aboutsummaryrefslogtreecommitdiff
path: root/internal/database/copy.go
AgeCommit message (Collapse)Author
2026-03-24all: pgx/v4 to v5 and upgrade pqEthan Lee
- In preparation for upgrade to PostgreSQL 17, upgrade stale dependencies within pkgsite. Change-Id: Id54cbb46182711b9808ee3bbbe2f0d5d9a04583d Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/758121 Auto-Submit: Ethan Lee <ethanalee@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com> kokoro-CI: kokoro <noreply+kokoro@google.com>
2022-11-15all: convert interface{} to anyHana (Hyang-Ah) Kim
Change-Id: I1f3b7cc8899c7707abb01e3d14807c37c3451382 Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/449695 TryBot-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: Jamal Carvalho <jamal@golang.org> Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
2021-06-14internal/database: add CopyInsertJonathan Amsterdam
Change-Id: I6a9619f9cfd9b86862a5638994ec399c5a01a35f Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/327670 Trust: Jonathan Amsterdam <jba@google.com> Run-TryBot: Jonathan Amsterdam <jba@google.com> TryBot-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: Julie Qiu <julie@golang.org>
2021-04-07internal/database: add DB.WithPGXConnJonathan Amsterdam
This function lets code outside the package use pgx-specific features like CopyFrom. Change-Id: I40d2c8b5d9a92f61f535fc25059fb976baf5d178 Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/307870 Trust: Jonathan Amsterdam <jba@google.com> Run-TryBot: Jonathan Amsterdam <jba@google.com> TryBot-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: Julie Qiu <julie@golang.org>
2021-04-06internal/database: CopyUpsert honors QueryLoggingDisabledJonathan Amsterdam
Don't log from CopyUpsert if query logging is disabled. Change-Id: Iee6d1998b6330294043d8f80ab5b5507651750ee Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/307471 Trust: Jonathan Amsterdam <jba@google.com> Run-TryBot: Jonathan Amsterdam <jba@google.com> TryBot-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: Jamal Carvalho <jamal@golang.org> Reviewed-by: Julie Qiu <julie@golang.org>
2021-03-30internal/database: CopyUpsert: support dropping a columnJonathan Amsterdam
You can't do a CopyFrom on a table with a generated column: postgres complains about the column value being null. To fix, drop the column on the temporary table. Change-Id: Ia52f59af6d026b3fcdaafe3c7865a2eb85deb179 Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/305830 Trust: Jonathan Amsterdam <jba@google.com> Run-TryBot: Jonathan Amsterdam <jba@google.com> Reviewed-by: Julie Qiu <julie@golang.org>
2021-03-29internal/database: improve temp table creationJonathan Amsterdam
- Use LIKE to copy a table's scheme, instead of a SELECT. - Drop the table on commit. Change-Id: I82f5bb64e99f7983498a7e81bdeba51025a49b2b Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/305529 Trust: Jonathan Amsterdam <jba@google.com> Run-TryBot: Jonathan Amsterdam <jba@google.com> TryBot-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: Julie Qiu <julie@golang.org>
2021-03-25internal/database: add CopyUpsertJonathan Amsterdam
Add the CopyUpsert method, which uses an efficient Postgres protocol to insert rows. For this to work, we need the connection underlying a sql.Tx value. Since sql.Tx doesn't expose its connection, we create one explicitly in DB.transact. Change-Id: Ie48ce7a4318f4531d4756f779943188a6f0fb6cd Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/304631 Trust: Jonathan Amsterdam <jba@google.com> Run-TryBot: Jonathan Amsterdam <jba@google.com> TryBot-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: Julie Qiu <julie@golang.org>