The following example:
require "sequel"
DB = Sequel.mock
class Artist < Sequel::Model
one_to_many :albums, order: :created_at
end
class Album < Sequel::Model
end
puts Artist.association_join(:albums).sql
prints out the following SQL:
SELECT * FROM artists INNER JOIN albums ON (albums.artist_id = artists.id)
and I was hoping it would be
SELECT * FROM artists INNER JOIN (SELECT * FROM albums ORDER BY created_at)
AS albums ON (albums.artist_id = artists.id)
The scenario where I wanted this ORDER BY to be added was when adding a
`DISTINCT ON`, e.g. to JOIN only on the earliest albums for each artist:
Artist.association_join(albums: -> (ds) { ds.distinct(:artist_id) })
Is the order left out intentionally? If not, I could send a pull request
for #association_join to pick up the default :order.
Kind regards,
Janko
--
You received this message because you are subscribed to the Google Groups
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.