MCPcopy
hub / github.com/ponyorm/pony / init

Method init

pony/orm/sqltranslation.py:249–529  ·  view source on GitHub ↗
(translator, tree, parent_translator, code_key=None, filter_num=None, extractors=None, vars=None, vartypes=None, left_join=False, optimize=None)

Source from the content-addressed store, hash-verified

247 # the translator we take from the stack may be different from the translator that we pushed above
248
249 def init(translator, tree, parent_translator, code_key=None, filter_num=None, extractors=None, vars=None, vartypes=None, left_join=False, optimize=None):
250 this = translator
251 assert isinstance(tree, ast.GeneratorExp), tree
252 translator.can_be_cached = True
253 translator.parent = parent_translator
254 translator.injected = False
255 if parent_translator is None:
256 translator.root_translator = translator
257 translator.database = None
258 translator.sqlquery = SqlQuery(translator, left_join=left_join)
259 assert code_key is not None and filter_num is not None
260 translator.code_key = translator.original_code_key = code_key
261 translator.filter_num = translator.original_filter_num = filter_num
262 else:
263 translator.root_translator = parent_translator.root_translator
264 translator.database = parent_translator.database
265 translator.sqlquery = SqlQuery(translator, parent_translator.sqlquery, left_join=left_join)
266 assert code_key is None and filter_num is None
267 translator.code_key = parent_translator.code_key
268 translator.filter_num = parent_translator.filter_num
269 translator.original_code_key = translator.original_filter_num = None
270 translator.extractors = extractors
271 translator.vars = vars
272 translator.vartypes = vartypes
273 translator.namespace_stack = [{}] if not parent_translator else [ parent_translator.namespace.copy() ]
274 translator.func_extractors_map = {}
275 translator.fixed_param_values = {}
276 translator.func_vartypes = {}
277 translator.left_join = left_join
278 translator.optimize = optimize
279 translator.from_optimized = False
280 translator.optimization_failed = False
281 translator.distinct = False
282 translator.conditions = translator.sqlquery.conditions
283 translator.having_conditions = []
284 translator.order = []
285 translator.limit = translator.offset = None
286 translator.inside_order_by = False
287 translator.aggregated = False if not optimize else True
288 translator.hint_join = False
289 translator.query_result_is_cacheable = True
290 translator.aggregated_subquery_paths = set()
291 for i, generator in enumerate(tree.generators):
292 target = generator.target
293 if isinstance(target, ast.Tuple):
294 ass_names = tuple(target.elts)
295 elif isinstance(target, ast.Name):
296 ass_names = (target,)
297 else:
298 throw(NotImplementedError, ast2src(target))
299
300 for ass_name in ass_names:
301 if not isinstance(ass_name, ast.Name):
302 throw(NotImplementedError, ast2src(ass_name))
303 if not isinstance(ass_name.ctx, ast.Store):
304 throw(TypeError, ast2src(ass_name))
305
306 names = tuple(ass_name.id for ass_name in ass_names)

Callers 1

__init__Method · 0.45

Calls 15

make_joinMethod · 0.95
throwFunction · 0.90
ast2srcFunction · 0.90
SqlQueryClass · 0.85
TableRefClass · 0.85
ObjectIterMonadClass · 0.85
_subselectMethod · 0.80
deepcopyMethod · 0.80
process_query_qualMethod · 0.80
appendMethod · 0.80
reverseMethod · 0.80

Tested by

no test coverage detected