Mike Driscoll wrote: > > Hi, > > On Jun 26, 5:40 pm, "Michael Bayer" <mike...@zzzcomputing.com> wrote: >> Mike Driscoll wrote: >> >> > Hi, >> >> > I am having an issue with what is getting returned from my SA query. >> > Here's my code: >> >> > <code> >> >> > beginDate = "1/1/2007" >> > endDate = "12/31/2007" >> > qry = session.query(CheckHistory.CHK_DOC_NO, >> > CheckHistory.EMP_ID, >> > CheckHistory.CHECK_DATE, >> > CheckHistory.CHECK_NO, >> > CheckHistory.CHECK_AMT, >> > CheckHistory.STATUS, >> > CheckHistory.PAY_PERIOD, >> > CheckHistory.DIRECT_DEPOSIT >> > ) >> > qry = qry.filter(CheckHistory.CHECK_DATE.between(beginDate, endDate) >> > ).order_by(CheckHistory.CHECK_DATE.desc()) >> > result = qry.all() >> >> > </code> >> >> > When I run this, it only shows results between 1/1 and 1/10. If I run >> > the equivalent SQL query directly in MS Sql Server 2000's Enterprise >> > Manager, I get everything between 1/1 and 1/12 as I should. Does >> > SqlAlchemy have some kind of result set limiter? There are lots of >> > rows returned... >> >> > I am using SA 0.5.4p2 and Python 2.5. Thanks! >> >> use echo="debug" on your engine to see what rows are being fetched. >> the >> query you have above is very straightforward. >> >> > > I thought it was pretty simple too. I turned debug mode on and it > looks like SA spits out a ton of SQL queries before it ever gets to > the one I sent it. When it does mine, it shows this: > > SELECT [CHECKHISTORY].[CHK_DOC_NO] AS [CHECKHISTORY_CHK_DOC_NO], > [CHECKHISTORY].[EMP_ID] AS [CHECKHISTORY_EMP_ID], [CHECKHISTORY]. > [CHECK_DATE] AS [CHECKHISTORY_CHECK_DATE], [CHECKHISTORY].[CHECK_NO] > AS [CHECKHISTORY_CHECK_NO], [CHECKHISTORY].[CHECK_AMT] AS > [CHECKHISTORY_CHECK_AMT], [CHECKHISTORY].[STATUS] AS > [CHECKHISTORY_STATUS], [CHECKHISTORY].[PAY_PERIOD] AS > [CHECKHISTORY_PAY_PERIOD], [CHECKHISTORY].[DIRECT_DEPOSIT] AS > [CHECKHISTORY_DIRECT_DEPOSIT] > FROM [CHECKHISTORY] > WHERE [CHECKHISTORY].[CHECK_DATE] BETWEEN ? AND ? ORDER BY > [CHECKHISTORY].[CHECK_DATE] DESC > 2009-06-29 09:27:46,703 INFO sqlalchemy.engine.base.Engine.0x...5eb0 > ['1/1/2007', '12/31/2007'] > > This looks right to me, but when I print out the data using a simple > for loop, the latest date is 10/31/2007., not 12/31/2007. I must be > missing something really simple. >
the "debug" setting should log the actual result rows too as they are fetched. you might want to flush() your session before you emit that query, drop into a pdb session, and poke around to see what the state of the transaction is before the query is issued. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---