Le 9 nov. 2011 à 10:35, alex bodnaru <[email protected]> a
écrit :
hello julien, other friends,
Hi alex and friends
the logging was enabled, but info and debug level are the same,
since the query
returns no result:
11:24:30,872 INFO [sqlalchemy.engine.base.Engine] alter table
tblitemcategories
add SalePrice float(53) DEFAULT (0) NOT NULL;
53 decimal or binary digit ? Why dont you use fixed point numbers for
a price ? You are prone to have rounding errors because of using
floats (try 38 * 19.6 in float and you'll have a 10e-5 surprise in all
languages). In postgres we have the decimal type. You should use it
when dealing with prices and taxes. I vaguely remember using it when I
was coding in C# on asp .net with mssql 5 or 6.
11:24:30,872 INFO [sqlalchemy.engine.base.Engine] ()
Hugh ? How can there is a ()
11:24:30,966 INFO [sqlalchemy.engine.base.Engine] alter table
tblitemcategories
add SaleVipPrice float(53) DEFAULT (0) NOT NULL;
11:24:30,966 INFO [sqlalchemy.engine.base.Engine] ()
other queries, these related to my permissions, did work and their
results were
logged too, with level DEBUG.
as i said, the queries reach the dbms, since it reports sql syntax
errors.
any other ideas about what is preventing their execution/finalization?
Can you higher mssql log verbosity so that mssql can log down to
transaction begin / commit / rollback + sql in between so that you
know why mssql is unhappy and how SQL is voided (it stinks an implicit
rollback). If an exeception is raised during sqlalchemy (because of
sql syntax error) I wonder if SA or tg will rollback on its own the
transaction.
Can you try to catch sqlalchemy SQL syntax errors ? I have no access
to my code (being sacked). So I can only give you hints on generic
troubleshooting methods.
For the sake of caution can you try another driver for mssql (ingres
or sybase drivers might do the work if it exists (mssql > 5 +-1 is
rebranding of one of those two) , odbc, whatever works). While I dont
think it comes from the driver, it cames only as a caution for
eliminating a suspect.
best regards,
alex
On 11/08/2011 04:15 PM, alex bodnaru wrote:
thanks a lot julien for your answer.
i did try the first idea, and will try the second right now.
thank again,
alex
On 11/08/2011 02:02 PM, julien tayon wrote:
If you suspect a rollback in the controller why dont you try to
force
the transaction commit ?
if I remember correctly it could look like :
import transaction
transaction.commit()
And why dont you change sqlalchemy log level to debug and echo =
True
to troubleshoot your problems ?
hf, gl
Jul
2011/11/8 alex bodnaru <[email protected]>:
hello friends,
i'm trying to perform a few ddl actions through sqlalchemy
dbsession.execute(sql)
if the sql is wrong, i'm getting an error screen with the
relevant message from
mssql, hence the execute reaches the rdbms (even with no explicit
flush).
otherwise, with correct sql i get no visible error, but still the
actions don't
take effect on the server, hence i suspect some kind of rollback
follows the
execute.
i mention that i could do similar actions with the same db-user,
even through
sqlalchemy, but not turbogears controller.
but similar(ddl) sql has been correctly run on setup-app. i'm
also trying
explicit flushing session and committing the transaction after
dbsession.execute
like there, but still no result in the db.
could you help?
thanks in advance,
alex
--
You received this message because you are subscribed to the
Google Groups "TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected]
.
For more options, visit this group at http://groups.google.com/group/turbogears?hl=en
.
--
You received this message because you are subscribed to the Google
Groups "TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected]
.
For more options, visit this group at http://groups.google.com/group/turbogears?hl=en
.
--
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en.