sqlparse
sqlparse copied to clipboard
Got RecursionError: maximum recursion depth exceeded when trying to stripping comments from long query
hey, recently I encountered RecursionError: maximum recursion depth
when using the library to strip comments from a long query, please see my code for reproduce.
I took a look into the code and find the process is a recursive process. After using sys.setrecursionlimit
to set a larger number of the stack depth like 1500, my script ran without error.
am I doing something wrong here or it's an expected issue?
My envs are:
- Python 3.10.6
- MacOS M1
from sqlparse.engine.filter_stack import FilterStack
from sqlparse.filters import StripCommentsFilter
filter_stack = FilterStack()
filter_stack.enable_grouping()
filter_stack.stmtprocess.append(StripCommentsFilter())
sql = """
CREATE OR REPLACE TEMP TABLE test_inference AS
SELECT id,
CASE WHEN (col0 * 1+col1 * 1+col2 * 1+col3 * 1+col4 * 1+col5 * 1+col6 * 1+col7 * 1+col8 * 1+col9 * 1+col10 * 1+col11 * 1+col12 * 1+col13 * 1+col14 * 1+col15 * 1+col16 * 1+col17 * 1+col18 * 1+col19 * 1+col20 * 1+col21 * 1+col22 * 1+col23 * 1+col24 * 1+col25 * 1+col26 * 1+col27 * 1+col28 * 1+col29 * 1+col30 * 1+col31 * 1+col32 * 1+col33 * 1+col34 * 1+col35 * 1+col36 * 1+col37 * 1+col38 * 1+col39 * 1+col40 * 1+col41 * 1+col42 * 1+col43 * 1+col44 * 1+col45 * 1+col46 * 1+col47 * 1+col48 * 1+col49 * 1+col50 * 1+col51 * 1+col52 * 1+col53 * 1+col54 * 1+col55 * 1+col56 * 1+col57 * 1+col58 * 1+col59 * 1+col60 * 1+col61 * 1+col62 * 1+col63 * 1+col64 * 1+col65 * 1+col66 * 1+col67 * 1+col68 * 1+col69 * 1+col70 * 1+col71 * 1+col72 * 1+col73 * 1+col74 * 1+col75 * 1+col76 * 1+col77 * 1+col78 * 1+col79 * 1+col80 * 1+col81 * 1+col82 * 1+col83 * 1+col84 * 1+col85 * 1+col86 * 1+col87 * 1+col88 * 1+col89 * 1+col90 * 1+col91 * 1+col92 * 1+col93 * 1+col94 * 1+col95 * 1+col96 * 1+col97 * 1+col98 * 1+col99 * 1+col100 * 1+col101 * 1+col102 * 1+col103 * 1+col104 * 1+col105 * 1+col106 * 1+col107 * 1+col108 * 1+col109 * 1+col110 * 1+col111 * 1+col112 * 1+col113 * 1+col114 * 1+col115 * 1+col116 * 1+col117 * 1+col118 * 1+col119 * 1+col120 * 1+col121 * 1+col122 * 1+col123 * 1+col124 * 1+col125 * 1+col126 * 1+col127 * 1+col128 * 1+col129 * 1+col130 * 1+col131 * 1+col132 * 1+col133 * 1+col134 * 1+col135 * 1+col136 * 1+col137 * 1+col138 * 1+col139 * 1+col140 * 1+col141 * 1+col142 * 1+col143 * 1+col144 * 1+col145 * 1+col146 * 1+col147 * 1+col148 * 1+col149 * 1+col150 * 1+col151 * 1+col152 * 1+col153 * 1+col154 * 1+col155 * 1+col156 * 1+col157 * 1+col158 * 1+col159 * 1+col160 * 1+col161 * 1+col162 * 1+col163 * 1+col164 * 1+col165 * 1+col166 * 1+col167 * 1+col168 * 1+col169 * 1+col170 * 1+col171 * 1+col172 * 1+col173 * 1+col174 * 1+col175 * 1+col176 * 1+col177 * 1+col178 * 1+col179 * 1+col180 * 1+col181 * 1+col182 * 1+col183 * 1+col184 * 1+col185 * 1+col186 * 1+col187 * 1+col188 * 1+col189 * 1+col190 * 1+col191 * 1+col192 * 1+col193 * 1+col194 * 1+col195 * 1+col196 * 1+col197 * 1+col198 * 1+col199 * 1+col200 * 1+col201 * 1+col202 * 1+col203 * 1+col204 * 1+col205 * 1+col206 * 1+col207 * 1+col208 * 1+col209 * 1+col210 * 1+col211 * 1+col212 * 1+col213 * 1+col214 * 1+col215 * 1+col216 * 1+col217 * 1+col218 * 1+col219 * 1+col220 * 1+col221 * 1+col222 * 1+col223 * 1+col224 * 1+col225 * 1+col226 * 1+col227 * 1+col228 * 1+col229 * 1+col230 * 1+col231 * 1+col232 * 1+col233 * 1+col234 * 1+col235 * 1+col236 * 1+col237 * 1+col238 * 1+col239 * 1+col240 * 1+col241 * 1+col242 * 1+col243 * 1+col244 * 1+col245 * 1+col246 * 1+col247 * 1+col248 * 1+col249 * 1+col250 * 1+col251 * 1+col252 * 1+col253 * 1+col254 * 1+col255 * 1+col256 * 1+col257 * 1+col258 * 1+col259 * 1+col260 * 1+col261 * 1+col262 * 1+col263 * 1+col264 * 1+col265 * 1+col266 * 1+col267 * 1+col268 * 1+col269 * 1+col270 * 1+col271 * 1+col272 * 1+col273 * 1+col274 * 1+col275 * 1+col276 * 1+col277 * 1+col278 * 1+col279 * 1+col280 * 1+col281 * 1+col282 * 1+col283 * 1+col284 * 1+col285 * 1+col286 * 1+col287 * 1+col288 * 1+col289 * 1+col290 * 1+col291 * 1+col292 * 1+col293 * 1+col294 * 1+col295 * 1+col296 * 1+col297 * 1) + 0.0 > 0
THEN CAST ((col0 * 1+col1 * 1+col2 * 1+col3 * 1+col4 * 1+col5 * 1+col6 * 1+col7 * 1+col8 * 1+col9 * 1+col10 * 1+col11 * 1+col12 * 1+col13 * 1+col14 * 1+col15 * 1+col16 * 1+col17 * 1+col18 * 1+col19 * 1+col20 * 1+col21 * 1+col22 * 1+col23 * 1+col24 * 1+col25 * 1+col26 * 1+col27 * 1+col28 * 1+col29 * 1+col30 * 1+col31 * 1+col32 * 1+col33 * 1+col34 * 1+col35 * 1+col36 * 1+col37 * 1+col38 * 1+col39 * 1+col40 * 1+col41 * 1+col42 * 1+col43 * 1+col44 * 1+col45 * 1+col46 * 1+col47 * 1+col48 * 1+col49 * 1+col50 * 1+col51 * 1+col52 * 1+col53 * 1+col54 * 1+col55 * 1+col56 * 1+col57 * 1+col58 * 1+col59 * 1+col60 * 1+col61 * 1+col62 * 1+col63 * 1+col64 * 1+col65 * 1+col66 * 1+col67 * 1+col68 * 1+col69 * 1+col70 * 1+col71 * 1+col72 * 1+col73 * 1+col74 * 1+col75 * 1+col76 * 1+col77 * 1+col78 * 1+col79 * 1+col80 * 1+col81 * 1+col82 * 1+col83 * 1+col84 * 1+col85 * 1+col86 * 1+col87 * 1+col88 * 1+col89 * 1+col90 * 1+col91 * 1+col92 * 1+col93 * 1+col94 * 1+col95 * 1+col96 * 1+col97 * 1+col98 * 1+col99 * 1+col100 * 1+col101 * 1+col102 * 1+col103 * 1+col104 * 1+col105 * 1+col106 * 1+col107 * 1+col108 * 1+col109 * 1+col110 * 1+col111 * 1+col112 * 1+col113 * 1+col114 * 1+col115 * 1+col116 * 1+col117 * 1+col118 * 1+col119 * 1+col120 * 1+col121 * 1+col122 * 1+col123 * 1+col124 * 1+col125 * 1+col126 * 1+col127 * 1+col128 * 1+col129 * 1+col130 * 1+col131 * 1+col132 * 1+col133 * 1+col134 * 1+col135 * 1+col136 * 1+col137 * 1+col138 * 1+col139 * 1+col140 * 1+col141 * 1+col142 * 1+col143 * 1+col144 * 1+col145 * 1+col146 * 1+col147 * 1+col148 * 1+col149 * 1+col150 * 1+col151 * 1+col152 * 1+col153 * 1+col154 * 1+col155 * 1+col156 * 1+col157 * 1+col158 * 1+col159 * 1+col160 * 1+col161 * 1+col162 * 1+col163 * 1+col164 * 1+col165 * 1+col166 * 1+col167 * 1+col168 * 1+col169 * 1+col170 * 1+col171 * 1+col172 * 1+col173 * 1+col174 * 1+col175 * 1+col176 * 1+col177 * 1+col178 * 1+col179 * 1+col180 * 1+col181 * 1+col182 * 1+col183 * 1+col184 * 1+col185 * 1+col186 * 1+col187 * 1+col188 * 1+col189 * 1+col190 * 1+col191 * 1+col192 * 1+col193 * 1+col194 * 1+col195 * 1+col196 * 1+col197 * 1+col198 * 1+col199 * 1+col200 * 1+col201 * 1+col202 * 1+col203 * 1+col204 * 1+col205 * 1+col206 * 1+col207 * 1+col208 * 1+col209 * 1+col210 * 1+col211 * 1+col212 * 1+col213 * 1+col214 * 1+col215 * 1+col216 * 1+col217 * 1+col218 * 1+col219 * 1+col220 * 1+col221 * 1+col222 * 1+col223 * 1+col224 * 1+col225 * 1+col226 * 1+col227 * 1+col228 * 1+col229 * 1+col230 * 1+col231 * 1+col232 * 1+col233 * 1+col234 * 1+col235 * 1+col236 * 1+col237 * 1+col238 * 1+col239 * 1+col240 * 1+col241 * 1+col242 * 1+col243 * 1+col244 * 1+col245 * 1+col246 * 1+col247 * 1+col248 * 1+col249 * 1+col250 * 1+col251 * 1+col252 * 1+col253 * 1+col254 * 1+col255 * 1+col256 * 1+col257 * 1+col258 * 1+col259 * 1+col260 * 1+col261 * 1+col262 * 1+col263 * 1+col264 * 1+col265 * 1+col266 * 1+col267 * 1+col268 * 1+col269 * 1+col270 * 1+col271 * 1+col272 * 1+col273 * 1+col274 * 1+col275 * 1+col276 * 1+col277 * 1+col278 * 1+col279 * 1+col280 * 1+col281 * 1+col282 * 1+col283 * 1+col284 * 1+col285 * 1+col286 * 1+col287 * 1+col288 * 1+col289 * 1+col290 * 1+col291 * 1+col292 * 1+col293 * 1+col294 * 1+col295 * 1+col296 * 1+col297 * 1) AS FLOAT(8))
ELSE CAST ((col0 * 1+col1 * 1+col2 * 1+col3 * 1+col4 * 1+col5 * 1+col6 * 1+col7 * 1+col8 * 1+col9 * 1+col10 * 1+col11 * 1+col12 * 1+col13 * 1+col14 * 1+col15 * 1+col16 * 1+col17 * 1+col18 * 1+col19 * 1+col20 * 1+col21 * 1+col22 * 1+col23 * 1+col24 * 1+col25 * 1+col26 * 1+col27 * 1+col28 * 1+col29 * 1+col30 * 1+col31 * 1+col32 * 1+col33 * 1+col34 * 1+col35 * 1+col36 * 1+col37 * 1+col38 * 1+col39 * 1+col40 * 1+col41 * 1+col42 * 1+col43 * 1+col44 * 1+col45 * 1+col46 * 1+col47 * 1+col48 * 1+col49 * 1+col50 * 1+col51 * 1+col52 * 1+col53 * 1+col54 * 1+col55 * 1+col56 * 1+col57 * 1+col58 * 1+col59 * 1+col60 * 1+col61 * 1+col62 * 1+col63 * 1+col64 * 1+col65 * 1+col66 * 1+col67 * 1+col68 * 1+col69 * 1+col70 * 1+col71 * 1+col72 * 1+col73 * 1+col74 * 1+col75 * 1+col76 * 1+col77 * 1+col78 * 1+col79 * 1+col80 * 1+col81 * 1+col82 * 1+col83 * 1+col84 * 1+col85 * 1+col86 * 1+col87 * 1+col88 * 1+col89 * 1+col90 * 1+col91 * 1+col92 * 1+col93 * 1+col94 * 1+col95 * 1+col96 * 1+col97 * 1+col98 * 1+col99 * 1+col100 * 1+col101 * 1+col102 * 1+col103 * 1+col104 * 1+col105 * 1+col106 * 1+col107 * 1+col108 * 1+col109 * 1+col110 * 1+col111 * 1+col112 * 1+col113 * 1+col114 * 1+col115 * 1+col116 * 1+col117 * 1+col118 * 1+col119 * 1+col120 * 1+col121 * 1+col122 * 1+col123 * 1+col124 * 1+col125 * 1+col126 * 1+col127 * 1+col128 * 1+col129 * 1+col130 * 1+col131 * 1+col132 * 1+col133 * 1+col134 * 1+col135 * 1+col136 * 1+col137 * 1+col138 * 1+col139 * 1+col140 * 1+col141 * 1+col142 * 1+col143 * 1+col144 * 1+col145 * 1+col146 * 1+col147 * 1+col148 * 1+col149 * 1+col150 * 1+col151 * 1+col152 * 1+col153 * 1+col154 * 1+col155 * 1+col156 * 1+col157 * 1+col158 * 1+col159 * 1+col160 * 1+col161 * 1+col162 * 1+col163 * 1+col164 * 1+col165 * 1+col166 * 1+col167 * 1+col168 * 1+col169 * 1+col170 * 1+col171 * 1+col172 * 1+col173 * 1+col174 * 1+col175 * 1+col176 * 1+col177 * 1+col178 * 1+col179 * 1+col180 * 1+col181 * 1+col182 * 1+col183 * 1+col184 * 1+col185 * 1+col186 * 1+col187 * 1+col188 * 1+col189 * 1+col190 * 1+col191 * 1+col192 * 1+col193 * 1+col194 * 1+col195 * 1+col196 * 1+col197 * 1+col198 * 1+col199 * 1+col200 * 1+col201 * 1+col202 * 1+col203 * 1+col204 * 1+col205 * 1+col206 * 1+col207 * 1+col208 * 1+col209 * 1+col210 * 1+col211 * 1+col212 * 1+col213 * 1+col214 * 1+col215 * 1+col216 * 1+col217 * 1+col218 * 1+col219 * 1+col220 * 1+col221 * 1+col222 * 1+col223 * 1+col224 * 1+col225 * 1+col226 * 1+col227 * 1+col228 * 1+col229 * 1+col230 * 1+col231 * 1+col232 * 1+col233 * 1+col234 * 1+col235 * 1+col236 * 1+col237 * 1+col238 * 1+col239 * 1+col240 * 1+col241 * 1+col242 * 1+col243 * 1+col244 * 1+col245 * 1+col246 * 1+col247 * 1+col248 * 1+col249 * 1+col250 * 1+col251 * 1+col252 * 1+col253 * 1+col254 * 1+col255 * 1+col256 * 1+col257 * 1+col258 * 1+col259 * 1+col260 * 1+col261 * 1+col262 * 1+col263 * 1+col264 * 1+col265 * 1+col266 * 1+col267 * 1+col268 * 1+col269 * 1+col270 * 1+col271 * 1+col272 * 1+col273 * 1+col274 * 1+col275 * 1+col276 * 1+col277 * 1+col278 * 1+col279 * 1+col280 * 1+col281 * 1+col282 * 1+col283 * 1+col284 * 1+col285 * 1+col286 * 1+col287 * 1+col288 * 1+col289 * 1+col290 * 1+col291 * 1+col292 * 1+col293 * 1+col294 * 1+col295 * 1+col296 * 1+col297 * 1) * 0.5 AS FLOAT(8))
END AS result_col
FROM test_many_columns_table;
"""
filter_stack.run(sql)