Changeset 26469
- Timestamp:
- 06/28/10 17:15:09 (3 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/ragnaroek/midgard/core/midgard/src/midgard_core_query_builder.c
r26203 r26469 204 204 gboolean multilang_fallback = _midgard_core_qb_is_multilingual(builder); 205 205 gboolean unset_lang = builder->priv->unset_lang; 206 const gchar *multilang_order = "ASC";207 206 GString *ml_sql = g_string_new ("");; 208 207 … … 396 395 } 397 396 398 if (multilang_fallback && !unset_lang) {399 400 if (!builder->priv->orders)401 g_string_append (sql, " ORDER BY ");402 else403 g_string_append (sql, ", ");404 405 if (mgd_lang (mgd) > mgd_get_default_lang (mgd))406 multilang_order = "DESC";407 408 g_string_append_printf (sql, "%s_i.lang %s ",409 builder->priv->schema->table, multilang_order);410 }411 412 397 g_string_append (ml_sql, sql->str); 413 398 g_string_free (sql, TRUE); branches/ragnaroek/midgard/core/midgard/src/query_builder.c
r26266 r26469 115 115 builder->priv->limit = G_MAXUINT; 116 116 117 118 /* Part of Multilang fallback */ 119 gboolean multilang_fallback = _midgard_core_qb_is_multilingual(builder); 120 gboolean unset_lang = builder->priv->unset_lang; 121 const gchar *multilang_order = "ASC"; 122 123 /* Add lang order implicitly, it must be added as first order */ 124 if (multilang_fallback && !unset_lang) { 125 126 if (mgd_lang (mgd) > mgd_get_default_lang (mgd)) 127 multilang_order = "DESC"; 128 129 midgard_query_builder_add_order(builder, "lang", multilang_order); 130 } 131 117 132 if (builder->priv->type && builder->priv->schema) { 118 133 return builder; … … 121 136 return NULL; 122 137 } 138 139 123 140 } 124 141
