@@ -114,7 +114,16 @@ defmodule ClickhouseEcto.Connection do
114
114
end )
115
115
end
116
116
117
- def to_constraints ( _error ) , do: [ ]
117
+ def to_constraints ( % Clickhousex.Error { code: "469" , message: message } , _opts ) do
118
+ pattern = ~r/ (?<= Constraint `)(?<constraint_name>.*?)(?=` for table)/
119
+
120
+ case Regex . named_captures ( pattern , message ) do
121
+ % { "constraint_name" => constraint } -> [ check: constraint ]
122
+ _ -> [ ]
123
+ end
124
+ end
125
+
126
+ def to_constraints ( _error , _opts ) , do: [ ]
118
127
119
128
@ doc """
120
129
Returns a stream that prepares and executes the given query with `DBConnection`.
@@ -139,7 +148,7 @@ defmodule ClickhouseEcto.Connection do
139
148
@ doc false
140
149
def delete_all ( query ) , do: SQL . delete_all ( query )
141
150
142
- def insert ( prefix , table , header , rows , on_conflict , returning ) ,
151
+ def insert ( prefix , table , header , rows , on_conflict , returning , _opts ) ,
143
152
do: SQL . insert ( prefix , table , header , rows , on_conflict , returning )
144
153
145
154
def update ( prefix , table , fields , filters , returning ) ,
0 commit comments