Культурный офтопик
 help / color / mirror / Atom feed
From: "Денис Смирнов" <mithraen@altlinux.ru>
To: smoke-room@altlinux.ru
Subject: Re: [room] [JT] бывают же уродцы
Date: Fri, 26 Aug 2005 18:28:58 +0400
Message-ID: <20050826142858.GH14511@localhost.localdomain> (raw)
In-Reply-To: <430F18AD.308@ricom.ru>

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@


  reply	other threads:[~2005-08-26 14:28 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-25 17:27 [room] " Alexey Morsov
2005-08-25 19:10 ` Антон Горлов
2005-08-25 20:20 ` Денис Смирнов
2005-08-26  7:32   ` Vasya Makarov
2005-08-26  8:08   ` Nick S. Grechukh
2005-08-26  8:22   ` Alexey Morsov
2005-08-26 11:29     ` Денис Смирнов
2005-08-26 11:46       ` Alexey Morsov
2005-08-26 12:05         ` Денис Смирнов
2005-08-26 12:18           ` Alexey Morsov
2005-08-26 12:45             ` Денис Смирнов
2005-08-26 13:27               ` [room] [JT] " Alexey Morsov
2005-08-26 14:28                 ` Денис Смирнов [this message]
2005-08-26 14:39                   ` Alexey Morsov
2005-08-26 16:54                     ` Денис Смирнов
2005-08-26 18:06                       ` Arioch
2005-08-26 18:12                         ` Andrey Rahmatullin
2005-08-26 23:11                           ` Arioch
2005-09-02 17:08                         ` Maxim Tyurin
2005-09-06 20:59                           ` Igor Zubkov
2005-09-07  6:58                             ` Maxim Tyurin
2005-08-26 14:11               ` [room] " Andrey Rahmatullin
2005-08-26 16:56                 ` Денис Смирнов
2005-08-26 18:25                 ` Arioch
2005-08-27  9:48                 ` Igor Zubkov
2005-08-26 17:56         ` Arioch
2005-08-29  7:14           ` Alexey Morsov
2005-09-05 12:25             ` Arioch
2005-09-06 13:26               ` Alexey Morsov
2005-08-26  9:30 ` Mike Lykov
2005-08-26 10:59   ` Alexey Morsov
2005-08-26 16:43     ` Anton Farygin
2005-08-26 19:43       ` Денис Смирнов
2005-08-27 22:18       ` Aleksey Korotkov
2005-08-27 23:38         ` Arioch
2005-08-28 14:00           ` Vitaly Lipatov
2005-08-29  7:16       ` [room] ВЩЧБАФ ЦЕ ХТПДГЩ Alexey Morsov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050826142858.GH14511@localhost.localdomain \
    --to=mithraen@altlinux.ru \
    --cc=smoke-room@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Культурный офтопик

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/smoke-room/0 smoke-room/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 smoke-room smoke-room/ http://lore.altlinux.org/smoke-room \
		smoke-room@lists.altlinux.org smoke-room@lists.altlinux.ru smoke-room@lists.altlinux.com smoke-room@altlinux.ru smoke-room@altlinux.org smoke-room@altlinux.com
	public-inbox-index smoke-room

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.smoke-room


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git