
Vladislav
30.03.2018
13:08:13
чё?

Виктор
30.03.2018
13:12:32

MIkhail
30.03.2018
13:12:33
кароче, у кого есть сертифы по CDC в ЛС, договоримся

Vladislav
30.03.2018
13:13:38

Google

MIkhail
30.03.2018
13:13:53
любые вообще

Vladislav
30.03.2018
13:14:13
любые вообще
Окей, задам вопрос по другому, а какие вообще бывают?

MIkhail
30.03.2018
13:15:24
если шаришь, скажи какой рейт, ок?

Sergey
30.03.2018
13:15:53

Vladislav
30.03.2018
13:17:47
Я так подозреваю, ответа я не дождусь...

Al
30.03.2018
13:35:43

Vladislav
30.03.2018
13:36:08
Да я так и понял, куда мне до спецов с сертами

Al
30.03.2018
13:37:32
Туалетная бумага доступна только для обладателей сертов с высоким рейтом. ?

Sergey
30.03.2018
14:13:55

Ilia
30.03.2018
14:17:40
Соответсвтенно, транзакции что начинай, что не начинай, всё без толку.
(транзакция действует только внутри одного соединения)

Google

Sergey
30.03.2018
14:18:59
о как. я понял) Спасибо)

Ilia
30.03.2018
14:23:52
А как ты начинаешь транзакцию ?

Sergey
30.03.2018
14:24:58
Да. проблема в пуле
Большое спасибо

Ilia
30.03.2018
14:25:43
Там есть варианты , когда коннекшн из пула, и у него есть API какой-то , и если ты начинаешь транзакцию через этот API, то оно это понимает, и закрепляет данное соединение за тобой до конца транзакции
Какой язык у тебя вообще, какая библиотека ?

Sergey
30.03.2018
14:26:19
)))
Это битрикс
мой же косяк. я создал дополнительное подключение, чтобы на разных уровнях объектов проверять начата ли транзакция, потому что у выданного инструмента нет возможности зафиксировать старт транзакции
либо я его еще не обнаружил

Ilia
30.03.2018
14:31:09
Ну ок,

Sergey
30.03.2018
14:31:46
Еще раз спасибо

Al
30.03.2018
14:32:46

Sergey
30.03.2018
14:34:44
Чтобы использовать например метод save у разных объектов. а транзакции находились в нем

Al
30.03.2018
14:35:26
по мне звучит как кто то изобретает лисапед

Sergey
30.03.2018
14:37:54
Ок. Как лучше реализовать транзакции для шаблона проектирования "Компоновщик"?

Al
30.03.2018
14:38:52

Sergey
30.03.2018
14:43:55
Есть некоторый объект, внутри него лежит объект-коллекция. Сохранение предполагает следующие этапы:
1. Сохранить данные главного объекта
2. Сохранить данные элементов коллекции.
3. Если в п.2 возникла ошибка, то откатить 1.
4. Коллекция может быть самостоятельным объектом

Google

Ilia
30.03.2018
14:44:39
Транзакции ортогональны структуре объектов. Они только подчиняются логике прилоения, что тебе нужно сохранить атомарно.

Al
30.03.2018
14:45:46

Ilia
30.03.2018
14:46:35
ну может

Sergey
30.03.2018
15:15:06
Я вообще думал о том, чтобы начало и конец транзакции зашить в метод сохранения объекта

Al
30.03.2018
15:21:13
какая разница то, в одной транзакции оно все запишет в базу или в нескольких подряд?
я обычно делаю отдельный клас для работы с базой и там в нем делаю методы для каждой отдельной задачи. получается удобно

Sergey
30.03.2018
15:32:03

Al
30.03.2018
15:33:21
но у меня складывается впечатление что ты заместо простого инзерта в базу пытаешся изобразить какую то сильно замороченную хрень с непонятной целью

Sergey
30.03.2018
15:35:33
Мне нужно сделать N инсерты, но если в N инсерте ошибка, то откатить все предыдущие.
С учётом разной вложенности объектов, которые делают эти инсерты

Al
30.03.2018
15:37:30
как в инзерте может быть ошибка?

Sergey
30.03.2018
15:37:58
Это я погорячился
После N-1 инсерта исключительная ситуация, например

Al
30.03.2018
15:38:50
в чем она исключительная?

Sergey
30.03.2018
15:39:19
Ну хз. В коде делитель оказался нулем
Кидаем exception

Google

Al
30.03.2018
15:39:31
есть кусок данных которые нужно записать в базу. берем данные. пишем... что тут исключительного?
попробуй отделить мух от котлет
нормальные люди берут данные. проверяют их. и если все соотвествует их ожиданиям то они их пишут.
а не берут один символ, записывают его в базу а потом второй .. а на 100500 оказался не символ... и они начинают все отменять..
откуда вообще идея првоерять данные в процессе их размещения в базу?

Sergey
30.03.2018
15:44:51
Хм. То есть делать пулл запросов , а выполнять их в самом конце? А где тогда этот пулл держать?

Al
30.03.2018
15:45:51

Sergey
30.03.2018
15:48:07
Хорошо. Я кое-что понял) спасибо

Hovhannes
30.03.2018
19:10:04
Может ли сервер считать по формуле евклидово расстояние из 120 чисел и найти самое наименьшее, если в таблице миллион записей?

Denis
30.03.2018
19:56:52
Да хоть лярд дело в скорости и железе

Ilia
30.03.2018
21:44:36

Al
30.03.2018
21:45:40

Ilia
30.03.2018
21:46:10
как скажешь. скучно
А чего ты полез, он уже был доволен, проблему решил ...
Пусть себе развлекается.

Al
30.03.2018
21:47:16

Ilia
30.03.2018
21:48:17

Al
30.03.2018
21:49:19

Google

Ilia
30.03.2018
21:52:46
Да разные задачи есть. Где так где эдак...

Al
30.03.2018
21:57:38

Alex
30.03.2018
21:58:10
это если есть железо :)

Al
30.03.2018
21:59:34
уже не раз обсуждали. да базы могут дофига всякого. но не потому что это действительно нужно. а потому что рукожопы не видят решений нормальных и выбирают ту базу где есть всякие плюшки, база порешает за них часть проблем. а то что при этом сама база от таких задач подвисает то кому это интересно

Crestoff
31.03.2018
17:56:58
Привет! Ребят помогите с запросом
SELECT sum(revenue) FROM log_profit WHERE time = (SELECT max(time) FROM log_profit)
короче суть в том что нужно взять значение по последнему времени
хотелось бы без селекта в WHERE

Al
31.03.2018
18:13:01

Crestoff
31.03.2018
18:14:06
типа отсортировать по времени?

Al
31.03.2018
18:18:19

Crestoff
31.03.2018
18:18:52
очень остроумно ;)
спасибо