Ada_Ru форум

Обсуждение языка Ада

Анонс: Матрёшка 0.4.0

Оставить новое сообщение

Сообщения

Vadim Godunko
Анонс: Матрёшка 0.4.0
2012-12-02 17:21:56

Доброго времени суток!

 

Выпушена новая версия Матрёшки - 0.4.0. Самым значимым дополнением этой версии является модуль, реализующий протокол SOAP и его расширение WS-Security. Для упрощения разработки серверов также предлагается транслятор с WSDL 2.0.

 

Полный список всех изменений можно найти по ссылке:

 

http://forge.ada-ru.org/matreshka/wiki/ReleaseNotes/0.4

02.12.2012 19:21, Vadim Godunko пишет:

Выпушена новая версия Матрёшки - 0.4.0.

Версия 0.4.0 уже в нашем оверлее для Gentoo:

http://www.ada-ru.org/gentoo/overlay

03.12.2012 0:21, Vadim Godunko пишет:

 

http://forge.ada-ru.org/matreshka/wiki/ReleaseNotes/0.4

 

Голосую за MySQL: http://forge.ada-ru.org/matreshka/ticket/93

 

Вообще, нам нужен MySQL и SQLite в первую очередь, и было бы круто PostgreSQL. Жалко, сейчас самую малость не хватает.

 

 

 

 

И, пока я пытаюсь что–нибудь сделать с QtSql, вопрос, что использовать с AWS? Хочется пул соединений.

 

Схема в голове сейчас такая: извне (от другого программиста) нам приходит фабрика соединений, которая умеет делать новые соединения с какими–то своими, специфичными для драйвера параметрами.

 

Конструктор пула на вход получает фабрику соединений. На выходе у этого пула можно просить коробки для соединений. Коробки со счётчиком ссылок. Когда коробка более никому не нужна, соединение внутри неё возвращается в пул. Пул по–хорошему умеет прибивать лишние соединения по таймеру (по какому алгоритму, пока не знаю).

 

Далее, так как MySQL server иногда "has gone away", а prepared statement иногда "needs to be re-prepared", statement и prepared statement можно тоже завернуть в коробки, на этот раз для того, чтобы пересоздать или взять из пула другое соединение взамен безвременно ушедшего, пересоздать statement и сделать хотя бы ещё одну дополнительную попытку. По крайней мере, для QUERY

 

Теперь вопрос: а такое уже где–то есть? Это похоже на что–то типичное?

 

-- If you want to get to the top, you have to start at the bottom

On 12/04/2012 01:05 PM, Иван Левашев wrote:

 

Голосую за MySQL: http://forge.ada-ru.org/matreshka/ticket/93

 

Принято! :-)

 

И, пока я пытаюсь что–нибудь сделать с QtSql, вопрос, что использовать с AWS? Хочется пул соединений.

 

Схема в голове сейчас такая: извне (от другого программиста) нам приходит фабрика соединений, которая умеет делать новые соединения с какими–то своими, специфичными для драйвера параметрами.

 

Конструктор пула на вход получает фабрику соединений. На выходе у этого пула можно просить коробки для соединений. Коробки со счётчиком ссылок. Когда коробка более никому не нужна, соединение внутри неё возвращается в пул. Пул по–хорошему умеет прибивать лишние соединения по таймеру (по какому алгоритму, пока не знаю).

 

Далее, так как MySQL server иногда "has gone away", а prepared statement иногда "needs to be re-prepared", statement и prepared statement можно тоже завернуть в коробки, на этот раз для того, чтобы пересоздать или взять из пула другое соединение взамен безвременно ушедшего, пересоздать statement и сделать хотя бы ещё одну дополнительную попытку. По крайней мере, для QUERY

 

Теперь вопрос: а такое уже где–то есть? Это похоже на что–то типичное?

Подозреваю, что не очень типичное, но неизбежное. Мы делали пул для PostgreSQL, там было очень дорого открытие нового соединения с базой и невозможно было использовать одно соединение для параллельного

выполнения нескольких запросов.

 

Относительно автоматической переподготовки запроса - мне честно говоря страшновато.

 

Предлагаю обсудить эту тему, раз уж она интересна; возможно на форуме Матрёшки.

On Tue, 04 Dec 2012 16:05:29 +0700, you wrote:

 

03.12.2012 0:21, Vadim Godunko пишет:

 

http://forge.ada-ru.org/matreshka/wiki/ReleaseNotes/0.4

 

Голосую за MySQL: http://forge.ada-ru.org/matreshka/ticket/93

 

Вообще, нам нужен MySQL и SQLite в первую очередь, и было бы круто PostgreSQL. Жалко, сейчас самую малость не хватает.

 

ODBC был задуман для этой цели. К сожалению, выполнен криво, но все равно, не имеет смысла использовать специфичные клиенты, даже если база задана жестко.

 

MySQL и SQLite это как мотоцикл и зажигалка, общее у них то, что и тем и другим нельзя побриться.

 

Далее, так как MySQL server иногда "has gone away", а prepared statement иногда "needs to be re-prepared", statement и prepared statement можно тоже завернуть в коробки,

 

Prepared statements теряются между транзакциями, зависит от клиента.

на этот раз для того, чтобы пересоздать или

взять из пула другое соединение взамен безвременно ушедшего, пересоздать statement и сделать хотя бы ещё одну дополнительную попытку. По крайней мере, для QUERY

 

Теперь вопрос: а такое уже где–то есть? Это похоже на что–то типичное?

 

Называется объектно-ориентированное программирование. Операторы помещаются в объекты и "препарирутся" автоматически во время конструирования контейнера.

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

04.12.2012 11:05, Иван Левашев пишет:

 

Голосую за MySQL: http://forge.ada-ru.org/matreshka/ticket/93

 

 

Иван, посмотрите свой SPAM, мы пытались с вами связаться на тему MySQL, но безуспешно.

 

--

Maxim Reznik

Maxim Reznik пишет:

04.12.2012 11:05, Иван Левашев пишет:

Голосую за MySQL: http://forge.ada-ru.org/matreshka/ticket/93

 

 

Иван, посмотрите свой SPAM, мы пытались с вами связаться на тему MySQL,

но безуспешно.

 

Я пока буду пытаться на Qt_Sql сделать, а потом, если появится возможность, перенесу на рельсы матрёшки. Особенно, если всё взаимодействие через коробки будет сделано.

 

Не хочу только ради Sql тащить Qt, но сейчас лишь бы работало.

 

-- If you want to get to the top, you have to start at the bottom

On 12/07/2012 03:46 AM, Иван Левашев wrote:

 

 

Maxim Reznik пишет:

04.12.2012 11:05, Иван Левашев пишет:

Голосую за MySQL: http://forge.ada-ru.org/matreshka/ticket/93

 

 

Иван, посмотрите свой SPAM, мы пытались с вами связаться на тему MySQL, но безуспешно.

 

Я пока буду пытаться на Qt_Sql сделать, а потом, если появится

возможность, перенесу на рельсы матрёшки. Особенно, если всё

взаимодействие через коробки будет сделано.

 

Не хочу только ради Sql тащить Qt, но сейчас лишь бы работало.

 

Драйвер MySQL уже можно найти в репозитории Матрёшки.

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти