@@ -150,22 +150,26 @@ RETURNS void AS $$
150
150
kwargs = { "message":_message, "detail":_detail, "hint":_hint,
151
151
"sqlstate":_sqlstate, "schema":_schema, "table":_table,
152
152
"column":_column, "datatype":_datatype, "constraint":_constraint }
153
- # ignore None values
154
- plpy.error(**dict((k, v) for k, v in iter(kwargs.items()) if v))
153
+ # ignore None values - should work on Python2.3
154
+ dict = {}
155
+ for k in kwargs:
156
+ if kwargs[k] is not None:
157
+ dict[k] = kwargs[k]
158
+ plpy.error(**dict)
155
159
$$ LANGUAGE plpythonu;
156
160
SELECT raise_exception('hello', 'world');
157
161
ERROR: plpy.Error: hello
158
162
DETAIL: world
159
163
CONTEXT: Traceback (most recent call last):
160
- PL/Python function "raise_exception", line 6 , in <module>
161
- plpy.error(**dict((k, v) for k, v in iter(kwargs.items()) if v) )
164
+ PL/Python function "raise_exception", line 10 , in <module>
165
+ plpy.error(**dict)
162
166
PL/Python function "raise_exception"
163
167
SELECT raise_exception('message text', 'detail text', _sqlstate => 'YY333');
164
168
ERROR: plpy.Error: message text
165
169
DETAIL: detail text
166
170
CONTEXT: Traceback (most recent call last):
167
- PL/Python function "raise_exception", line 6 , in <module>
168
- plpy.error(**dict((k, v) for k, v in iter(kwargs.items()) if v) )
171
+ PL/Python function "raise_exception", line 10 , in <module>
172
+ plpy.error(**dict)
169
173
PL/Python function "raise_exception"
170
174
SELECT raise_exception(_message => 'message text',
171
175
_detail => 'detail text',
@@ -180,8 +184,8 @@ ERROR: plpy.Error: message text
180
184
DETAIL: detail text
181
185
HINT: hint text
182
186
CONTEXT: Traceback (most recent call last):
183
- PL/Python function "raise_exception", line 6 , in <module>
184
- plpy.error(**dict((k, v) for k, v in iter(kwargs.items()) if v) )
187
+ PL/Python function "raise_exception", line 10 , in <module>
188
+ plpy.error(**dict)
185
189
PL/Python function "raise_exception"
186
190
SELECT raise_exception(_message => 'message text',
187
191
_hint => 'hint text',
@@ -191,8 +195,8 @@ SELECT raise_exception(_message => 'message text',
191
195
ERROR: plpy.Error: message text
192
196
HINT: hint text
193
197
CONTEXT: Traceback (most recent call last):
194
- PL/Python function "raise_exception", line 6 , in <module>
195
- plpy.error(**dict((k, v) for k, v in iter(kwargs.items()) if v) )
198
+ PL/Python function "raise_exception", line 10 , in <module>
199
+ plpy.error(**dict)
196
200
PL/Python function "raise_exception"
197
201
DO $$
198
202
DECLARE
0 commit comments