Hi -- I am getting intermittent errors on certain database queries on our production server. I am having a hard time duplicating them (most of the time they run okay, only sometimes on the production server am I receiving exception messages), so I want to log the SQL query itself and see what it is, and why it might be failing. Is there some way of seeing what SQL statement will be executed by a QuerySet before actually executing it? I've also set up logging on the database side, so I can look there as well. Any other ideas for how I might debug this? See anything wrong with the queries? I do need to know the total number of articles returned, and .count() is the recommended way of doing that. In most cases I'm slicing the QuerySet after getting the count.
Any help would be very much appreciated! ~Liam Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/django/core/handlers/base.py", line 86, in get_response response = callback(request, *callback_args, **callback_kwargs) File "/var/www/vhosts/site.com/django/obsidian/obs/views.py", line 219, in index radius=radius, order_by='distance') File "/var/www/vhosts/site.com/django/obsidian/obs/data_access.py", line 551, in search art_result_count = art_list.count() File "/usr/lib/python2.4/site-packages/django/db/models/query.py", line 296, in count return self.query.get_count() File "/usr/lib/python2.4/site-packages/django/db/models/sql/query.py", line 237, in get_count data = obj.execute_sql(SINGLE) File "/usr/lib/python2.4/site-packages/django/db/models/sql/query.py", line 1734, in execute_sql cursor.execute(sql, params) InternalError: current transaction is aborted, commands ignored until end of transaction block The code looks like this: if term: if pnt: art_list = Article.objects.filter(\ status='PUBLISHED')\ .extra(where=["title_tsv @@ plainto_tsquery(%s)"], params=[term])\ .distance(pnt)\ .order_by(*order_by) else: art_list = Article.objects.extra (\ where=['title_tsv @@ plainto_tsquery(%s) AND status=%s'],params=[term,'PUBLISHED'])\ .order_by(*order_by) elif search_origin: try: art_list = Article.objects.filter(status='PUBLISHED',\ point__distance_lte=(pnt,D(km=radius))).distance(pnt)\ .order_by(*order_by) except Exception, e: raise else: raise The exception comes when I execute the query by getting the count art_result_count = art_list.count() if rows: art_list = art_list[start:start+rows] --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---