You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
However, the query you show there where only one value is derived from the subquery and other values are provided outright might be a bit odd to build.
Tinkering around I don't think that specific query is possible to build using the ORM functions.
It would probably be easier to build the select query using go-pg's ORM, but then convert it to a string and then build the insert query by hand.
The proper way to go about this use case with go-pg through would be to issue the select query first, then issue the insert query with its result as a value on your struct.
This does cause 2 round trips to the database, but won't be significantly different at all in performance besides network latency.
If the value of the select sub-query is time sensitive and could change between when it was read and when the insert is performed then you would need to perform them in a serializable transaction, but may run into serialization issues if this is the case.
I have a need to do something like
INSERT INTO foo (x, y) VALUES ( (SELECT b1.id FROM boo b1 WHERE …), 3 );
, do we support this function in gopg?The text was updated successfully, but these errors were encountered: