1919from sqlalchemy .sql import func
2020from sqlalchemy .orm .base import NO_VALUE
2121
22- from sqlalchemy_mptt .sqlalchemy_compat import case , select
22+ from sqlalchemy_mptt .sqlalchemy_compat import compat_layer
2323
2424
2525def _insert_subtree (
@@ -62,7 +62,7 @@ def _insert_subtree(
6262 .where (table .c .tree_id == parent_tree_id )
6363 .values (
6464 rgt = table .c .rgt + node_size ,
65- lft = case (
65+ lft = compat_layer . case (
6666 (table .c .lft > left_sibling ['lft' ], table .c .lft + node_size ),
6767 else_ = table .c .lft
6868 )
@@ -89,7 +89,7 @@ def mptt_before_insert(mapper, connection, instance):
8989 instance .right = 2
9090 instance .level = instance .get_default_level ()
9191 tree_id = connection .scalar (
92- select (
92+ compat_layer . select (
9393 func .max (table .c .tree_id ) + 1
9494 )
9595 ) or 1
@@ -99,7 +99,7 @@ def mptt_before_insert(mapper, connection, instance):
9999 parent_pos_right ,
100100 parent_tree_id ,
101101 parent_level ) = connection .execute (
102- select (
102+ compat_layer . select (
103103 table .c .lft ,
104104 table .c .rgt ,
105105 table .c .tree_id ,
@@ -115,11 +115,11 @@ def mptt_before_insert(mapper, connection, instance):
115115 .where (table .c .rgt >= parent_pos_right )
116116 .where (table .c .tree_id == parent_tree_id )
117117 .values (
118- lft = case (
118+ lft = compat_layer . case (
119119 (table .c .lft > parent_pos_right , table .c .lft + 2 ),
120120 else_ = table .c .lft
121121 ),
122- rgt = case (
122+ rgt = compat_layer . case (
123123 (table .c .rgt >= parent_pos_right , table .c .rgt + 2 ),
124124 else_ = table .c .rgt
125125 )
@@ -139,7 +139,7 @@ def mptt_before_delete(mapper, connection, instance, delete=True):
139139 db_pk = instance .get_pk_column ()
140140 table_pk = getattr (table .c , db_pk .name )
141141 lft , rgt = connection .execute (
142- select (
142+ compat_layer . select (
143143 table .c .lft ,
144144 table .c .rgt
145145 ).where (
@@ -174,11 +174,11 @@ def mptt_before_delete(mapper, connection, instance, delete=True):
174174 .where (table .c .rgt > rgt )
175175 .where (table .c .tree_id == tree_id )
176176 .values (
177- lft = case (
177+ lft = compat_layer . case (
178178 (table .c .lft > lft , table .c .lft - delta ),
179179 else_ = table .c .lft
180180 ),
181- rgt = case (
181+ rgt = compat_layer . case (
182182 (table .c .rgt >= rgt , table .c .rgt - delta ),
183183 else_ = table .c .rgt
184184 )
@@ -210,7 +210,7 @@ def mptt_before_update(mapper, connection, instance):
210210 right_sibling_level ,
211211 right_sibling_tree_id
212212 ) = connection .execute (
213- select (
213+ compat_layer . select (
214214 table .c .lft ,
215215 table .c .rgt ,
216216 table .c .parent_id ,
@@ -221,7 +221,7 @@ def mptt_before_update(mapper, connection, instance):
221221 )
222222 ).fetchone ()
223223 current_lvl_nodes = connection .execute (
224- select (
224+ compat_layer . select (
225225 table .c .lft ,
226226 table .c .rgt ,
227227 table .c .parent_id ,
@@ -259,7 +259,7 @@ def mptt_before_update(mapper, connection, instance):
259259 left_sibling_parent ,
260260 left_sibling_tree_id
261261 ) = connection .execute (
262- select (
262+ compat_layer . select (
263263 table .c .lft ,
264264 table .c .rgt ,
265265 table .c .parent_id ,
@@ -282,7 +282,7 @@ def mptt_before_update(mapper, connection, instance):
282282 ORDER BY left_key
283283 """
284284 subtree = connection .execute (
285- select (table_pk )
285+ compat_layer . select (table_pk )
286286 .where (
287287 and_ (
288288 table .c .lft >= instance .left ,
@@ -306,7 +306,7 @@ def mptt_before_update(mapper, connection, instance):
306306 node_parent_id ,
307307 node_level
308308 ) = connection .execute (
309- select (
309+ compat_layer . select (
310310 table .c .lft ,
311311 table .c .rgt ,
312312 table .c .tree_id ,
@@ -334,7 +334,7 @@ def mptt_before_update(mapper, connection, instance):
334334 parent_tree_id ,
335335 parent_level
336336 ) = connection .execute (
337- select (
337+ compat_layer . select (
338338 table_pk ,
339339 table .c .rgt ,
340340 table .c .lft ,
@@ -362,7 +362,7 @@ def mptt_before_update(mapper, connection, instance):
362362 parent_tree_id ,
363363 parent_level
364364 ) = connection .execute (
365- select (
365+ compat_layer . select (
366366 table_pk ,
367367 table .c .rgt ,
368368 table .c .lft ,
@@ -414,7 +414,7 @@ def mptt_before_update(mapper, connection, instance):
414414 # if just insert
415415 else :
416416 tree_id = connection .scalar (
417- select (
417+ compat_layer . select (
418418 func .max (table .c .tree_id ) + 1
419419 )
420420 )
0 commit comments