BUG: Глюк wxARG 1.2.0-rc3 & Firebird

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
Blind_Cat
Earned a small fee
Earned a small fee
Posts: 15
Joined: Thu Sep 24, 2009 8:04 am

BUG: Глюк wxARG 1.2.0-rc3 & Firebird

Post by Blind_Cat » Wed Oct 28, 2009 9:07 am

Здравствуйте!

В wxActiveRecordGenerator при работе с FireBird в классе wxActiveRecordGenerator в методах Prepare обнаружен глюк следующего плана:
Выполнение запроса:

Code: Select all

wxString query=wxString::Format(wxT("SELECT * FROM %s LIMIT 1"),table.c_str());
DatabaseResultSet* result=m_database->ExecuteQuery(query);
Для FireBird приводит к ошибке "-104: Invalid token", так как ключевое слово LIMIT не поддерживается FireBird.

Для исправления глюка необходимо:
В строках 100 и 145 модуля wxActiveRecordGenerator строки

Code: Select all

wxString query=wxString::Format(wxT("SELECT * FROM %s LIMIT 1"),table.c_str());

// ..... и  ....

wxString query=wxString::Format(wxT("SELECT FIRST 1 * FROM %s"),node.m_tableName.c_str());
Заменить на соответственно

Code: Select all

wxString query;
if( (AR_FIREBIRD == m_dbType)
   || (AR_FIREBIRD_EMBEDDED == m_dbType) )
{
    query=wxString::Format(wxT("SELECT FIRST 1 * FROM %s"),table.c_str());
}
else
{
    query=wxString::Format(wxT("SELECT * FROM %s LIMIT 1"),table.c_str());
}

// ..... и  ....

wxString query;
if( (AR_FIREBIRD == m_dbType)
   || (AR_FIREBIRD_EMBEDDED == m_dbType) )
{
    query=wxString::Format(wxT("SELECT FIRST 1 * FROM %s"),node.m_tableName.c_str());
}
else
{
    query=wxString::Format(wxT("SELECT * FROM %s LIMIT 1"),node.m_tableName.c_str());
}
ЗЫ Люди, если кто-нибудь поддерживает связь с автором сообщите ему плз, а то с того ящика который указан у него как контактный приходит сообщения типа "This user doesn't have a yahoo.com account"
WBR, Blind_Cat.

Kolya
Experienced Solver
Experienced Solver
Posts: 85
Joined: Mon Dec 11, 2006 11:35 am
Location: /dev/null

Re: BUG: Глюк wxARG 1.2.0-rc3 & Firebird

Post by Kolya » Wed Oct 28, 2009 5:34 pm

Ну тогда можно добавить багу в проект wxCode на sourceforge http://sourceforge.net/tracker/?func=ad ... tid=462816
В списке категорий там есть wxARG

Blind_Cat
Earned a small fee
Earned a small fee
Posts: 15
Joined: Thu Sep 24, 2009 8:04 am

Re: BUG: Глюк wxARG 1.2.0-rc3 & Firebird

Post by Blind_Cat » Thu Oct 29, 2009 7:25 am

Kolya wrote:Ну тогда можно добавить багу в проект wxCode на sourceforge http://sourceforge.net/tracker/?func=ad ... tid=462816
В списке категорий там есть wxARG
Закинь туда, плз... Моего английского не хватит для правильного описания проблемы. Читать документацию хватает, а вот с тем что бы написать проблема. ;(
WBR, Blind_Cat.

Kolya
Experienced Solver
Experienced Solver
Posts: 85
Joined: Mon Dec 11, 2006 11:35 am
Location: /dev/null

Re: BUG: Глюк wxARG 1.2.0-rc3 & Firebird

Post by Kolya » Thu Oct 29, 2009 9:32 am

Так вот и перевод: http://translate.google.com/translate?j ... l=ru&tl=en

Я не хочу сам туда отсылать, поскольку я не достаточно точно представляю о чем идет речь (wxARG мне не приходилось использовать), и если автор wxARG захочет уточнений я ничем ему не смогу помочь. Получется такой себе испорченный телефон.

Если автор wxARG захочет пофиксить багу, то ему будут достаточно и такого перевода. ;)

Blind_Cat
Earned a small fee
Earned a small fee
Posts: 15
Joined: Thu Sep 24, 2009 8:04 am

Post by Blind_Cat » Thu Oct 29, 2009 3:21 pm

Спасибо. Закинул. Про переводчик от гугла я то совсем забыл... Сам все больше лингвой локальной... ;)
WBR, Blind_Cat.

Post Reply