use the class hint for the fully qualified field name, instead of the table (which...
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 17 Apr 2008 18:04:26 +0000 (18:04 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 17 Apr 2008 18:04:26 +0000 (18:04 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@9372 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/c-apps/oils_cstore.c
Open-ILS/src/sql/Pg/002.functions.config.sql

index 24a9dd3..ce5dbdc 100644 (file)
@@ -1868,7 +1868,7 @@ static char* SELECT (
                            char* pkey = osrfHashGet(idlClass, "primarykey");
                            char* tname = osrfHashGet(idlClass, "tablename");
 
-                        buffer_fadd(select_buf, " oils_i18n_xlate('%s', '%s', '%s', \"%s\".%s::TEXT, '%s') AS \"%s\"", tname, __column, pkey, cname, pkey, locale, __column);
+                        buffer_fadd(select_buf, " oils_i18n_xlate('%s', '%s', '%s', '%s', \"%s\".%s::TEXT, '%s') AS \"%s\"", tname, cname, __column, pkey, cname, pkey, locale, __column);
                     } else {
                                        buffer_fadd(select_buf, " \"%s\".%s AS \"%s\"", cname, __column, __column);
                     }
@@ -1912,7 +1912,7 @@ static char* SELECT (
                                char* pkey = osrfHashGet(idlClass, "primarykey");
                                char* tname = osrfHashGet(idlClass, "tablename");
 
-                            buffer_fadd(select_buf, " oils_i18n_xlate('%s', '%s', '%s', \"%s\".%s::TEXT, '%s') AS \"%s\"", tname, fname, pkey, cname, pkey, locale, __alias);
+                            buffer_fadd(select_buf, " oils_i18n_xlate('%s', '%s', '%s', '%s', \"%s\".%s::TEXT, '%s') AS \"%s\"", tname, cname, fname, pkey, cname, pkey, locale, __alias);
                         } else {
                                                buffer_fadd(select_buf, " \"%s\".%s AS \"%s\"", cname, fname, __alias);
                         }
@@ -2285,7 +2285,7 @@ static char* buildSELECT ( jsonObject* search_hash, jsonObject* order_hash, osrf
                        char* pkey = osrfHashGet(idlClass, "primarykey");
                        char* tname = osrfHashGet(idlClass, "tablename");
 
-                    buffer_fadd(select_buf, " oils_i18n_xlate('%s', '%s', '%s', \"%s\".%s::TEXT, '%s') AS \"%s\"", tname, fname, pkey, cname, pkey, locale, fname);
+                    buffer_fadd(select_buf, " oils_i18n_xlate('%s', '%s', '%s', '%s', \"%s\".%s::TEXT, '%s') AS \"%s\"", tname, cname, fname, pkey, cname, pkey, locale, fname);
                 } else {
                                buffer_fadd(select_buf, " \"%s\".%s", cname, fname);
                 }
index bb327c9..ded3995 100644 (file)
@@ -40,13 +40,13 @@ $_$ LANGUAGE SQL;
 
 */
 
-CREATE OR REPLACE FUNCTION oils_i18n_xlate ( keytable TEXT, keycol TEXT, identcol TEXT, keyvalue TEXT, raw_locale TEXT ) RETURNS TEXT AS $func$
+CREATE OR REPLACE FUNCTION oils_i18n_xlate ( keytable TEXT, keyclass TEXT, keycol TEXT, identcol TEXT, keyvalue TEXT, raw_locale TEXT ) RETURNS TEXT AS $func$
 DECLARE
     locale      TEXT := LOWER( REGEXP_REPLACE( REGEXP_REPLACE( raw_locale, E'[;, ].+$', '' ), E'-', '_', 'g' ) );
     language    TEXT := REGEXP_REPLACE( locale, E'_.+$', '' );
     result      config.i18n_core%ROWTYPE;
     fallback    TEXT;
-    keyfield    TEXT := keytable || '.' || keycol;
+    keyfield    TEXT := keyclass || '.' || keycol;
 BEGIN
 
     -- Try the full locale