[room] [JT] бывают же уродцы
Денис Смирнов
=?iso-8859-1?q?mithraen_=CE=C1_altlinux=2Eru?=
Пт Авг 26 18:28:58 MSD 2005
On Fri, Aug 26, 2005 at 05:27:09PM +0400, Alexey Morsov wrote:
AM> Это позволяет например вызвать из БД имя клиента по его номеру
AM> строкой вида
AM> select part_name into name from db.part where db.part.part_id=xxx
set name [db onecolumn "SELECT part_name FROM part WHERE
part.part_id=$xxx"]
Сильно сложнее?
AM> В том же питоне мне прийдется как минимум (даже опустим создание
AM> курсора) делать сначала execute, потом fetch а потмо полученое
AM> раскидывать по переменным.
Ужасы какие-то. Значит не надо пользоваться python.
Только думается дело в другом. В перле, например, можно ещё использовать
компилированые запросы, которые уже потом вызывать как:
$sth->execute( $xxx );
Что делает код гораздо более прозрачным, и для баз которые это
поддерживают (как например последний постгрес) ещё и _очень_ быстрым.
AM> 2. объекты DataStore (не визуальный) и DataWindow (визуальный),
AM> которые сами по себе умеют доставать данные по запросу (лбой
AM> сложности и даже несколько запросов сразу), хранить их и (для
AM> DataWindow) отображать их (как - настраивается программистом -
AM> хоть плюшками в рюшках). Grid по сравнению сэтой фичей просто dbf
AM> по сравнению с sql.
А это таки да, чуть сложнее. В tcl есть для этого чудесный widget, там это
будет тоже просто замечательно работать. Только кода уже на реализацию
такого виджета как вам нужно может уже пару-тройку сотен строк быть. 1-2
дня работы целых.
AM> Тригера, хранимые процедуры, вызов внешних функций (dll). Ну про
AM> транзакции я даже говорить не буду - это и так понятно.
В sqlite есть всё, кроме вызова внешних функций из dll. Но при этом
функциии из своей программы вызывать можно, оно умеет такое. Поэтому
простая обёртка в несколько строк кода (которая будет подгружать dll) и
всё это у вас уже есть.
AM> Просто насколько я знаю о sqlite - это вещь хороша когда нужно
AM> sql базу, но приэтом не хочется (или невозможно) ставить
AM> отдельный сервер БД. У нас как раз одни сервер и куча клиентов к
AM> нему подключенных и сним работающих. Причем Есть еще несколько
AM> серверов БД которые связаны с основной БД (и все это естественно
AM> в online 24/7).
Таки да, действительно sqlite эффективна именно если с базой работает один
простой. А так где sqlite уже мало, тогда ставится postgresql.
AM> MySQL тут ну совсем не катит. Postgresql еще может быть (я его
AM> мельком смотрел), но опять же - так сложилось исторически.
AM> Мы даже как-то хотели перевести сервер БД на Linux (лаго есть его
AM> версия) но не смогли по двум причинам: а) у нас задействованы
AM> mailslot которых нет в linux и надо тогда переписывать ту часть
AM> что с mailslot связана (причеми на сервере и на клиентском
AM> приложении); б) Sybase делают версию под линукс абыкак и
AM> нормального суппорта ее у sybase.ru не наблюдается (вплоть до
AM> "покупайте но разбираться будете сами у нас спецов нет").
Однако по функциональности PostgreSQL для вашей задачи выше крыши :)
AM> Вот именно. Так что мы просто не ищем себе большой геморой на
AM> пятую точку и не пытаемся без НУ очень сильных причин ломать то
AM> что работает (при этом очень хорошо работает).
А это правильно. Повторюсь, я среагировал на то, что по вашим словам
PowerBuilder более эффективное средство построения таких систем (что
неправда).
--
С уважением, Денис
http://freesource.info
----------------------------------------------------------------------------
Юникод -- не заклинание. Многие gtk1-приложения отлично работают в
unicode locales.
-- aen in devel@
Подробная информация о списке рассылки smoke-room