是否可以通过自定义错误代码plpy.error/fatal
或继承SPIError
来传递自定义ERRCODE,HINT等?将自定义错误代码(ERRCODE)传递给plpy.error或自定义SPIError
2
A
回答
2
虽然戳通过plpython源,一种方法,我发现至今,是从SPIError继承并设置sqlstate
raise type('MyError', (plpy.SPIError,), {'sqlstate': 'D000M'})(...)
将传播ERRCODE D000M
和对我的作品。
很高兴能定义一个自定义提示,但看起来更棘手,因为它带有spidata
。
1
我发现一个解决方案如何做到这一点。使用SPIError
类的实例,并设置spidata
属性。
postgres=# do $$
x = plpy.SPIError('Nazdarek');
x.spidata = (0, "Some detail", "some hint", None, -1);
raise x;
$$ language plpythonu;
ERROR: plpy.SPIError: Nazdarek
DETAIL: Some detail
HINT: some hint
CONTEXT: Traceback (most recent call last):
PL/Python anonymous code block, line 4, in <module>
raise x;
PL/Python anonymous code block
错误代码应该输入为整数值,什么是非常不友好的。我会看看如何更好地翻译它。
相关问题
- 1. 将自定义参数传递给Symfony2中的自定义ValidationConstraint
- 2. 将javascript代码传递给自定义控件
- 3. 将自定义代码样式xml传递给gradle idea插件
- 4. 将参数传递给自定义URI
- 5. 将自定义对象传递给Arrays.asList
- 6. 将自定义参数传递给ValidationAttribute
- 7. 将自定义php.ini传递给phpunit
- 8. laravel将验证错误传递给自定义视图
- 9. 自定义ResponseStatus错误代码属性
- 10. Java - 返回自定义错误代码
- 11. 将自定义组件的参数传递给自定义组件
- 12. 将额外的自定义设备状态传递给Alexa自定义技能
- 13. OpenRasta - 将参数传递给自定义编解码器
- 14. 将值传递给给给NumberFormatException的自定义标签
- 15. 将自变量传递给自定义SharePoint列表表单
- 16. 将自变量传递给自定义save()方法
- 17. 自定义错误
- 18. ASP.NET:如何将数据传递到自定义错误页面
- 19. 将自定义事件传播给父
- 20. 将自定义参数传递到datatables.js
- 21. 如何自定义比较传递给自定义函数的C++
- 22. 如何将自定义错误消息传递给茉莉花匹配器?
- 23. 在自定义属性中传递自定义参数 - ASP.NET MVC
- 24. WordPress;代码自定义(wp_list_categories)
- 25. SSRS - 自定义代码
- 26. Jcoverflip自定义代码
- 27. 传递自定义参数传递给控制器在MVC3
- 28. 将自定义参数传递给Eclipse中的aapt
- 29. 将自定义NSView的值传递给NSCollectionViewItem
- 30. 将数据传递给Android中的自定义视图
看到这个解决方法很奇怪,虽然这个缺少的功能的修复可以是四个小时的工作:(。PostgreSQL是开源的,如果有人错过了某些功能,他应该发送一个提议这个功能。所有功能用于实现用户友好的plpy.error功能,支持DETAIL,HINT,SQLCODE。 –