aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/grils/grils.go65
1 files changed, 60 insertions, 5 deletions
diff --git a/modules/grils/grils.go b/modules/grils/grils.go
index 791ea5e..116b689 100644
--- a/modules/grils/grils.go
+++ b/modules/grils/grils.go
@@ -159,16 +159,71 @@ func (m *GrilsModule) FromID(id int) (*Gril, error) {
159 gril := &Gril{ 159 gril := &Gril{
160 ID: id, 160 ID: id,
161 } 161 }
162 var tags []byte 162 t1 := time.Now()
163 var otherNames []byte 163 err := m.g.DB.QueryRow(`SELECT updated_at, age, birthday FROM grilist.grils WHERE id = $1`, id).Scan(&gril.UpdatedAt, &gril.Age, &gril.Birthday)
164 err := m.g.DB.QueryRow(`SELECT kanji_name, romaji_name, other_names, updated_at, age, birthday, tags FROM grilist.grils_flattened WHERE id = $1`, id).Scan(&gril.KanjiName, &gril.RomajiName, &otherNames, &gril.UpdatedAt, &gril.Age, &gril.Birthday, &tags) 164 log.Printf("get_gril_from_id_raw: %dms", time.Since(t1).Nanoseconds()/1000000)
165 165
166 gril.Tags = pgArray(tags)
167 gril.OtherNames = pgArray(otherNames)
168 if err != nil { 166 if err != nil {
169 return nil, err 167 return nil, err
170 } 168 }
169
170 // Namen rausholen
171 rows, err := m.g.DB.Query(`SELECT name, name_type FROM grilist.gril_names WHERE gril_id = $1`, id)
172 if err != nil {
173 return nil, err
174 }
175 log.Printf("get_gril_from_id_names: %dms", time.Since(t1).Nanoseconds()/1000000)
176 defer rows.Close()
177
178 for rows.Next() {
179 var name string
180 var name_type int
181 if err := rows.Scan(&name, &name_type); err != nil {
182 return nil, err
183 }
184
185 switch name_type {
186 case 0:
187 gril.KanjiName = name
188 break
189 case 1:
190 gril.RomajiName = name
191 default:
192 gril.OtherNames = append(gril.OtherNames, name)
193 }
194 }
195 /*rows, err := m.g.DB.Query(`SELECT name FROM grilist.gril_names WHERE gril_id = $1 AND name_type > 1`, id)
196 if err != nil {
197 return nil, err
198 }
199 defer rows.Close()
200
201 for rows.Next() {
202 var name string
203 if err := rows.Scan(&name); err != nil {
204 return nil, err
205 }
206 gril.OtherNames = append(gril.OtherNames, name)
207 }
208 rows.Close()
209
210 // Tags holen
211 rows, err := m.g.DB.Query(`SELECT name FROM grilist.tags WHERE id IN (SELECT tag_id FROM grilist.grils_tags WHERE gril_id = $1)`, id)
212 if err != nil {
213 return nil, err
214 }
215 defer rows.Close()
216
217 for rows.Next() {
218 var name string
219 if err := rows.Scan(&name); err != nil {
220 return nil, err
221 }
222 gril.Tags = append(gril.Tags, name)
223 }*/
224
171 m.c.Insert(id, gril) 225 m.c.Insert(id, gril)
226 log.Printf("get_gril_from_id: %dms", time.Since(t1).Nanoseconds()/1000000)
172 return gril, nil 227 return gril, nil
173} 228}
174 229