From 4607fb3c4709612377f6251f6cb6ea18c76092a8 Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Tue, 28 Aug 2012 11:06:05 +0100 Subject: [PATCH] SQL erors are returned as json --- ckanext/datastore/db.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ckanext/datastore/db.py b/ckanext/datastore/db.py index ce3e69019ce..6322f34f0dd 100644 --- a/ckanext/datastore/db.py +++ b/ckanext/datastore/db.py @@ -1,4 +1,5 @@ import sqlalchemy +from sqlalchemy.exc import ProgrammingError import ckan.plugins as p import psycopg2.extras import json @@ -592,6 +593,15 @@ def search_sql(context, data_dict): ) return format_results(context, results, data_dict) + except ProgrammingError, e: + raise p.toolkit.ValidationError({ + 'query': [str(e)], + 'info': { + 'statement': [e.statement], + 'params': [e.params], + 'orig': [str(e.orig)] + } + }) except Exception, e: if 'due to statement timeout' in str(e): raise p.toolkit.ValidationError({