@@ -23,16 +23,16 @@ def __init__(
23
23
24
24
@compiler .compiles (CreateView )
25
25
def compile_create_materialized_view (element , compiler , ** kw ):
26
- return " CREATE {}{}VIEW {}{} AS {}" .format (
27
- " OR REPLACE " if element .or_replace else "" ,
28
- " MATERIALIZED " if element .materialized else "" ,
29
- " IF NOT EXISTS " if element .if_not_exists else "" ,
26
+ return ' CREATE {}{}VIEW {}{} AS {}' .format (
27
+ ' OR REPLACE ' if element .or_replace else '' ,
28
+ ' MATERIALIZED ' if element .materialized else '' ,
29
+ ' IF NOT EXISTS ' if element .if_not_exists else '' ,
30
30
compiler .dialect .identifier_preparer .quote (element .name ),
31
31
compiler .sql_compiler .process (element .selectable , literal_binds = True ),
32
32
)
33
33
34
34
35
- @compiler .compiles (CreateView , " postgresql" )
35
+ @compiler .compiles (CreateView , ' postgresql' )
36
36
def compile_create_materialized_view_ (element , compiler , ** kw ):
37
37
"""
38
38
CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] VIEW name [ ( column_name [, ...] ) ]
@@ -51,16 +51,16 @@ def compile_create_materialized_view_(element, compiler, **kw):
51
51
see https://www.postgresql.org/docs/current/sql-createview.html
52
52
see https://www.postgresql.org/docs/current/sql-creatematerializedview.html
53
53
"""
54
- return " CREATE {}{}VIEW {}{} AS {}" .format (
55
- " OR REPLACE " if not element .materialized and element .or_replace else "" ,
56
- " MATERIALIZED " if element .materialized else "" ,
57
- " IF NOT EXISTS " if element .materialized and element .if_not_exists else "" ,
54
+ return ' CREATE {}{}VIEW {}{} AS {}' .format (
55
+ ' OR REPLACE ' if not element .materialized and element .or_replace else '' ,
56
+ ' MATERIALIZED ' if element .materialized else '' ,
57
+ ' IF NOT EXISTS ' if element .materialized and element .if_not_exists else '' ,
58
58
compiler .dialect .identifier_preparer .quote (element .name ),
59
59
compiler .sql_compiler .process (element .selectable , literal_binds = True ),
60
60
)
61
61
62
62
63
- @compiler .compiles (CreateView , " mysql" )
63
+ @compiler .compiles (CreateView , ' mysql' )
64
64
def compile_create_materialized_view_ (element , compiler , ** kw ):
65
65
"""
66
66
CREATE
@@ -76,15 +76,15 @@ def compile_create_materialized_view_(element, compiler, **kw):
76
76
NOTE mysql does not support materialized view
77
77
"""
78
78
if element .materialized :
79
- raise ValueError (" mysql does not support materialized view!" )
80
- return " CREATE {}VIEW {} AS {}" .format (
81
- " OR REPLACE " if element .or_replace else "" ,
79
+ raise ValueError (' mysql does not support materialized view!' )
80
+ return ' CREATE {}VIEW {} AS {}' .format (
81
+ ' OR REPLACE ' if element .or_replace else '' ,
82
82
compiler .dialect .identifier_preparer .quote (element .name ),
83
83
compiler .sql_compiler .process (element .selectable , literal_binds = True ),
84
84
)
85
85
86
86
87
- @compiler .compiles (CreateView , " mssql" )
87
+ @compiler .compiles (CreateView , ' mssql' )
88
88
def compile_create_materialized_view_ (element , compiler , ** kw ):
89
89
"""
90
90
CREATE [ OR ALTER ] VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ]
@@ -103,15 +103,15 @@ def compile_create_materialized_view_(element, compiler, **kw):
103
103
see https://docs.microsoft.com/en-us/sql/t-sql/statements/create-view-transact-sql?view=sql-server-ver15
104
104
see https://docs.microsoft.com/en-us/sql/t-sql/statements/create-materialized-view-as-select-transact-sql?view=azure-sqldw-latest&viewFallbackFrom=sql-server-ver15
105
105
"""
106
- return " CREATE {}{}VIEW {} AS {}" .format (
107
- " OR ALTER " if not element .materialized and element .or_replace else "" ,
108
- " MATERIALIZED " if element .materialized else "" ,
106
+ return ' CREATE {}{}VIEW {} AS {}' .format (
107
+ ' OR ALTER ' if not element .materialized and element .or_replace else '' ,
108
+ ' MATERIALIZED ' if element .materialized else '' ,
109
109
compiler .dialect .identifier_preparer .quote (element .name ),
110
110
compiler .sql_compiler .process (element .selectable , literal_binds = True ),
111
111
)
112
112
113
113
114
- @compiler .compiles (CreateView , " snowflake" )
114
+ @compiler .compiles (CreateView , ' snowflake' )
115
115
def compile_create_materialized_view (element , compiler , ** kw ):
116
116
"""
117
117
CREATE [ OR REPLACE ] [ SECURE ] [ RECURSIVE ] VIEW [ IF NOT EXISTS ] <name>
@@ -140,10 +140,10 @@ def compile_create_materialized_view(element, compiler, **kw):
140
140
see https://docs.snowflake.com/en/sql-reference/sql/create-view.html
141
141
see https://docs.snowflake.com/en/sql-reference/sql/create-materialized-view.html
142
142
"""
143
- return " CREATE {}{}VIEW {}{} AS {}" .format (
144
- " OR REPLACE " if element .or_replace else "" ,
145
- " MATERIALIZED " if element .materialized else "" ,
146
- " IF NOT EXISTS " if element .if_not_exists else "" ,
143
+ return ' CREATE {}{}VIEW {}{} AS {}' .format (
144
+ ' OR REPLACE ' if element .or_replace else '' ,
145
+ ' MATERIALIZED ' if element .materialized else '' ,
146
+ ' IF NOT EXISTS ' if element .if_not_exists else '' ,
147
147
compiler .dialect .identifier_preparer .quote (element .name ),
148
148
compiler .sql_compiler .process (element .selectable , literal_binds = True ),
149
149
)
@@ -158,10 +158,10 @@ def __init__(self, name, materialized=False, cascade=True):
158
158
159
159
@compiler .compiles (DropView )
160
160
def compile_drop_materialized_view (element , compiler , ** kw ):
161
- return " DROP {}VIEW IF EXISTS {} {}" .format (
162
- " MATERIALIZED " if element .materialized else "" ,
161
+ return ' DROP {}VIEW IF EXISTS {} {}' .format (
162
+ ' MATERIALIZED ' if element .materialized else '' ,
163
163
compiler .dialect .identifier_preparer .quote (element .name ),
164
- " CASCADE" if element .cascade else "" ,
164
+ ' CASCADE' if element .cascade else '' ,
165
165
)
166
166
167
167
@@ -230,7 +230,7 @@ def create_materialized_view(
230
230
231
231
sa .event .listen (
232
232
metadata ,
233
- " after_create" ,
233
+ ' after_create' ,
234
234
CreateView (
235
235
name ,
236
236
selectable ,
@@ -240,12 +240,12 @@ def create_materialized_view(
240
240
),
241
241
)
242
242
243
- @sa .event .listens_for (metadata , " after_create" )
243
+ @sa .event .listens_for (metadata , ' after_create' )
244
244
def create_indexes (target , connection , ** kw ):
245
245
for idx in table .indexes :
246
246
idx .create (connection )
247
247
248
- sa .event .listen (metadata , " before_drop" , DropView (name , materialized = True ))
248
+ sa .event .listen (metadata , ' before_drop' , DropView (name , materialized = True ))
249
249
return table
250
250
251
251
@@ -299,18 +299,18 @@ def create_view(
299
299
300
300
sa .event .listen (
301
301
metadata ,
302
- " after_create" ,
302
+ ' after_create' ,
303
303
CreateView (
304
304
name , selectable , if_not_exists = if_not_exists , or_replace = or_replace
305
305
),
306
306
)
307
307
308
- @sa .event .listens_for (metadata , " after_create" )
308
+ @sa .event .listens_for (metadata , ' after_create' )
309
309
def create_indexes (target , connection , ** kw ):
310
310
for idx in table .indexes :
311
311
idx .create (connection )
312
312
313
- sa .event .listen (metadata , " before_drop" , DropView (name , cascade = cascade_on_drop ))
313
+ sa .event .listen (metadata , ' before_drop' , DropView (name , cascade = cascade_on_drop ))
314
314
return table
315
315
316
316
@@ -327,8 +327,8 @@ def refresh_materialized_view(session, name, concurrently=False):
327
327
# order to include newly-created/modified objects in the refresh.
328
328
session .flush ()
329
329
session .execute (
330
- " REFRESH MATERIALIZED VIEW {}{}" .format (
331
- " CONCURRENTLY " if concurrently else "" ,
330
+ ' REFRESH MATERIALIZED VIEW {}{}' .format (
331
+ ' CONCURRENTLY ' if concurrently else '' ,
332
332
session .bind .engine .dialect .identifier_preparer .quote (name ),
333
333
)
334
334
)
0 commit comments