in server/schema_handler.go [165:204]
func handleSchemaListCmd(w http.ResponseWriter, t *schemaReq) error {
var err error
var cond string
var args = make([]interface{}, 0)
cond, args = state.AddSQLCond(cond, args, "AND", "name", "=", t.Name)
cond, args = state.AddSQLCond(cond, args, "AND", "type", "=", t.Type)
cond, args = state.AddSQLCond(cond, args, "AND", "schema_body", "=", t.Body)
cond, args = addFilter(cond, args, []string{"name", "type", "schema_body"}, t.Filter)
if cond != "" {
cond = " WHERE " + cond
}
if t.Offset != 0 || t.Limit != 0 {
if t.Limit == 0 && t.Offset != 0 {
t.Limit = int64((^uint64(0)) >> 1) //MaxInt
}
cond += fmt.Sprintf(" LIMIT %v,%v", t.Offset, t.Limit)
}
var rows []state.SchemaRow
if rows, err = state.ListOutputSchema(cond, args...); err == nil {
var resp []byte
for _, v := range rows {
var b []byte
if b, err = json.Marshal(v); err != nil {
break
}
resp = append(resp, b...)
resp = append(resp, '\n')
}
if err == nil {
_, err = w.Write(resp)
}
}
return err
}