14446
Вопросы про Python для чайников. Cпам и троллинг неприемлем. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Правила группы: https://t.me/ru_python_beginners/1649981
Код больше никто не читает (если код ещё и писать перестанут, вообще хорошо будет)
Читать полностью…
Интересно куда же делись все любители подставить значение в запрос через ф строки. Неужели научились? Или ИИ просто не грешит подобным?
Читать полностью…
Да ну остальные. В простых кейсах просто, в сложных кейсах безопасно. В средних кейсах ну в целом не велика потеря
Читать полностью…
Кроме совсем мудрёных случаев, где мы пользователю де-факто и даём кусок sql так или иначе ввести, можно сразу все нужные фильтры сразу выписать
Читать полностью…
Да и неудобно запускать программу чтобы узнать как выглядит кусок этой программы, это в целом минус любого метапрограммирования
Читать полностью…
Ну у меня тоже так часто. Проблем почти не возникает
Читать полностью…
Я иногда кланкером с sql на алхимию перевожу
Читать полностью…
Интересно есть ли хоть одна живая душа которая по своей воле использует копилот
Читать полностью…
для консьюмерского софта можно просто системки поднимать
Читать полностью…
Они вообще начинают подозревать что с вин11 что-то не так https://blogs.windows.com/windows-insider/2026/03/20/our-commitment-to-windows-quality/
Но кажется пока не нашли причину
удалять лишний код пока тормозить не перестанет
Читать полностью…
а чо не написать как-то так?
WITH bet AS (
SELECT
t.idx,
t.zero,
t.direction,
t.shift - FIRST_VALUE(t.shift) OVER (ORDER BY t.idx) AS shift_delta,
t.direction * FIRST_VALUE(t.direction) OVER (ORDER BY t.idx) AS direction_product
FROM unnest(%(shifts)s::int[], %(directions)s::int[], %(zeros)s::text[])
WITH ORDINALITY AS t(shift, direction, zero, idx)
),
base AS (
SELECT o.*
FROM odd AS o
JOIN bet AS b ON b.idx = 1
WHERE o.zero = b.zero
AND (NOT %(symmetric)s OR o.direction = b.direction)
)
SELECT
base.id AS base_id,
array_agg(o.id ORDER BY b.idx) AS ids
FROM base
CROSS JOIN bet AS b
JOIN odd AS o
ON o.period = base.period
AND o.axis = base.axis
AND o.zero = b.zero
AND o.shift - base.shift = b.shift_delta
AND o.direction = CASE
WHEN %(symmetric)s THEN b.direction
ELSE b.direction_product * base.direction
END
AND (b.idx > 1 OR o.id = base.id)
GROUP BY base.id
HAVING count(*) = cardinality(%(shifts)s::int[])
AND count(DISTINCT o.site_name) > 1
ну лаадно, тут может алхимия встала бы лучше
Читать полностью…
Да и ради того чтобы одно место в программе выглядело красиво, портить 50 остальных мест в программе :)
Читать полностью…
Обычно просто простановка параметров. Составлять sql по кусочкам это прям редкий случай. Оно ещё и кешам оптимайзера не помогает
Читать полностью…
Обычно он потом становится динамическим сразу же и мне форматирование строк тут вообще не упало
Читать полностью…
У меня часто наоборот, нужный запрос уже есть, и теперь надо его перевести в алхимию, чтобы коллеги не бузили
Читать полностью…
Ещё кусок алхимии не скопирастишь в дбивер для отладки... В общем sql это явный интерфейс общения со сторонней системой, и стоит ли этот интерфейс стыдливо прятать — непонятно
Читать полностью…
На всяких джоинах или подзапросах становится сложно.
Читать полностью…