hello diez, other friends,

thanks a lot for your consideration.

On 11/13/2011 08:11 PM, Diez B. Roggisch wrote:
> 
> Is it possible that you have declared models in different sessions? This has 
> cause me similar issues
> before. It means essentially that you have two connections open, for each 
> session. And commits over the middleware only affect one of them.
> 
i have, deep in my heart, a similar suspicion, but no idea of a way to check it.
indeed, the same db user is making other connections as well from another site
program.
but these kept occurring when i run ddl and dml successfully through sa, even
with the same model, but not through tg controllers.

moreover, my failing code is successfully doing a select before it attempts to
update and fails. before trying to update, i tried some ddl without select, but
with the same failure.

any idea of a way i could check your suspicion?

thanks in advance,
alex

> Diez
> 
> On Nov 13, 2011, at 5:50 PM, alex bodnaru wrote:
> 
>>
>> hello julien, other friends,
>>
>> no joy yet.
>>
>> On 11/11/2011 08:54 AM, alex bodnaru wrote:
>>>
>>> hello julien,
>>>
>>> that seems to be the representation of a smallmoney field. i'm not filling 
>>> up
>>> the data manually, but it's a row from a query returned by sa on a 
>>> similarily
>>> formatted table.
>>>
>>> about the failure issue - i'm going to first reinstall on a linux host and 
>>> maybe
>>> use one of your other suggestions.
>> i didn't have the linux infrastructure ready.
>> but looking at the system again, my other ddl and dml attempts succeeded 
>> through
>> the same mssql+pyodbc connection, and i committed with either
>> transaction.commit() in bootstrap.py or dbsession.commit() outside 
>> turbogears.
>>
>> conversely, ddl and dml statemnts get to the server (it returns eventual 
>> syntax
>> errors), just don't take effect (are rolledback somewhere in tg, after my
>> controller is being invoked).
>> how could i try to debug the tg calling my controller?
>>>
>>> best regards,
>>> alex
>>>
>>> On 11/10/2011 01:47 PM, Julien Tayon wrote:
>>>> Is it normal that cost price is a decimal when all other prices are float ?
>>>> Is your python model consistent with your db ?
>>>> Have you replayed your Sql statement with the value dumped in the debug, 
>>>> and are
>>>> you sure you dont violate any constraints ?
>>>>
>>>>
>>>>
>>>> Le 9 nov. 2011 ŕ 18:41, alex bodnaru <[email protected]> a écrit :
>>>>
>>>>>
>>>>> hey julien,
>>>>>
>>>>> still doesn't work but now even update statements fail to take effect.
>>>>> 19:34:00,966 INFO  [sqlalchemy.engine.base.Engine] update 
>>>>> tblitemcategories set
>>>>> Unitlimit=?, Step=?, SaleUnit=?, Price=?, VipPrice=?, costPrice=?,
>>>>> costPriceCurrency=?, isOfferItem=?, OfferItemPrice=?, Vip=?, isOnSale=?,
>>>>> DeliveryDaysAdd=?, is_heavy=?, no_special_price=?, SalePrice=?, 
>>>>> SaleVipPrice=?
>>>>> where id=?
>>>>> 19:34:00,982 INFO  [sqlalchemy.engine.base.Engine] (0, 50, 1, 67.5, 67.5,
>>>>> Decimal('0.0000'), 0, False, 0.0, False, False, 0, False, 0, 0.0, 0.0, 
>>>>> 8461)
>>>>> but select do.
>>>>>
>>>>> i'll take your path to dig deeper in mssql/pyodbc layers.
>>>>>
>>>>> i'd mention paster setup-app development.ini did perform ddl and inserts 
>>>>> in this
>>>>> tg, with the same pyodbc. so i'm still not sure what the difference 
>>>>> should be.
>>>>>
>>>>> thanks a lot that far,
>>>>> alex
>>>>>
>>>>> On 11/09/2011 02:27 PM, Julien Tayon wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> 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.
>>>>>
>>>>
>>>
>>
>> -- 
>> 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.

Reply via email to