MCPcopy Create free account
hub / github.com/araddon/qlbridge / SqlSelectFromPb

Function SqlSelectFromPb

rel/sql.go:1095–1140  ·  view source on GitHub ↗

SqlSelectFromPb take a protobuf select struct and conver to SqlSelect

(pb *SqlSelectPb)

Source from the content-addressed store, hash-verified

1093
1094// SqlSelectFromPb take a protobuf select struct and conver to SqlSelect
1095func SqlSelectFromPb(pb *SqlSelectPb) *SqlSelect {
1096 ss := SqlSelect{
1097 Db: pb.GetDb(),
1098 Raw: pb.GetRaw(),
1099 Star: pb.GetStar(),
1100 Distinct: pb.GetDistinct(),
1101 Alias: pb.GetAlias(),
1102 Limit: int(pb.GetLimit()),
1103 Offset: int(pb.GetOffset()),
1104 isAgg: pb.GetIsAgg(),
1105 finalized: pb.GetFinalized(),
1106 schemaqry: pb.GetSchemaqry(),
1107 }
1108 if pb.Into != nil {
1109 ss.Into = &SqlInto{pb.GetInto()}
1110 }
1111 if pb.Where != nil {
1112 ss.Where = SqlWhereFromPb(pb.GetWhere())
1113 }
1114 if pb.Having != nil {
1115 ss.Having = expr.NodeFromNodePb(pb.GetHaving())
1116 }
1117 if pb.Projection != nil {
1118 ss.proj = ProjectionFromPb(pb.GetProjection())
1119 }
1120 if len(pb.Columns) > 0 {
1121 ss.Columns = ColumnsFromPb(pb.GetColumns())
1122 }
1123 if len(pb.GroupBy) > 0 {
1124 ss.GroupBy = ColumnsFromPb(pb.GetGroupBy())
1125 }
1126 if len(pb.OrderBy) > 0 {
1127 ss.OrderBy = ColumnsFromPb(pb.GetOrderBy())
1128 }
1129 if len(pb.From) > 0 {
1130 ss.From = make([]*SqlSource, len(pb.From))
1131 for i, fpb := range pb.From {
1132 ss.From[i] = SqlSourceFromPb(fpb)
1133 }
1134 }
1135 if len(pb.With) > 0 {
1136 ss.With = make(u.JsonHelper)
1137 json.Unmarshal(pb.With, &ss.With)
1138 }
1139 return &ss
1140}
1141func (m *SqlSelect) IsAggQuery() bool {
1142 if m.isAgg || len(m.GroupBy) > 0 {
1143 return true

Callers 9

SelectFromPBFunction · 0.92
WhereFromPBFunction · 0.92
HavingFromPBFunction · 0.92
GroupByFromPBFunction · 0.92
OrderFromPBFunction · 0.92
FromPBMethod · 0.85
CopyMethod · 0.85
SqlSourceFromPbFunction · 0.85
SqlWhereFromPbFunction · 0.85

Calls 15

NodeFromNodePbFunction · 0.92
SqlWhereFromPbFunction · 0.85
ProjectionFromPbFunction · 0.85
ColumnsFromPbFunction · 0.85
SqlSourceFromPbFunction · 0.85
GetDbMethod · 0.80
GetLimitMethod · 0.80
GetOffsetMethod · 0.80
GetIsAggMethod · 0.80
GetFinalizedMethod · 0.80
GetSchemaqryMethod · 0.80
GetIntoMethod · 0.80

Tested by

no test coverage detected