@@ -35,3 +35,50 @@ test('error during query execution', function() {
35
35
} ) ) ;
36
36
} ) ) ;
37
37
} ) ;
38
+
39
+ test ( '9.3 column error fields' , function ( ) {
40
+ var client = new Client ( helper . args ) ;
41
+ client . connect ( assert . success ( function ( ) {
42
+ helper . versionGTE ( client , '9.3.0' , assert . success ( function ( isGreater ) {
43
+ if ( ! isGreater ) {
44
+ console . log ( 'skip 9.3 error field on older versions of postgres' ) ;
45
+ return client . end ( ) ;
46
+ }
47
+
48
+ client . query ( 'DROP TABLE IF EXISTS column_err_test' ) ;
49
+ client . query ( 'CREATE TABLE column_err_test(a int NOT NULL)' ) ;
50
+ client . query ( 'INSERT INTO column_err_test(a) VALUES (NULL)' , function ( err ) {
51
+ assert . equal ( err . severity , 'ERROR' ) ;
52
+ assert . equal ( err . code , '23502' ) ;
53
+ assert . equal ( err . schema , 'public' ) ;
54
+ assert . equal ( err . table , 'column_err_test' ) ;
55
+ assert . equal ( err . column , 'a' ) ;
56
+ return client . end ( ) ;
57
+ } ) ;
58
+ } ) ) ;
59
+ } ) ) ;
60
+ } ) ;
61
+
62
+ test ( '9.3 constraint error fields' , function ( ) {
63
+ var client = new Client ( helper . args ) ;
64
+ client . connect ( assert . success ( function ( ) {
65
+ helper . versionGTE ( client , '9.3.0' , assert . success ( function ( isGreater ) {
66
+ if ( ! isGreater ) {
67
+ console . log ( 'skip 9.3 error field on older versions of postgres' ) ;
68
+ return client . end ( ) ;
69
+ }
70
+
71
+ client . query ( 'DROP TABLE IF EXISTS constraint_err_test' ) ;
72
+ client . query ( 'CREATE TABLE constraint_err_test(a int PRIMARY KEY)' ) ;
73
+ client . query ( 'INSERT INTO constraint_err_test(a) VALUES (1)' ) ;
74
+ client . query ( 'INSERT INTO constraint_err_test(a) VALUES (1)' , function ( err ) {
75
+ assert . equal ( err . severity , 'ERROR' ) ;
76
+ assert . equal ( err . code , '23505' ) ;
77
+ assert . equal ( err . schema , 'public' ) ;
78
+ assert . equal ( err . table , 'constraint_err_test' ) ;
79
+ assert . equal ( err . constraint , 'constraint_err_test_pkey' ) ;
80
+ return client . end ( ) ;
81
+ } ) ;
82
+ } ) ) ;
83
+ } ) ) ;
84
+ } ) ;
0 commit comments