def field(self, model, field): c = Context(namespace=Names.Create.ColumnsLevel) c.varColumnName = field.Name c.varColumnType = field.StorageType for feature in field.features: feature.createHook(self, field, c) return c
def gene(): nonlocal context assert len(self._fields) if self._where: context.varWhereExpr = str(self._where) for field, expr in self._fields: c = Context(namespace=Names.Update.ColumnsLevel) c.varColumnName = field.Name c.varColumnUpdateExpr = expr context.level(c) return self.builder.build(context)
def sql(self): table = self.model.Name context = Context(namespace=Names.Select) context.varSelectTable = table if self._where: context.varWhereExpr = str(self._where) if self._fields: names = [f.name for f in self._fields] for name in names: c = Context(namespace=Names.Select.ColumnsLevel) c.varTableName = table c.varColumnName = name context.level(c) return self.builder.build(context)