Hey, I only have little experience with web.py and psycopg2 and am running into a weird problem, I'd appreciate any help I can get with debugging it.
I wrote a simple program that works and I don't see any crash: ---- import psycopg2 try: database_conn = psycopg2.connect("dbname='dbname' user='username' host='hostname'"); except: print "Unable to connect to the database!" database_conn.set_isolation_level(0) cur = database_conn.cursor(); while True: query = "SELECT avg(dep_delay), extract(hour from crs_dep_time) as crs_dep_hour, origin from flightdata where date = '01-05-2007' group by origin, crs_dep_hour order by origin, crs_dep_hour"; cur.execute(query) rows = cur.fetchall() print rows ----- However, I have a small website built using web.py framework which has a date picker that lets the user pick a date and it takes the user to a new url such as: localhost:8080/departures/01-05-2007. I issue a query to my database for the date selected by the user and retrieve the results. The problem now is that if I select different dates directly by changing the url then everything works but as soon as I pick a date from date picker the server crashes. I removed the date picker and made it just a text box but as soon as I hit the submit button, server crashes so I know it is not the date picker that causing trouble. --- class departures: def buildDepartureTableHtml(self, date): web.debug('date', date) # Issue the query. # select avg(dep_delay), extract(hour from crs_dep_time) as crs_dep_hour, origin from flightdata where date = '2007-02-15' group by origin, crs_dep # _hour order by origin, crs_dep_hour; try: web.debug("About to issue query") # query = "SELECT avg(dep_delay), extract(hour from crs_dep_time) as crs_dep_hour, origin from flightdata where date = '" + date + "' group by origin, crs_dep_hour order by origin, crs_dep_hour"; query = "SELECT avg(dep_delay), extract(hour from crs_dep_time) as crs_dep_hour, origin from flightdata where date = '01-05-2007' group by origin, crs_dep_hour order by origin, crs_dep_hour"; cur.execute(query) web.debug('query executed!') rows = cur.fetchall() web.debug('rows fetched!') web.debug(rows) except Exception, e: print repr(e) database_conn.rollback() return "<div id='welcome-text'>Invalid Date</div>" -- // JS code function submitForm() { var date = ($("date").value).replace(/\//g,"-"); window.location = "http://" + window.location.host + "/ departures/" + date; } You can see above that I even ignored the date passed from the form and I have hardcoded '01-05-2007'. The message "About to issue query" gets printed as well as the right date chosen from the date picker but then I see the following: Assertion failed: (str != NULL), function PyString_FromString, file Objects/stringobject.c, line 107. Abort trap with a pop that says: "The application Python quit unexpectedly. The problem may have been caused by the _psycopg.so plug-in". -- I don't understand the error message above. The date did get passed correctly and am now not even using it, I use the hard coded date. So what is going on? Any help would be great. Thank you! Neha -- http://mail.python.org/mailman/listinfo/python-list