Size: a a a

Kotlin Community

2020 May 27

BP

Bogdan Panchenko in Kotlin Community
i_vovolk
SELECT *
FROM categories
     LEFT JOIN products ON products.id = (SELECT products.id FROM products WHERE products.category_id = categories.id LIMIT 1)
LIMIT 10
Тут нужно разбить на два запроса, и один засунуть во второй, сейчас постараюсь ссылку на доку кинуть
источник

i

i_vovolk in Kotlin Community
не та, что выше, про алиасы? (там в ответе есть ссылка на доку)
источник

VP

Vladimir Petrakovich in Kotlin Community
i_vovolk
SELECT *
FROM categories
     LEFT JOIN products ON products.id = (SELECT products.id FROM products WHERE products.category_id = categories.id LIMIT 1)
LIMIT 10
Мне кажется, или это какой-то странный запрос? 🤔
источник

i

i_vovolk in Kotlin Community
Vladimir Petrakovich
Мне кажется, или это какой-то странный запрос? 🤔
его смысл - выбрать любой попавшийся id из таблицы со связью one-to-many. Есть, конечно, другие способы его переписать, но этот самый быстрый в моем случае
источник

i

i_vovolk in Kotlin Community
просто для идентификации, что в категории есть товары
источник

i

i_vovolk in Kotlin Community
не нужно придираться к дизайну конкретно этих таблиц, это просто пример
источник

BP

Bogdan Panchenko in Kotlin Community
i_vovolk
не та, что выше, про алиасы? (там в ответе есть ссылка на доку)
источник

BP

Bogdan Panchenko in Kotlin Community
Хоть оно и находится в разделе дао, к нему отношение не имеет
источник

i

i_vovolk in Kotlin Community
спасибо, поковыряю
источник

I

Ivan in Kotlin Community
class (b: Boolean, l: List<String>)
data class (val b: Boolean, val l: List<String>)

Я правильно понимаю, что у этих классов без дополнительных манипуляций всё равно будут одинаково реализованы hashCode и equals ?
источник

QH

Quantum Harmonizer in Kotlin Community
Ivan
class (b: Boolean, l: List<String>)
data class (val b: Boolean, val l: List<String>)

Я правильно понимаю, что у этих классов без дополнительных манипуляций всё равно будут одинаково реализованы hashCode и equals ?
Нет.
источник

AL

Alexander Levin in Kotlin Community
Ivan
class (b: Boolean, l: List<String>)
data class (val b: Boolean, val l: List<String>)

Я правильно понимаю, что у этих классов без дополнительных манипуляций всё равно будут одинаково реализованы hashCode и equals ?
1. Дата класс наверное в таком виде не скомпилится :)
2. Предполагая, что у всех параметров написано val - нет, в первом случае hashcode/equals не будет переопределён, поэтому будет заметно отличаться от второго.
источник

I

Ivan in Kotlin Community
Alexander Levin
1. Дата класс наверное в таком виде не скомпилится :)
2. Предполагая, что у всех параметров написано val - нет, в первом случае hashcode/equals не будет переопределён, поэтому будет заметно отличаться от второго.
1. да, забыл про val, спасибо
источник

QH

Quantum Harmonizer in Kotlin Community
При чём здесь val?
источник

I

Ivan in Kotlin Community
Quantum Harmonizer
При чём здесь val?
не скомпилится data class
источник

I

Ivan in Kotlin Community
без val
источник

QH

Quantum Harmonizer in Kotlin Community
а, понял
источник

I

Ivan in Kotlin Community
а куда можно зайти посмтореть на то, какой код сгенерируется для eqauls и hashcode у этих классов?
источник

I

Ivan in Kotlin Community
я просто не понимаю, чем он будет отличаться. и там и там дефолтный должен быть, либо я не понимаю, что такое дефолтный у class
источник

QH

Quantum Harmonizer in Kotlin Community
Ivan
а куда можно зайти посмтореть на то, какой код сгенерируется для eqauls и hashcode у этих классов?
в байт-код
источник