mydb.fdb on windows firebird 2.0.3.12981
step_1
gbak.exe -v -t -user sysdba -password ****** 127.0.0.1/3050:D:\webdb
\PROD\mydb..fdb D:\webdb\back\mydb.fbk
on server linux firebird 2.1.2.18118
step_2
linux-server:# ftp mydb.fbk
step_3
linux-server:# gbak -c -v ... mydb.fbk mydb.fdb
*******
s.o.linux ubuntu server 9.0.4
firebird version 2.1.2.18118
rails 2.3.2
ruby 1.8.7 patchlevel 72
rake 0.8.5
fb_adapter 0.5.8
fb 0.5.9
passenger 2.2.2
nginx 0.6.36
query from isql
select sum(val_emessi) from g1_items where licence_id = 6 AND DATA
>''2009/01/02'' AND DATA <= ''2009/01/02''
**** val_emessi => decimal(8,2) ***
result => 2837.00 ....fine
query from rails
condizioni = "data >= ''2009/01/02'' and
data <= ''2009/01/02'' and
licence_id = 6"
@emessi = G1Item.sum(''val_emessi'', :conditions =>
condizioni)
****@emessi.class => BigDecimal****
result => 283700.00 .... error
idem for G1Item.find_by-sql("select sum(val_emessi as somma ........")
result => 283700.00 .... error
In windows
activerecord-firebird-adapter (1.0.0.9250)
fireruby (0.4.3)
rails 2.3.2
firebird version 2.0.3.12981
works fine.
.. idea?
ciao
--
Posted via http://www.ruby-forum.com/.
Hi Mary,
I''m Italian but I write the response in eglish (sorry for my poor
english)...
Some time ago I had a problem like your under FireBird 1.5.x and
FireRuby 0.4.1 just after a db restore.
The issue was with casting function on the rails firebird adapter the
error was something like "cannot cast CAST(DECIMAL(0,0)"...
I remember that I was able to solve the problem on firebird_adapter.rb
executing something like sql_query.gsub!("DECIMAL(0,0)",
"DECIMAL(0,18)") before the returning row.
Hope it helps...> mydb.fdb on windows firebird 2.0.3.12981
> step_1
> gbak.exe -v -t -user sysdba -password ****** 127.0.0.1/3050:D:\webdb
> \PROD\mydb..fdb D:\webdb\back\mydb.fbk
>
> on server linux firebird 2.1.2.18118
> step_2
> linux-server:# ftp mydb.fbk
> step_3
> linux-server:# gbak -c -v ... mydb.fbk mydb.fdb
>
> *******
> s.o.linux ubuntu server 9.0.4
> firebird version 2.1.2.18118
> rails 2.3.2
> ruby 1.8.7 patchlevel 72
> rake 0.8.5
> fb_adapter 0.5.8
> fb 0.5.9
> passenger 2.2.2
> nginx 0.6.36
>
> query from isql
> select sum(val_emessi) from g1_items where licence_id = 6 AND DATA >>
''2009/01/02'' AND DATA <= ''2009/01/02''
>
> **** val_emessi => decimal(8,2) ***
> result => 2837.00 ....fine
>
> query from rails
>
> condizioni = "data >= ''2009/01/02'' and
> data <= ''2009/01/02'' and
> licence_id = 6"
> @emessi = G1Item.sum(''val_emessi'', :conditions =>
condizioni)
>
> ****@emessi.class => BigDecimal****
>
> result => 283700.00 .... error
> idem for G1Item.find_by-sql("select sum(val_emessi as somma
........")
> result => 283700.00 .... error
> In windows
> activerecord-firebird-adapter (1.0.0.9250)
> fireruby (0.4.3)
> rails 2.3.2
> firebird version 2.0.3.12981
> works fine.
>
> .. idea?
> ciao
>
Gianluca Tessarolo wrote:> Hi Mary, > > I''m Italian but I write the response in eglish (sorry for my poor > english)... > > Some time ago I had a problem like your under FireBird 1.5.x and > FireRuby 0.4.1 just after a db restore. > > The issue was with casting function on the rails firebird adapter the > error was something like "cannot cast CAST(DECIMAL(0,0)"... > > I remember that I was able to solve the problem on firebird_adapter.rb > executing something like sql_query.gsub!("DECIMAL(0,0)", > "DECIMAL(0,18)") before the returning row. > > Hope it helps...Il mio problema è che non viene generato nessun errore. Semplicemente il valore è aumentato di un fattore 100. Il problema sembra dei metodi di classe tranne find. Ciao -- Posted via http://www.ruby-forum.com/.
Ok ho visto... mi sembra che stai comprando l''errore con versioni diverse dei vari camponenti: windows (ok) => FireBird 2.0 + activerecord-firebird-adapter + FireRuby linux (errore) => FireBird 2.1 + fb_adapter + fb Magari sto dicendo una cosa ovvia o magari banale ma secondo me dovresti provare a utilizzare su linux gli stessi componenti che stai utilizzando su windows (activerecord-firebird-adapter + FireRuby)> Gianluca Tessarolo wrote: > >> Hi Mary, >> >> I''m Italian but I write the response in eglish (sorry for my poor >> english)... >> >> Some time ago I had a problem like your under FireBird 1.5.x and >> FireRuby 0.4.1 just after a db restore. >> >> The issue was with casting function on the rails firebird adapter the >> error was something like "cannot cast CAST(DECIMAL(0,0)"... >> >> I remember that I was able to solve the problem on firebird_adapter.rb >> executing something like sql_query.gsub!("DECIMAL(0,0)", >> "DECIMAL(0,18)") before the returning row. >> >> Hope it helps... >> > > Il mio problema è che non viene generato nessun errore. > Semplicemente il valore è aumentato di un fattore 100. > Il problema sembra dei metodi di classe tranne find. > Ciao >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Gianluca Tessarolo wrote:> Ok ho visto... > > mi sembra che stai comprando l''errore con versioni diverse dei vari > camponenti: > > windows (ok) => FireBird 2.0 + activerecord-firebird-adapter + FireRuby > linux (errore) => FireBird 2.1 + fb_adapter + fb > > Magari sto dicendo una cosa ovvia o magari banale ma secondo me dovresti > provare a utilizzare su linux gli stessi componenti che stai utilizzando > su windows (activerecord-firebird-adapter + FireRuby)In windows non ci sono ancora per FireBird 2.1 Esistono solo fb_adapter + fb che sono per linux. Il motivo di spostare a linux è proprio il ritardo di aggiornamento delle librerie. Fanno prima le cose per linux. Ciao e grazie per l''interessamento -- Posted via http://www.ruby-forum.com/.
Confermato: Data: 23/05/2009 11:33 Mittente: Brent Rowland I can confirm there is a bug interpreting the results of aggregate operators such as SUM and AVG. I suggest performing these operations in code, rather than in the database, until a fix can be made. Brent http://rubyforge.org/tracker/index.php?func=detail&aid=25938&group_id=1774&atid=6946 -- Posted via http://www.ruby-forum.com/.