metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-03-01 09:40 pm

MindTheBird

Таки Firebird Foundation взялось за ум, то бишь за пиар и к выходу версии 2.5 устраивает шумиху:
mindthebird

А я тут, блин, обнаружил, что sqlite таки не поддерживает некоторых нужных мне фич sql, а Firebird embedded, который можно было бы юзать в таком же стиле - не поддерживает многопоточную работу в отличие от. Подумываю положить хер на упрощение процедуры деплоймента и вместо embedded базы ставить что-нибудь полноценное, потому что все равно вся эта дурь исключительно деплоится через ручные вуду-гуру-карго-культ ритуалы.

PS: Я псих. Речь не о многопоточной работе, а о том, что в IIS потенциально к базе могут долбится несколько working process. how-to-use-embedded-firebird-in-aspnet
При этом один процесс лочит базу и другие к ней не могут продолбится.

Собственно, если отказаться от sql, то задачу можно решить тупым хранением данных в файлике, у меня там размеры мизерные, записи изредка, в основном чтение. Надо этот вопрос продумать все равно я давно хочу очередной самодельный движок БД сделать

[identity profile] sorhed.livejournal.com 2010-03-01 10:10 pm (UTC)(link)
А на чём у вас написано всё? Для принесения в жертву жаб очень годится H2, раввинат рекомендует.

[identity profile] http://users.livejournal.com/_aive_/ 2010-03-01 10:32 pm (UTC)(link)
А какой-нибудь SQL Server CE?

[identity profile] slavae.livejournal.com 2010-03-02 05:26 am (UTC)(link)
Стоп-стоп. Разве FBE не поддерживает несколько коннектов из одной проги к одной базе? Если правильно помню, Хорсун говорил, что можно.

[identity profile] tonal.myopenid.com (from livejournal.com) 2010-03-02 07:01 am (UTC)(link)
Как это "не поддерживает многопоточную работу"?
Можно раскрыть?
А то, понимаешь, использую уже несколько лет, а оно оказвыца "неподдерживается"... :)

[identity profile] metaclass.livejournal.com 2010-03-02 07:06 am (UTC)(link)
А, из одной поддерживает. Но у меня потенциально может быть более чем одна прога (w3wp - рабочий процесс ASP.NET). Где-то было на эту тему обсуждение, что там какие-то заморочки, мешающие использовать.

[identity profile] metaclass.livejournal.com 2010-03-02 07:10 am (UTC)(link)
Я жестоко брежу. Там не многопоточная работа, там работа из двух процессов - второй пункт по ссылке:

http://www.firebirdsql.org/dotnetfirebird/blog/2005/11/how-to-use-embedded-firebird-in-aspnet.html

[identity profile] blacklion.livejournal.com 2010-03-02 07:41 pm (UTC)(link)
А что из нужного не умеет SQLite? Просто интересно.

[identity profile] metaclass.livejournal.com 2010-03-02 07:44 pm (UTC)(link)
Вложенные подзапросы и, кажется, хитросинтаксис для вложенных left/inner join.

select Src,SrcEntityID,KeyID,KeyValue,
 coalesce(keytypes.CfgType_DotNetType,categorytypes.CfgType_DotNetType) DotNetType, 
 coalesce(keytypes.CfgType_DotNetAlias,categorytypes.CfgType_DotNetAlias) DotNetAlias, 
 coalesce(keytypes.CfgType_DotNetFullName,categorytypes.CfgType_DotNetFullName) CfgType_DotNetFullName, 
 coalesce(keytypes.CfgType_Metadata,categorytypes.CfgType_Metadata) TypeMetadata, 
 coalesce(keytypes.CfgType_IsValueType,categorytypes.CfgType_IsValueType) IsValueType
from
 (select 1 Src,0 SrcEntityID,CmmnCfgV_CfgKey_ID KeyID,CmmnCfgV_Value KeyValue from CommonConfigValues  
  union all
 select 2 Src,SiteCfgV_Site_ID SrcEntityID,SiteCfgV_CfgKey_ID KeyID,SiteCfgV_Value KeyValue from SiteConfigValues 
    join Users on Usr_Site_ID=SiteCfgV_Site_ID 
    where Usr_ID=@Usr_ID
  union all   
 select 3 Src,PrfCfgV_Profile_ID SrcEntityID,PrfCfgV_CfgKey_ID KeyID,PrfCfgV_Value KeyValue from ProfileConfigValues
    join Users on Usr_ProfileID=PrfCfgV_Profile_ID 
    where Usr_ID=@Usr_ID
  union all  
 select 4 Src,UsrCfgV_Usr_ID SrcEntityID,UsrCfgV_CfgKey_ID KeyID,UsrCfgV_Value KeyValue from UserConfigValues
    where UsrCfgV_Usr_ID=@Usr_ID) as Settings
join ConfigKeys on CfgKey_ID=KeyID
join SubsystemKeys on  SSKey_CfgSS_ID=@Subsystem_ID and SSKey_CfgKey_ID=KeyID
left join ConfigTypes keytypes on keytypes.CfgType_ID=CfgKey_CfgType_ID
join ConfigCategories 
 left join ConfigTypes categorytypes on categorytypes.CfgType_ID=CftCat_DefaultKeyType
on CfgCat_ID=CfgKey_CfgCat_ID
where CfgKey_Deleted=0


Надо перепроверить будет, как-то это странновато.

[identity profile] blacklion.livejournal.com 2010-03-02 07:55 pm (UTC)(link)
Ёбанныйкарась.

[identity profile] blacklion.livejournal.com 2010-03-02 07:55 pm (UTC)(link)
Простите, был напуган.

[identity profile] tonal.myopenid.com (from livejournal.com) 2010-03-04 05:14 am (UTC)(link)
Мне кажется проще поставить нормальный сервер. FB вполне подойдёт по лёгкости разворота. :)