)]}'
{"oslo/db/sqlalchemy/exc_filters.py":[{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"fc8c9ed1307459b272b4293926d30226f5e57ef3","unresolved":false,"context_lines":[{"line_number":171,"context_line":"         \"REFERENCES (.+) \\(.+\\)\\)\")"},{"line_number":172,"context_line":"def _foreign_key_error(integrity_error, match, engine_name, is_disconnect):"},{"line_number":173,"context_line":"    \"\"\"Filter for foreign key errors.\"\"\""},{"line_number":174,"context_line":"    try:"},{"line_number":175,"context_line":"        table \u003d match.group(1)"},{"line_number":176,"context_line":"    except IndexError:"},{"line_number":177,"context_line":"        table \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_5058a930","line":174,"updated":"2014-07-21 14:22:10.000000000","message":"this approach with the match group indexes hardcoded is kind of brittle, as it links the structure of these specific exception messages to imperative code, and may not match future exceptions.  Can we use named placeholders for these regexps instead ?  see `(?P\u003cname\u003e...)` at https://docs.python.org/2/library/re.html#regular-expression-syntax","commit_id":"587f0ffb23fc9092d5ac6aa675212d98b4cd2fe9"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"3e43c1fbbf1e146d76c3a871af5310c8f4a44e97","unresolved":false,"context_lines":[{"line_number":171,"context_line":"         \"REFERENCES (.+) \\(.+\\)\\)\")"},{"line_number":172,"context_line":"def _foreign_key_error(integrity_error, match, engine_name, is_disconnect):"},{"line_number":173,"context_line":"    \"\"\"Filter for foreign key errors.\"\"\""},{"line_number":174,"context_line":"    try:"},{"line_number":175,"context_line":"        table \u003d match.group(1)"},{"line_number":176,"context_line":"    except IndexError:"},{"line_number":177,"context_line":"        table \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_8b7856c5","line":174,"in_reply_to":"baada198_5058a930","updated":"2014-07-21 14:55:59.000000000","message":"Done","commit_id":"587f0ffb23fc9092d5ac6aa675212d98b4cd2fe9"}],"oslo/db/sqlalchemy/session.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"09945da0444baa69d13d25b51cbd71089aecc039","unresolved":false,"context_lines":[{"line_number":401,"context_line":"                              \"foreign key constraint \\\"([^\\\"]+)\\\"\\s*\\n\""},{"line_number":402,"context_line":"                              \"DETAIL:  Key \\((.+)\\)\u003d\\(.+\\) \""},{"line_number":403,"context_line":"                              \"is not present in table \""},{"line_number":404,"context_line":"                              \"\\\"([^\\\"]+)\\\".\"),),"},{"line_number":405,"context_line":"}"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_1173564e","line":404,"updated":"2014-05-27 06:53:41.000000000","message":"We should probably add support for mysql and sqlite too (at least for mysql as it is used in production deployments 90%+ of times)","commit_id":"3df485f5f1a8fc760fdf92e5989b0371c708a126"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"4f286be9507218d3c61318478e736462219fa668","unresolved":false,"context_lines":[{"line_number":401,"context_line":"                              \"foreign key constraint \\\"([^\\\"]+)\\\"\\s*\\n\""},{"line_number":402,"context_line":"                              \"DETAIL:  Key \\((.+)\\)\u003d\\(.+\\) \""},{"line_number":403,"context_line":"                              \"is not present in table \""},{"line_number":404,"context_line":"                              \"\\\"([^\\\"]+)\\\".\"),),"},{"line_number":405,"context_line":"}"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_e396bdef","line":404,"in_reply_to":"3ae8d1ca_06905042","updated":"2014-07-02 19:47:25.000000000","message":"https://stackoverflow.com/questions/18994843/why-am-i-getting-a-mysql-foreign-key-insert-constraint-violation-in-a-transactio seems to have one, excerpted below:\n\nError Code: 1452. Cannot add or update a child row: a foreign key constraint fails","commit_id":"3df485f5f1a8fc760fdf92e5989b0371c708a126"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"ab5114fccdafc682e02b4294439146dd9c9f5d77","unresolved":false,"context_lines":[{"line_number":401,"context_line":"                              \"foreign key constraint \\\"([^\\\"]+)\\\"\\s*\\n\""},{"line_number":402,"context_line":"                              \"DETAIL:  Key \\((.+)\\)\u003d\\(.+\\) \""},{"line_number":403,"context_line":"                              \"is not present in table \""},{"line_number":404,"context_line":"                              \"\\\"([^\\\"]+)\\\".\"),),"},{"line_number":405,"context_line":"}"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_06905042","line":404,"in_reply_to":"3ae8d1ca_1173564e","updated":"2014-05-28 08:24:25.000000000","message":"I don\u0027t think SQLite supports foreign key constraints.\n\nI don\u0027t know the regexp for MySQL, hints welcome.","commit_id":"3df485f5f1a8fc760fdf92e5989b0371c708a126"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"1f64ee282e023946a0f071a9342326f02cdd1c7b","unresolved":false,"context_lines":[{"line_number":406,"context_line":"    \"mysql\": (re.compile(r\".* Cannot add or update a child row: \""},{"line_number":407,"context_line":"                         \"a foreign key constraint fails \""},{"line_number":408,"context_line":"                         \"\\((.+), CONSTRAINT (.+) FOREIGN KEY \\((.+)\\) \""},{"line_number":409,"context_line":"                         \"REFERENCES (.+) \\(.+\\)\\)\"),),"},{"line_number":410,"context_line":"}"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_251f150b","line":409,"updated":"2014-07-09 12:42:15.000000000","message":"Can we add pattern for SQLite also? See ann error example at http://www.sqlite.org/foreignkeys.html","commit_id":"fbb69b488450fd0d9453e990b3660e8d9445b28b"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0317c082164bae47a7c97f36dfb4039151f07148","unresolved":false,"context_lines":[{"line_number":406,"context_line":"    \"mysql\": (re.compile(r\".* Cannot add or update a child row: \""},{"line_number":407,"context_line":"                         \"a foreign key constraint fails \""},{"line_number":408,"context_line":"                         \"\\((.+), CONSTRAINT (.+) FOREIGN KEY \\((.+)\\) \""},{"line_number":409,"context_line":"                         \"REFERENCES (.+) \\(.+\\)\\)\"),),"},{"line_number":410,"context_line":"}"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_f2d7734d","line":409,"in_reply_to":"baada198_251f150b","updated":"2014-07-10 12:40:41.000000000","message":"Done, but not really fancy.","commit_id":"fbb69b488450fd0d9453e990b3660e8d9445b28b"}],"tests/sqlalchemy/test_exc_filters.py":[{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"fc8c9ed1307459b272b4293926d30226f5e57ef3","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        self.assertEqual(\"mysqldb has an attribute error\", matched.message)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"class TestRaiseReferenceError(TestsExceptionFilter):"},{"line_number":170,"context_line":"    def test_postgresql(self):"},{"line_number":171,"context_line":"        e \u003d self._run_test("},{"line_number":172,"context_line":"            \"postgresql\","}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_50f429f0","line":169,"updated":"2014-07-21 14:22:10.000000000","message":"tests here look great!  nice job","commit_id":"587f0ffb23fc9092d5ac6aa675212d98b4cd2fe9"}]}
