[glom] Add a test of export with a large number.



commit fed0ddaacb3f381c73683b0e6c8b48908fc205d3
Author: Murray Cumming <murrayc murrayc com>
Date:   Wed Mar 9 23:54:28 2016 +0100

    Add a test of export with a large number.
    
    This tests the fix for bug #763229 .

 Makefile_tests.am                                  |    9 +-
 ...test_example_music_collection_with_big_num.glom | 1533 ++++++++++++++++++++
 ...est_selfhosting_new_then_export_with_big_num.cc |   80 +
 3 files changed, 1621 insertions(+), 1 deletions(-)
---
diff --git a/Makefile_tests.am b/Makefile_tests.am
index c705f20..23015b0 100644
--- a/Makefile_tests.am
+++ b/Makefile_tests.am
@@ -42,6 +42,7 @@ check_PROGRAMS =                                              \
        tests/test_selfhosting_new_from_example_operator \
        tests/test_selfhosting_new_from_example_strangepath \
        tests/test_selfhosting_new_then_export \
+       tests/test_selfhosting_new_then_export_with_big_num \
        tests/test_selfhosting_new_then_report \
        tests/test_selfhosting_new_then_report_summary \
        tests/test_selfhosting_new_then_image \
@@ -89,6 +90,7 @@ TESTS =       tests/test_document_load        \
        tests/test_selfhosting_new_from_example_in_locales.sh \
        tests/test_selfhosting_new_from_example_strangepath \
        tests/test_selfhosting_new_then_export \
+       tests/test_selfhosting_new_then_export_with_big_num \
        tests/test_selfhosting_new_then_report \
        tests/test_selfhosting_new_then_report_summary \
        tests/test_selfhosting_new_then_backup_restore \
@@ -221,7 +223,8 @@ dist_noinst_DATA = \
        tests/test_image2.jpg \
        tests/test_image.pdf \
        tests/test_image2.pdf \
-       tests/test_example_music_collection_text_pk_fields.glom
+       tests/test_example_music_collection_text_pk_fields.glom \
+       tests/test_example_music_collection_with_big_num.glom
 
 # Let the .cc source code know about this path:
 glom_test_import_defines = -DGLOM_TESTS_IMPORT_DATA_NOTINSTALLED=\""$(abs_top_srcdir)/tests/import/data/"\"
@@ -310,6 +313,10 @@ tests_test_selfhosting_new_then_export_SOURCES = tests/test_selfhosting_new_then
 tests_test_selfhosting_new_then_export_LDADD = $(tests_ldadd)
 tests_test_selfhosting_new_then_export_CPPFLAGS = $(tests_cppflags)
 
+tests_test_selfhosting_new_then_export_with_big_num_SOURCES = 
tests/test_selfhosting_new_then_export_with_big_num.cc $(sources_test_selfhosting_utils)
+tests_test_selfhosting_new_then_export_with_big_num_LDADD = $(tests_ldadd)
+tests_test_selfhosting_new_then_export_with_big_num_CPPFLAGS = $(tests_cppflags)
+
 tests_test_selfhosting_new_then_report_SOURCES = tests/test_selfhosting_new_then_report.cc 
$(sources_test_selfhosting_utils)
 tests_test_selfhosting_new_then_report_LDADD = $(tests_ldadd)
 tests_test_selfhosting_new_then_report_CPPFLAGS = $(tests_cppflags)
diff --git a/tests/test_example_music_collection_with_big_num.glom 
b/tests/test_example_music_collection_with_big_num.glom
new file mode 100644
index 0000000..d761bd8
--- /dev/null
+++ b/tests/test_example_music_collection_with_big_num.glom
@@ -0,0 +1,1533 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glom_document xmlns="http://glom.org/glom_document"; translation_original_locale="en" database_title="Music 
Collection" is_example="true" format_version="9" title="Music Collection">
+  <trans_set>
+    <trans loc="cs" val="Hudební sbírka"/>
+    <trans loc="de" val="Musiksammlung"/>
+    <trans loc="el" val="Μουσική συλλογή"/>
+    <trans loc="es" val="Colección de música"/>
+    <trans loc="eu" val="Musika bilduma"/>
+    <trans loc="fr" val="Collection de musique"/>
+    <trans loc="gl" val="Colección de música"/>
+    <trans loc="hu" val="Zenegyűjtemény"/>
+    <trans loc="id" val="Koleksi Musik"/>
+    <trans loc="lv" val="Mūzikas kolekcija"/>
+    <trans loc="pt_BR" val="Coleção de música"/>
+    <trans loc="sl" val="Zbirka glasbe"/>
+    <trans loc="sr" val="Музичка збирка"/>
+    <trans loc="sr latin" val="Muzička zbirka"/>
+    <trans loc="zh_CN" val="音乐收藏"/>
+  </trans_set>
+  <connection hosting_mode="postgres_self" server="localhost" port="5433" try_other_ports="false" 
database="glom_musiccollection211"/>
+  <table name="albums" overview_x="15" overview_y="9" title="Albums">
+    <example_rows>
+      <example_row>
+        <value column="album_id">3</value>
+        <value column="comments"/>
+        <value column="name">Sign 'O' The Times</value>
+        <value column="artist_id">2</value>
+        <value column="publisher_id">1</value>
+        <value column="year">1987</value>
+      </example_row>
+      <example_row>
+        <value column="album_id">0</value>
+        <value column="comments"/>
+        <value column="name">Born To Run</value>
+        <value column="artist_id">0</value>
+        <value column="publisher_id">0</value>
+        <value column="year">1975</value>
+      </example_row>
+      <example_row>
+        <value column="album_id">2</value>
+        <value column="comments"/>
+        <value column="name">The Wild, the Innocent, &amp; the E-Street Shuffle</value>
+        <value column="artist_id">0</value>
+        <value column="publisher_id">0</value>
+        <value column="year">1973</value>
+      </example_row>
+      <example_row>
+        <value column="album_id">1</value>
+        <value column="comments"/>
+        <value column="name">True Blue</value>
+        <value column="artist_id">1</value>
+        <value column="publisher_id">1</value>
+        <value column="year">1987</value>
+      </example_row>
+      <example_row>
+        <value column="album_id">4</value>
+        <value column="comments"/>
+        <value column="name">Superfly</value>
+        <value column="artist_id">3</value>
+        <value column="publisher_id">2</value>
+        <value column="year">1972</value>
+      </example_row>
+    </example_rows>
+    <trans_set>
+      <trans loc="cs" val="Alba"/>
+      <trans loc="de" val="Alben"/>
+      <trans loc="el" val="Δίσκοι"/>
+      <trans loc="en_US" val="Albums"/>
+      <trans loc="es" val="Álbumes"/>
+      <trans loc="eu" val="Albumak"/>
+      <trans loc="fr" val="Albums"/>
+      <trans loc="gl" val="Álbums"/>
+      <trans loc="hu" val="Albumok"/>
+      <trans loc="id" val="Album"/>
+      <trans loc="lv" val="Albumi"/>
+      <trans loc="pt_BR" val="Álbuns"/>
+      <trans loc="sl" val="Albumi"/>
+      <trans loc="sr" val="Албуми"/>
+      <trans loc="sr latin" val="Albumi"/>
+      <trans loc="zh_CN" val="专辑"/>
+    </trans_set>
+    <title_singular title="Album">
+      <trans_set>
+        <trans loc="en_US" val="Album"/>
+      </trans_set>
+    </title_singular>
+    <fields>
+      <field name="album_id" primary_key="true" unique="true" auto_increment="true" type="Number" 
title="Album ID">
+        <formatting format_thousands_separator="true" format_decimal_places="2"/>
+        <trans_set>
+          <trans loc="cs" val="ID alba"/>
+          <trans loc="de" val="Albenkennung"/>
+          <trans loc="el" val="Αναγνωριστικό δίσκου"/>
+          <trans loc="es" val="ID del álbum"/>
+          <trans loc="eu" val="Albumaren IDa"/>
+          <trans loc="fr" val="ID de l'album"/>
+          <trans loc="gl" val="ID do álbum"/>
+          <trans loc="hu" val="Album azonosító"/>
+          <trans loc="id" val="ID Album"/>
+          <trans loc="lv" val="Albuma ID"/>
+          <trans loc="pt_BR" val="ID de álbum"/>
+          <trans loc="sl" val="ID albuma"/>
+          <trans loc="sr" val="ИБ албума"/>
+          <trans loc="sr latin" val="IB albuma"/>
+          <trans loc="zh_CN" val="专辑编号"/>
+        </trans_set>
+      </field>
+      <field name="comments" type="Text" title="Comments">
+        <formatting format_text_multiline="true"/>
+        <trans_set>
+          <trans loc="cs" val="Poznámky"/>
+          <trans loc="de" val="Kommentare"/>
+          <trans loc="el" val="Σχόλια"/>
+          <trans loc="es" val="Comentarios"/>
+          <trans loc="eu" val="Iruzkinak"/>
+          <trans loc="fr" val="Commentaires"/>
+          <trans loc="gl" val="Comentarios"/>
+          <trans loc="hu" val="Megjegyzések"/>
+          <trans loc="id" val="Komentar"/>
+          <trans loc="lv" val="Komentāri"/>
+          <trans loc="pt_BR" val="Comentários"/>
+          <trans loc="sl" val="Opombe"/>
+          <trans loc="sr" val="Напомене"/>
+          <trans loc="sr latin" val="Napomene"/>
+          <trans loc="zh_CN" val="注释"/>
+        </trans_set>
+      </field>
+      <field name="name" type="Text" title="Name">
+        <formatting/>
+        <trans_set>
+          <trans loc="cs" val="Název"/>
+          <trans loc="de" val="Name"/>
+          <trans loc="el" val="Όνομα"/>
+          <trans loc="es" val="Nombre"/>
+          <trans loc="eu" val="Izena"/>
+          <trans loc="fr" val="Nom"/>
+          <trans loc="gl" val="Nome"/>
+          <trans loc="hu" val="Név"/>
+          <trans loc="id" val="Nama"/>
+          <trans loc="lv" val="Nosaukums"/>
+          <trans loc="pt_BR" val="Nome"/>
+          <trans loc="sl" val="Ime"/>
+          <trans loc="sr" val="Назив"/>
+          <trans loc="sr latin" val="Naziv"/>
+          <trans loc="zh_CN" val="名称"/>
+        </trans_set>
+      </field>
+      <field name="artist_id" type="Number" title="Artist ID">
+        <formatting format_thousands_separator="true" format_decimal_places="2" choices_related="true" 
choices_related_relationship="artist" choices_related_field="artist_id" choices_related_show_all="true">
+          <choices_related_extra_layout>
+            <data_layout_groups>
+              <data_layout_group>
+                <data_layout_item name="name" editable="true" use_default_formatting="true">
+                  <formatting/>
+                </data_layout_item>
+              </data_layout_group>
+            </data_layout_groups>
+          </choices_related_extra_layout>
+        </formatting>
+        <trans_set>
+          <trans loc="cs" val="ID umělce"/>
+          <trans loc="de" val="Künstlerkennung"/>
+          <trans loc="el" val="Αναγνωριστικό καλλιτέχνη"/>
+          <trans loc="es" val="ID del artista"/>
+          <trans loc="eu" val="Artistaren IDa"/>
+          <trans loc="fr" val="ID de l'artiste"/>
+          <trans loc="gl" val="ID do artista"/>
+          <trans loc="hu" val="Előadó azonosító"/>
+          <trans loc="id" val="ID Artis"/>
+          <trans loc="lv" val="Izpildītāja ID"/>
+          <trans loc="pt_BR" val="ID de artista"/>
+          <trans loc="sl" val="ID izvajalca"/>
+          <trans loc="sr" val="ИБ извођача"/>
+          <trans loc="sr latin" val="IB izvođača"/>
+          <trans loc="zh_CN" val="艺人编号"/>
+        </trans_set>
+      </field>
+      <field name="publisher_id" type="Number" title="Publisher ID">
+        <formatting format_thousands_separator="true" format_decimal_places="2" choices_related="true" 
choices_related_relationship="publisher" choices_related_field="publishers_id" 
choices_related_show_all="true">
+          <choices_related_extra_layout>
+            <data_layout_groups>
+              <data_layout_group>
+                <data_layout_item name="name" editable="true" use_default_formatting="true">
+                  <formatting/>
+                </data_layout_item>
+              </data_layout_group>
+            </data_layout_groups>
+          </choices_related_extra_layout>
+        </formatting>
+        <trans_set>
+          <trans loc="cs" val="ID vydavatele"/>
+          <trans loc="de" val="Herausgeber-Kennung"/>
+          <trans loc="el" val="Αναγνωριστικό εκδότη"/>
+          <trans loc="es" val="ID de la editorial"/>
+          <trans loc="eu" val="Argitaratzailearen IDa"/>
+          <trans loc="fr" val="ID de l'éditeur"/>
+          <trans loc="gl" val="ID da editorial"/>
+          <trans loc="hu" val="Kiadó azonosító"/>
+          <trans loc="id" val="ID Penerbit"/>
+          <trans loc="lv" val="Izdevēja ID"/>
+          <trans loc="pt_BR" val="ID de editor"/>
+          <trans loc="sl" val="ID založnika"/>
+          <trans loc="sr" val="ИБ издавача"/>
+          <trans loc="sr latin" val="IB izdavača"/>
+          <trans loc="zh_CN" val="发行商编号"/>
+        </trans_set>
+      </field>
+      <field name="year" type="Number" title="Year">
+        <formatting format_decimal_places="2"/>
+        <trans_set>
+          <trans loc="cs" val="Rok"/>
+          <trans loc="de" val="Jahr"/>
+          <trans loc="el" val="Έτος"/>
+          <trans loc="es" val="Año"/>
+          <trans loc="eu" val="Urtea"/>
+          <trans loc="fr" val="Année"/>
+          <trans loc="gl" val="Ano"/>
+          <trans loc="hu" val="Év"/>
+          <trans loc="id" val="Tahun"/>
+          <trans loc="lv" val="Gads"/>
+          <trans loc="pt_BR" val="Ano"/>
+          <trans loc="sl" val="Leto"/>
+          <trans loc="sr" val="Година"/>
+          <trans loc="sr latin" val="Godina"/>
+          <trans loc="zh_CN" val="年份"/>
+        </trans_set>
+      </field>
+    </fields>
+    <relationships>
+      <relationship name="artist" key="artist_id" other_table="artists" other_key="artist_id" title="Artist">
+        <trans_set>
+          <trans loc="cs" val="Umělec"/>
+          <trans loc="de" val="Künstler"/>
+          <trans loc="el" val="Καλλιτέχνης"/>
+          <trans loc="es" val="Artista"/>
+          <trans loc="eu" val="Artista"/>
+          <trans loc="fr" val="Artiste"/>
+          <trans loc="gl" val="Artista"/>
+          <trans loc="hu" val="Előadó"/>
+          <trans loc="id" val="Artis"/>
+          <trans loc="lv" val="Izpildītājs"/>
+          <trans loc="pt_BR" val="Artista"/>
+          <trans loc="sl" val="Izvajalec"/>
+          <trans loc="sr" val="Извођач"/>
+          <trans loc="sr latin" val="Izvođač"/>
+          <trans loc="zh_CN" val="艺人"/>
+        </trans_set>
+      </relationship>
+      <relationship name="publisher" key="publisher_id" other_table="publishers" other_key="publishers_id" 
title="Publisher">
+        <trans_set>
+          <trans loc="cs" val="Vydavatel"/>
+          <trans loc="de" val="Herausgeber"/>
+          <trans loc="el" val="Εκδότης"/>
+          <trans loc="es" val="Editorial"/>
+          <trans loc="eu" val="Argitaratzailea"/>
+          <trans loc="fr" val="Éditeur"/>
+          <trans loc="gl" val="Editorial"/>
+          <trans loc="hu" val="Kiadó"/>
+          <trans loc="id" val="Penerbit"/>
+          <trans loc="lv" val="Izdevējs"/>
+          <trans loc="pt_BR" val="Editor"/>
+          <trans loc="sl" val="Založnik"/>
+          <trans loc="sr" val="Издавач"/>
+          <trans loc="sr latin" val="Izdavač"/>
+          <trans loc="zh_CN" val="发行商"/>
+        </trans_set>
+      </relationship>
+      <relationship name="songs" key="album_id" other_table="songs" other_key="album_id" auto_create="true" 
allow_edit="true" title="Songs">
+        <trans_set>
+          <trans loc="cs" val="Skladby"/>
+          <trans loc="de" val="Lieder"/>
+          <trans loc="el" val="Τραγούδια"/>
+          <trans loc="es" val="Canciones"/>
+          <trans loc="eu" val="Abestiak"/>
+          <trans loc="fr" val="Chansons"/>
+          <trans loc="gl" val="Cancións"/>
+          <trans loc="hu" val="Számok"/>
+          <trans loc="id" val="Lagu"/>
+          <trans loc="lv" val="Dziesmas"/>
+          <trans loc="pt_BR" val="Canções"/>
+          <trans loc="sl" val="Skladbe"/>
+          <trans loc="sr" val="Песме"/>
+          <trans loc="sr latin" val="Pesme"/>
+          <trans loc="zh_CN" val="歌曲"/>
+        </trans_set>
+      </relationship>
+    </relationships>
+    <data_layouts>
+      <data_layout name="details">
+        <data_layout_groups>
+          <data_layout_group name="overview" columns_count="2" title="Overview">
+            <trans_set>
+              <trans loc="cs" val="Přehled"/>
+              <trans loc="de" val="Overview"/>
+              <trans loc="el" val="Επισκόπηση"/>
+              <trans loc="es" val="Visión general"/>
+              <trans loc="eu" val="Orokorra"/>
+              <trans loc="fr" val="Résumé"/>
+              <trans loc="gl" val="Vista xeral"/>
+              <trans loc="hu" val="Áttekintés"/>
+              <trans loc="id" val="Ringkasan"/>
+              <trans loc="lv" val="Pārskats"/>
+              <trans loc="pt_BR" val="Visão geral"/>
+              <trans loc="sl" val="Pregled"/>
+              <trans loc="sr" val="Преглед"/>
+              <trans loc="sr latin" val="Pregled"/>
+              <trans loc="zh_CN" val="概述"/>
+            </trans_set>
+            <data_layout_item name="album_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_item name="name" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+          </data_layout_group>
+          <data_layout_group name="details" columns_count="2" title="Details">
+            <trans_set>
+              <trans loc="cs" val="Podrobnosti"/>
+              <trans loc="de" val="Details"/>
+              <trans loc="el" val="Λεπτομέρειες"/>
+              <trans loc="es" val="Detalles"/>
+              <trans loc="eu" val="Xehetasunak"/>
+              <trans loc="fr" val="Détails"/>
+              <trans loc="gl" val="Detalles"/>
+              <trans loc="hu" val="Részletek"/>
+              <trans loc="id" val="Rincian"/>
+              <trans loc="lv" val="Sīkāka informācija"/>
+              <trans loc="pt_BR" val="Detalhes"/>
+              <trans loc="sl" val="Podrobnosti"/>
+              <trans loc="sr" val="Подаци"/>
+              <trans loc="sr latin" val="Podaci"/>
+              <trans loc="zh_CN" val="详情"/>
+            </trans_set>
+            <data_layout_group name="artist" title="Artist">
+              <trans_set>
+                <trans loc="cs" val="Umělec"/>
+                <trans loc="de" val="Artist"/>
+                <trans loc="el" val="Καλλιτέχνης"/>
+                <trans loc="es" val="Artista"/>
+                <trans loc="eu" val="Artista"/>
+                <trans loc="fr" val="Artiste"/>
+                <trans loc="gl" val="Artista"/>
+                <trans loc="hu" val="Előadó"/>
+                <trans loc="id" val="Artis"/>
+                <trans loc="lv" val="Izpildītājs"/>
+                <trans loc="pt_BR" val="Artista"/>
+                <trans loc="sl" val="Izvajalec"/>
+                <trans loc="sr" val="Извођач"/>
+                <trans loc="sr latin" val="Izvođač"/>
+                <trans loc="zh_CN" val="艺人"/>
+              </trans_set>
+              <data_layout_item name="artist_id" editable="true" use_default_formatting="true">
+                <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              </data_layout_item>
+              <data_layout_item name="name" relationship="artist" editable="true" 
use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+            </data_layout_group>
+            <data_layout_group name="publisher" title="Publisher">
+              <trans_set>
+                <trans loc="cs" val="Vydavatel"/>
+                <trans loc="de" val="Publisher"/>
+                <trans loc="el" val="Εκδότης"/>
+                <trans loc="es" val="Editorial"/>
+                <trans loc="eu" val="Argitaratzailea"/>
+                <trans loc="fr" val="Éditeur"/>
+                <trans loc="gl" val="Editorial"/>
+                <trans loc="hu" val="Kiadó"/>
+                <trans loc="id" val="Penerbit"/>
+                <trans loc="lv" val="Izdevējs"/>
+                <trans loc="pt_BR" val="Editor"/>
+                <trans loc="sl" val="Založnik"/>
+                <trans loc="sr" val="Издавач"/>
+                <trans loc="sr latin" val="Izdavač"/>
+                <trans loc="zh_CN" val="发行商"/>
+              </trans_set>
+              <data_layout_item name="publisher_id" editable="true" use_default_formatting="true">
+                <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              </data_layout_item>
+              <data_layout_item name="name" relationship="publisher" editable="true" 
use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+            </data_layout_group>
+            <data_layout_item name="year" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_portal relationship="songs" portal_rows_count_min="6" portal_rows_count_max="6">
+              <data_layout_item name="name" editable="true" use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+            </data_layout_portal>
+            <data_layout_item name="comments" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+          </data_layout_group>
+        </data_layout_groups>
+      </data_layout>
+      <data_layout name="list">
+        <data_layout_groups>
+          <data_layout_group name="toplevel">
+            <data_layout_item name="name" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+            <data_layout_item name="year" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_item name="artist_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_item name="name" relationship="artist" editable="true" 
use_default_formatting="true">
+              <title_custom use_custom="true" title="Artist Name">
+                <trans_set>
+                  <trans loc="cs" val="Jméno umělce"/>
+                  <trans loc="de" val="Künstlername"/>
+                  <trans loc="el" val="Όνομα καλλιτέχνη"/>
+                  <trans loc="es" val="Nombre del artista"/>
+                  <trans loc="eu" val="Artistaren izena"/>
+                  <trans loc="fr" val="Nom de l'artiste"/>
+                  <trans loc="gl" val="Nome do artista"/>
+                  <trans loc="hu" val="Előadó neve"/>
+                  <trans loc="id" val="Nama Artis"/>
+                  <trans loc="lv" val="Izpildītāja vārds"/>
+                  <trans loc="pt_BR" val="Nome do artista"/>
+                  <trans loc="sl" val="Ime izvajalca"/>
+                  <trans loc="sr" val="Име извођача"/>
+                  <trans loc="sr latin" val="Ime izvođača"/>
+                  <trans loc="zh_CN" val="艺人姓名"/>
+                </trans_set>
+              </title_custom>
+              <formatting/>
+            </data_layout_item>
+            <data_layout_item name="publisher_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_item name="name" relationship="publisher" editable="true" 
use_default_formatting="true">
+              <title_custom use_custom="true" title="Publisher Name">
+                <trans_set>
+                  <trans loc="cs" val="Jméno vydavatele"/>
+                  <trans loc="de" val="Name des Herausgebers"/>
+                  <trans loc="el" val="Όνομα εκδότη"/>
+                  <trans loc="es" val="Nombre de la editorial"/>
+                  <trans loc="eu" val="Argitaratzearen izena"/>
+                  <trans loc="fr" val="Nom de l'éditeur"/>
+                  <trans loc="gl" val="Nome da editorial"/>
+                  <trans loc="hu" val="Kiadó neve"/>
+                  <trans loc="id" val="Nama Penerbit"/>
+                  <trans loc="lv" val="Izdevēja nosaukums"/>
+                  <trans loc="pt_BR" val="Nome do editor"/>
+                  <trans loc="sl" val="Ime izdajatelja"/>
+                  <trans loc="sr" val="Име издавача"/>
+                  <trans loc="sr latin" val="Ime izdavača"/>
+                  <trans loc="zh_CN" val="发行商姓名"/>
+                </trans_set>
+              </title_custom>
+              <formatting/>
+            </data_layout_item>
+            <data_layout_item name="comments" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+          </data_layout_group>
+        </data_layout_groups>
+      </data_layout>
+    </data_layouts>
+    <reports>
+      <report name="albums_by_artist" show_table_title="true" title="Albums By Artist">
+        <data_layout_groups>
+          <data_layout_group>
+            <data_layout_item_groupby>
+              <groupby name="artist_id" editable="true" use_default_formatting="true"/>
+              <secondary_fields>
+                <data_layout_group>
+                  <data_layout_item name="name" relationship="artist" editable="true" 
use_default_formatting="true">
+                    <title_custom use_custom="true" title="Artist Name">
+                      <trans_set>
+                        <trans loc="cs" val="Jméno umělce"/>
+                        <trans loc="de" val="Künstlername"/>
+                        <trans loc="el" val="Όνομα καλλιτέχνη"/>
+                        <trans loc="es" val="Nombre del artista"/>
+                        <trans loc="eu" val="Artistaren izena"/>
+                        <trans loc="fr" val="Nom de l'artiste"/>
+                        <trans loc="gl" val="Nome do artista"/>
+                        <trans loc="hu" val="Előadó neve"/>
+                        <trans loc="id" val="Nama Artis"/>
+                        <trans loc="lv" val="Izpildītāja vārds"/>
+                        <trans loc="pt_BR" val="Nome do artista"/>
+                        <trans loc="sl" val="Ime izvajalca"/>
+                        <trans loc="sr" val="Име извођача"/>
+                        <trans loc="sr latin" val="Ime izvođača"/>
+                        <trans loc="zh_CN" val="艺人姓名"/>
+                      </trans_set>
+                    </title_custom>
+                    <formatting/>
+                  </data_layout_item>
+                </data_layout_group>
+              </secondary_fields>
+              <data_layout_item name="name" editable="true" use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+              <data_layout_item name="year" editable="true" use_default_formatting="true">
+                <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              </data_layout_item>
+            </data_layout_item_groupby>
+          </data_layout_group>
+        </data_layout_groups>
+        <trans_set>
+          <trans loc="cs" val="Alba od umělce"/>
+          <trans loc="de" val="Alben nach Künstler"/>
+          <trans loc="el" val="Δίσκοι κατά καλλιτέχνες"/>
+          <trans loc="es" val="Álbumes por artista"/>
+          <trans loc="eu" val="Albumak artistaren arabera"/>
+          <trans loc="fr" val="Albums par artiste"/>
+          <trans loc="gl" val="Álbums por artista"/>
+          <trans loc="hu" val="Albumok előadó szerint"/>
+          <trans loc="id" val="Album Berdasar Artis"/>
+          <trans loc="lv" val="Albumi pēc izpildītāja"/>
+          <trans loc="pt_BR" val="Álbuns por artista"/>
+          <trans loc="sl" val="Albumi izvajalca"/>
+          <trans loc="sr" val="Албуми према извођачима"/>
+          <trans loc="sr latin" val="Albumi prema izvođačima"/>
+          <trans loc="zh_CN" val="按艺人分类的专辑"/>
+        </trans_set>
+      </report>
+    </reports>
+    <print_layouts/>
+  </table>
+  <table name="artists" default="true" overview_x="407" overview_y="119" title="Artists">
+    <example_rows>
+      <example_row>
+        <value column="artist_id">1</value>
+        <value column="description"/>
+        <value column="comments"/>
+        <value column="name">Madonna</value>
+        <value column="testnum"/>
+      </example_row>
+      <example_row>
+        <value column="artist_id">2</value>
+        <value column="description"/>
+        <value column="comments"/>
+        <value column="name">Prince</value>
+        <value column="testnum"/>
+      </example_row>
+      <example_row>
+        <value column="artist_id">3</value>
+        <value column="description"/>
+        <value column="comments"/>
+        <value column="name">Curtis Mayfield</value>
+        <value column="testnum"/>
+      </example_row>
+      <example_row>
+        <value column="artist_id">0</value>
+        <value column="description"/>
+        <value column="comments"/>
+        <value column="name">Bruce Springsteen</value>
+        <value column="testnum">1004914231</value>
+      </example_row>
+    </example_rows>
+    <trans_set>
+      <trans loc="cs" val="Umělci"/>
+      <trans loc="de" val="Künstler"/>
+      <trans loc="el" val="Καλλιτέχνες"/>
+      <trans loc="en_US" val="Artists"/>
+      <trans loc="es" val="Artistas"/>
+      <trans loc="eu" val="Artistak"/>
+      <trans loc="fr" val="Artistes"/>
+      <trans loc="gl" val="Artistas"/>
+      <trans loc="hu" val="Előadók"/>
+      <trans loc="id" val="Artis"/>
+      <trans loc="lv" val="Izpildītāji"/>
+      <trans loc="pt_BR" val="Artistas"/>
+      <trans loc="sl" val="Izvajalci"/>
+      <trans loc="sr" val="Извођачи"/>
+      <trans loc="sr latin" val="Izvođači"/>
+      <trans loc="zh_CN" val="艺人"/>
+    </trans_set>
+    <title_singular title="Artist">
+      <trans_set>
+        <trans loc="en_US" val="Artist"/>
+      </trans_set>
+    </title_singular>
+    <fields>
+      <field name="artist_id" primary_key="true" unique="true" auto_increment="true" type="Number" 
title="Artist ID">
+        <formatting format_thousands_separator="true" format_decimal_places="2"/>
+        <trans_set>
+          <trans loc="cs" val="ID umělce"/>
+          <trans loc="de" val="Künstlerkennung"/>
+          <trans loc="el" val="Αναγνωριστικό καλλιτέχνη"/>
+          <trans loc="es" val="ID del artista"/>
+          <trans loc="eu" val="Artistaren IDa"/>
+          <trans loc="fr" val="ID de l'artiste"/>
+          <trans loc="gl" val="ID do artista"/>
+          <trans loc="hu" val="Előadó azonosító"/>
+          <trans loc="id" val="ID Artis"/>
+          <trans loc="lv" val="Izpildītāja ID"/>
+          <trans loc="pt_BR" val="ID de artista"/>
+          <trans loc="sl" val="ID izvajalca"/>
+          <trans loc="sr" val="ИБ извођача"/>
+          <trans loc="sr latin" val="IB izvođača"/>
+          <trans loc="zh_CN" val="艺人编号"/>
+        </trans_set>
+      </field>
+      <field name="description" type="Text" title="Description">
+        <formatting/>
+        <trans_set>
+          <trans loc="cs" val="Popis"/>
+          <trans loc="de" val="Beschreibung"/>
+          <trans loc="el" val="Περιγραφή"/>
+          <trans loc="es" val="Descripción"/>
+          <trans loc="eu" val="Azalpena"/>
+          <trans loc="fr" val="Description"/>
+          <trans loc="gl" val="Descrición"/>
+          <trans loc="hu" val="Leírás"/>
+          <trans loc="id" val="Deskripsi"/>
+          <trans loc="lv" val="Apraksts"/>
+          <trans loc="pt_BR" val="Descrição"/>
+          <trans loc="sl" val="Opis"/>
+          <trans loc="sr" val="Опис"/>
+          <trans loc="sr latin" val="Opis"/>
+          <trans loc="zh_CN" val="描述"/>
+        </trans_set>
+      </field>
+      <field name="comments" type="Text" title="Comments">
+        <formatting format_text_multiline="true"/>
+        <trans_set>
+          <trans loc="cs" val="Poznámky"/>
+          <trans loc="de" val="Kommentare"/>
+          <trans loc="el" val="Σχόλια"/>
+          <trans loc="es" val="Comentarios"/>
+          <trans loc="eu" val="Iruzkinak"/>
+          <trans loc="fr" val="Commentaires"/>
+          <trans loc="gl" val="Comentarios"/>
+          <trans loc="hu" val="Megjegyzések"/>
+          <trans loc="id" val="Komentar"/>
+          <trans loc="lv" val="Komentāri"/>
+          <trans loc="pt_BR" val="Comentários"/>
+          <trans loc="sl" val="Opombe"/>
+          <trans loc="sr" val="Напомене"/>
+          <trans loc="sr latin" val="Napomene"/>
+          <trans loc="zh_CN" val="注释"/>
+        </trans_set>
+      </field>
+      <field name="name" type="Text" title="Name">
+        <formatting/>
+        <trans_set>
+          <trans loc="cs" val="Jméno"/>
+          <trans loc="de" val="Name"/>
+          <trans loc="el" val="Όνομα"/>
+          <trans loc="es" val="Nombre"/>
+          <trans loc="eu" val="Izena"/>
+          <trans loc="fr" val="Nom"/>
+          <trans loc="gl" val="Nome"/>
+          <trans loc="hu" val="Név"/>
+          <trans loc="id" val="Nama"/>
+          <trans loc="lv" val="Vārds"/>
+          <trans loc="pt_BR" val="Nome"/>
+          <trans loc="sl" val="Ime"/>
+          <trans loc="sr" val="Име"/>
+          <trans loc="sr latin" val="Ime"/>
+          <trans loc="zh_CN" val="名称"/>
+        </trans_set>
+      </field>
+      <field name="testnum" type="Number">
+        <formatting format_thousands_separator="true" format_decimal_places="2"/>
+        <trans_set>
+          <trans loc="en_US" val="Testnum"/>
+        </trans_set>
+      </field>
+    </fields>
+    <relationships>
+      <relationship name="albums" key="artist_id" other_table="albums" other_key="artist_id" 
auto_create="true" allow_edit="true" title="Albums">
+        <trans_set>
+          <trans loc="cs" val="Alba"/>
+          <trans loc="de" val="Alben"/>
+          <trans loc="el" val="Δίσκοι"/>
+          <trans loc="es" val="Álbumes"/>
+          <trans loc="eu" val="Albumak"/>
+          <trans loc="fr" val="Albums"/>
+          <trans loc="gl" val="Álbums"/>
+          <trans loc="hu" val="Albumok"/>
+          <trans loc="id" val="Album"/>
+          <trans loc="lv" val="Albumi"/>
+          <trans loc="pt_BR" val="Álbuns"/>
+          <trans loc="sl" val="Albumi"/>
+          <trans loc="sr" val="Албуми"/>
+          <trans loc="sr latin" val="Albumi"/>
+          <trans loc="zh_CN" val="专辑"/>
+        </trans_set>
+      </relationship>
+    </relationships>
+    <data_layouts>
+      <data_layout name="details">
+        <data_layout_groups>
+          <data_layout_group name="overview" columns_count="2" title="Overview">
+            <trans_set>
+              <trans loc="cs" val="Přehled"/>
+              <trans loc="de" val="Overview"/>
+              <trans loc="el" val="Επισκόπηση"/>
+              <trans loc="es" val="Visión general"/>
+              <trans loc="eu" val="Orokorra"/>
+              <trans loc="fr" val="Résumé"/>
+              <trans loc="gl" val="Vista xeral"/>
+              <trans loc="hu" val="Áttekintés"/>
+              <trans loc="id" val="Ringkasan"/>
+              <trans loc="lv" val="Pārskats"/>
+              <trans loc="pt_BR" val="Visão geral"/>
+              <trans loc="sl" val="Pregled"/>
+              <trans loc="sr" val="Преглед"/>
+              <trans loc="sr latin" val="Pregled"/>
+              <trans loc="zh_CN" val="概述"/>
+            </trans_set>
+            <data_layout_item name="artist_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_item name="name" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+          </data_layout_group>
+          <data_layout_group name="details" columns_count="2" title="Details">
+            <trans_set>
+              <trans loc="cs" val="Podrobnosti"/>
+              <trans loc="de" val="Details"/>
+              <trans loc="el" val="Λεπτομέρειες"/>
+              <trans loc="es" val="Detalles"/>
+              <trans loc="eu" val="Xehetasunak"/>
+              <trans loc="fr" val="Détails"/>
+              <trans loc="gl" val="Detalles"/>
+              <trans loc="hu" val="Részletek"/>
+              <trans loc="id" val="Rincian"/>
+              <trans loc="lv" val="Sīkāka informācija"/>
+              <trans loc="pt_BR" val="Detalhes"/>
+              <trans loc="sl" val="Podrobnosti"/>
+              <trans loc="sr" val="Подаци"/>
+              <trans loc="sr latin" val="Podaci"/>
+              <trans loc="zh_CN" val="详述"/>
+            </trans_set>
+            <data_layout_item name="description" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+            <data_layout_portal relationship="albums" portal_rows_count_min="6" portal_rows_count_max="6">
+              <data_layout_item name="name" editable="true" use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+              <data_layout_item name="year" editable="true" use_default_formatting="true">
+                <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              </data_layout_item>
+            </data_layout_portal>
+            <data_layout_item name="comments" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+            <data_layout_item name="testnum" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+          </data_layout_group>
+        </data_layout_groups>
+      </data_layout>
+      <data_layout name="list">
+        <data_layout_groups>
+          <data_layout_group name="main">
+            <data_layout_item name="artist_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_item name="name" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+            <data_layout_item name="description" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+            <data_layout_item name="comments" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+          </data_layout_group>
+        </data_layout_groups>
+      </data_layout>
+    </data_layouts>
+    <reports/>
+    <print_layouts/>
+  </table>
+  <table name="publishers" overview_x="411" overview_y="235" title="Publishers">
+    <example_rows>
+      <example_row>
+        <value column="publishers_id">0</value>
+        <value column="comments"/>
+        <value column="name">Sony</value>
+      </example_row>
+      <example_row>
+        <value column="publishers_id">1</value>
+        <value column="comments"/>
+        <value column="name">Warner Bros</value>
+      </example_row>
+      <example_row>
+        <value column="publishers_id">2</value>
+        <value column="comments"/>
+        <value column="name">Rhino</value>
+      </example_row>
+    </example_rows>
+    <trans_set>
+      <trans loc="cs" val="Vydavatelé"/>
+      <trans loc="de" val="Herausgeber"/>
+      <trans loc="el" val="Εκδότες"/>
+      <trans loc="en_US" val="Publishers"/>
+      <trans loc="es" val="Editoriales"/>
+      <trans loc="eu" val="Argitaratzaileak"/>
+      <trans loc="fr" val="Éditeurs"/>
+      <trans loc="gl" val="Editoriais"/>
+      <trans loc="hu" val="Kiadók"/>
+      <trans loc="id" val="Penerbit"/>
+      <trans loc="lv" val="Izdevēji"/>
+      <trans loc="pt_BR" val="Editores"/>
+      <trans loc="sl" val="Založniki"/>
+      <trans loc="sr" val="Издавачи"/>
+      <trans loc="sr latin" val="Izdavači"/>
+      <trans loc="zh_CN" val="发行商"/>
+    </trans_set>
+    <title_singular title="Publisher">
+      <trans_set>
+        <trans loc="en_US" val="Publisher"/>
+      </trans_set>
+    </title_singular>
+    <fields>
+      <field name="publishers_id" primary_key="true" unique="true" auto_increment="true" type="Number" 
title="Publisher ID">
+        <formatting format_thousands_separator="true" format_decimal_places="2"/>
+        <trans_set>
+          <trans loc="cs" val="ID vydavatele"/>
+          <trans loc="de" val="Herausgeber-Kennung"/>
+          <trans loc="el" val="Αναγνωριστικό εκδότη"/>
+          <trans loc="es" val="ID de la editorial"/>
+          <trans loc="eu" val="Argitaratzailearen IDa"/>
+          <trans loc="fr" val="ID de l'éditeur"/>
+          <trans loc="gl" val="ID da editorial"/>
+          <trans loc="hu" val="Kiadó azonosító"/>
+          <trans loc="id" val="ID Penerbit"/>
+          <trans loc="lv" val="Izdevēja ID"/>
+          <trans loc="pt_BR" val="ID de editor"/>
+          <trans loc="sl" val="ID založnika"/>
+          <trans loc="sr" val="ИБ издавача"/>
+          <trans loc="sr latin" val="IB izdavača"/>
+          <trans loc="zh_CN" val="发行商编号"/>
+        </trans_set>
+      </field>
+      <field name="comments" type="Text" title="Comments">
+        <formatting format_text_multiline="true"/>
+        <trans_set>
+          <trans loc="cs" val="Poznámky"/>
+          <trans loc="de" val="Kommentare"/>
+          <trans loc="el" val="Σχόλια"/>
+          <trans loc="es" val="Comentarios"/>
+          <trans loc="eu" val="Iruzkinak"/>
+          <trans loc="fr" val="Commentaires"/>
+          <trans loc="gl" val="Comentarios"/>
+          <trans loc="hu" val="Megjegyzések"/>
+          <trans loc="id" val="Komentar"/>
+          <trans loc="lv" val="Komentāri"/>
+          <trans loc="pt_BR" val="Comentários"/>
+          <trans loc="sl" val="Opombe"/>
+          <trans loc="sr" val="Напомене"/>
+          <trans loc="sr latin" val="Napomene"/>
+          <trans loc="zh_CN" val="注释"/>
+        </trans_set>
+      </field>
+      <field name="name" type="Text" title="Name">
+        <formatting/>
+        <trans_set>
+          <trans loc="cs" val="Jméno"/>
+          <trans loc="de" val="Name"/>
+          <trans loc="el" val="Όνομα"/>
+          <trans loc="es" val="Nombre"/>
+          <trans loc="eu" val="Izena"/>
+          <trans loc="fr" val="Nom"/>
+          <trans loc="gl" val="Nome"/>
+          <trans loc="hu" val="Név"/>
+          <trans loc="id" val="Nama"/>
+          <trans loc="lv" val="Nosaukums"/>
+          <trans loc="pt_BR" val="Nome"/>
+          <trans loc="sl" val="Ime"/>
+          <trans loc="sr" val="Име"/>
+          <trans loc="sr latin" val="Ime"/>
+          <trans loc="zh_CN" val="名称"/>
+        </trans_set>
+      </field>
+    </fields>
+    <relationships>
+      <relationship name="albums" key="publishers_id" other_table="albums" other_key="publisher_id" 
title="Albums">
+        <trans_set>
+          <trans loc="cs" val="Alba"/>
+          <trans loc="de" val="Alben"/>
+          <trans loc="el" val="Δίσκοι"/>
+          <trans loc="es" val="Álbumes"/>
+          <trans loc="eu" val="Albumak"/>
+          <trans loc="fr" val="Albums"/>
+          <trans loc="gl" val="Álbums"/>
+          <trans loc="hu" val="Albumok"/>
+          <trans loc="id" val="Album"/>
+          <trans loc="lv" val="Albumi"/>
+          <trans loc="pt_BR" val="Álbuns"/>
+          <trans loc="sl" val="Albumi"/>
+          <trans loc="sr" val="Албуми"/>
+          <trans loc="sr latin" val="Albumi"/>
+          <trans loc="zh_CN" val="专辑"/>
+        </trans_set>
+      </relationship>
+    </relationships>
+    <data_layouts>
+      <data_layout name="details">
+        <data_layout_groups>
+          <data_layout_group name="overview" columns_count="2" title="Overview">
+            <trans_set>
+              <trans loc="cs" val="Přehled"/>
+              <trans loc="de" val="Overview"/>
+              <trans loc="el" val="Επισκόπηση"/>
+              <trans loc="es" val="Visión general"/>
+              <trans loc="eu" val="Orokorra"/>
+              <trans loc="fr" val="Résumé"/>
+              <trans loc="gl" val="Vista xeral"/>
+              <trans loc="hu" val="Áttekintés"/>
+              <trans loc="id" val="Ringkasan"/>
+              <trans loc="lv" val="Pārskats"/>
+              <trans loc="pt_BR" val="Visão geral"/>
+              <trans loc="sl" val="Pregled"/>
+              <trans loc="sr" val="Преглед"/>
+              <trans loc="sr latin" val="Pregled"/>
+              <trans loc="zh_CN" val="概述"/>
+            </trans_set>
+            <data_layout_item name="publishers_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_item name="name" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+          </data_layout_group>
+          <data_layout_group name="details" title="Details">
+            <trans_set>
+              <trans loc="cs" val="Podrobnosti"/>
+              <trans loc="de" val="Details"/>
+              <trans loc="el" val="Λεπτομέρειες"/>
+              <trans loc="es" val="Detalles"/>
+              <trans loc="eu" val="Xehetasunak"/>
+              <trans loc="fr" val="Détails"/>
+              <trans loc="gl" val="Detalles"/>
+              <trans loc="hu" val="Részletek"/>
+              <trans loc="id" val="Rincian"/>
+              <trans loc="lv" val="Sīkāka informācija"/>
+              <trans loc="pt_BR" val="Detalhes"/>
+              <trans loc="sl" val="Podrobnosti"/>
+              <trans loc="sr" val="Подаци"/>
+              <trans loc="sr latin" val="Podaci"/>
+              <trans loc="zh_CN" val="详情"/>
+            </trans_set>
+            <data_layout_item name="comments" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+            <data_layout_portal relationship="albums" portal_rows_count_min="6" portal_rows_count_max="6">
+              <data_layout_item name="album_id" use_default_formatting="true">
+                <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              </data_layout_item>
+              <data_layout_item name="name" use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+              <data_layout_item name="name" relationship="artist" use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+            </data_layout_portal>
+          </data_layout_group>
+        </data_layout_groups>
+      </data_layout>
+      <data_layout name="list">
+        <data_layout_groups>
+          <data_layout_group name="main">
+            <data_layout_item name="publishers_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_item name="comments" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+            <data_layout_item name="name" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+          </data_layout_group>
+        </data_layout_groups>
+      </data_layout>
+    </data_layouts>
+    <reports/>
+    <print_layouts/>
+  </table>
+  <table name="songs" overview_x="407" overview_y="7" title="Songs">
+    <example_rows>
+      <example_row>
+        <value column="song_id">0</value>
+        <value column="comments"/>
+        <value column="album_id">0</value>
+        <value column="name">Thunder Road</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">1</value>
+        <value column="comments"/>
+        <value column="album_id">0</value>
+        <value column="name">Tenth Avenue Freeze Out</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">2</value>
+        <value column="comments"/>
+        <value column="album_id">0</value>
+        <value column="name">Night</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">3</value>
+        <value column="comments"/>
+        <value column="album_id">0</value>
+        <value column="name">Backstreets</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">4</value>
+        <value column="comments"/>
+        <value column="album_id">0</value>
+        <value column="name">Born To Run</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">5</value>
+        <value column="comments"/>
+        <value column="album_id">0</value>
+        <value column="name">She's The One</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">6</value>
+        <value column="comments"/>
+        <value column="album_id">0</value>
+        <value column="name">Meeting Across The River</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">7</value>
+        <value column="comments"/>
+        <value column="album_id">0</value>
+        <value column="name">Jungleland</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">8</value>
+        <value column="comments"/>
+        <value column="album_id">2</value>
+        <value column="name">E Street Shuffle</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">9</value>
+        <value column="comments"/>
+        <value column="album_id">2</value>
+        <value column="name">4th of July, Asbury Park (Sandy)</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">10</value>
+        <value column="comments"/>
+        <value column="album_id">2</value>
+        <value column="name">Kitty's Back</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">11</value>
+        <value column="comments"/>
+        <value column="album_id">2</value>
+        <value column="name">Wild Billy's Circus Story</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">12</value>
+        <value column="comments"/>
+        <value column="album_id">2</value>
+        <value column="name">Incident on 57th Street</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">13</value>
+        <value column="comments"/>
+        <value column="album_id">2</value>
+        <value column="name">Rosalita (Come out Tonight)</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">14</value>
+        <value column="comments"/>
+        <value column="album_id">2</value>
+        <value column="name">New York City Serenade</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">15</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">Sign 'O' The Times</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">16</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">Play In The Sunshine</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">17</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">Housequake</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">18</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">Ballad of Dorothy Parker</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">19</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">It</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">20</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">Starfish and Coffee</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">21</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">Slow Love</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">22</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">Hot Thing</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">23</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">Forever In My Life</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">24</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">U Got The Look</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">25</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">If I Was Your Girlfriend</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">26</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">Strange Relationship</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">27</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">I Could Never Take The Place Of Your Man</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">28</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">The Cross</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">29</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">It's Gonna Be A Beautiful Night</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">30</value>
+        <value column="comments"/>
+        <value column="album_id">3</value>
+        <value column="name">Adore</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">31</value>
+        <value column="comments"/>
+        <value column="album_id">1</value>
+        <value column="name">Papa Don't Preach</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">32</value>
+        <value column="comments"/>
+        <value column="album_id">1</value>
+        <value column="name">Open Your Heart</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">33</value>
+        <value column="comments"/>
+        <value column="album_id">1</value>
+        <value column="name">White Heart</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">34</value>
+        <value column="comments"/>
+        <value column="album_id">1</value>
+        <value column="name">Live To Tell</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">35</value>
+        <value column="comments"/>
+        <value column="album_id">1</value>
+        <value column="name">Where's The Party</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">36</value>
+        <value column="comments"/>
+        <value column="album_id">1</value>
+        <value column="name">True Blue</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">37</value>
+        <value column="comments"/>
+        <value column="album_id">1</value>
+        <value column="name">La Isla Bonita</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">38</value>
+        <value column="comments"/>
+        <value column="album_id">1</value>
+        <value column="name">Jimmy Jimmy</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">39</value>
+        <value column="comments"/>
+        <value column="album_id">1</value>
+        <value column="name">Love Makes The World Go Round</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">40</value>
+        <value column="comments"/>
+        <value column="album_id">4</value>
+        <value column="name">Little Child Runnin' Wild</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">41</value>
+        <value column="comments"/>
+        <value column="album_id">4</value>
+        <value column="name">Pusherman</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">42</value>
+        <value column="comments"/>
+        <value column="album_id">4</value>
+        <value column="name">Freddie's Dead</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">43</value>
+        <value column="comments"/>
+        <value column="album_id">4</value>
+        <value column="name">Junkie Chase (Instrumental)</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">44</value>
+        <value column="comments"/>
+        <value column="album_id">4</value>
+        <value column="name">Give Me Your Love (Love Song)</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">45</value>
+        <value column="comments"/>
+        <value column="album_id">4</value>
+        <value column="name">Eddie You Should Know Better</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">46</value>
+        <value column="comments"/>
+        <value column="album_id">4</value>
+        <value column="name">No Thing On Me (Cocaine Song)</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">47</value>
+        <value column="comments"/>
+        <value column="album_id">4</value>
+        <value column="name">Think (Instrumental)</value>
+      </example_row>
+      <example_row>
+        <value column="song_id">48</value>
+        <value column="comments"/>
+        <value column="album_id">4</value>
+        <value column="name">Superfly</value>
+      </example_row>
+    </example_rows>
+    <trans_set>
+      <trans loc="cs" val="Skladby"/>
+      <trans loc="de" val="Lieder"/>
+      <trans loc="el" val="Τραγούδια"/>
+      <trans loc="en_US" val="Songs"/>
+      <trans loc="es" val="Canciones"/>
+      <trans loc="eu" val="Abestiak"/>
+      <trans loc="fr" val="Chansons"/>
+      <trans loc="gl" val="Cancións"/>
+      <trans loc="hu" val="Számok"/>
+      <trans loc="id" val="Lagu"/>
+      <trans loc="lv" val="Dziesmas"/>
+      <trans loc="pt_BR" val="Canções"/>
+      <trans loc="sl" val="Skladbe"/>
+      <trans loc="sr" val="Песме"/>
+      <trans loc="sr latin" val="Pesme"/>
+      <trans loc="zh_CN" val="歌曲"/>
+    </trans_set>
+    <title_singular title="Song">
+      <trans_set>
+        <trans loc="en_US" val="Song"/>
+      </trans_set>
+    </title_singular>
+    <fields>
+      <field name="song_id" primary_key="true" unique="true" auto_increment="true" type="Number" title="Song 
ID">
+        <formatting format_thousands_separator="true" format_decimal_places="2"/>
+        <trans_set>
+          <trans loc="cs" val="ID skladby"/>
+          <trans loc="de" val="Lied-Kennung"/>
+          <trans loc="el" val="Αναγνωριστικό τραγουδιού"/>
+          <trans loc="es" val="ID de la canción"/>
+          <trans loc="eu" val="Abestiaren IDa"/>
+          <trans loc="fr" val="ID de la chanson"/>
+          <trans loc="gl" val="ID da canción"/>
+          <trans loc="hu" val="Szám azonosító"/>
+          <trans loc="id" val="ID Lagu"/>
+          <trans loc="lv" val="Dziesmas ID"/>
+          <trans loc="pt_BR" val="ID de canção"/>
+          <trans loc="sl" val="ID skladbe"/>
+          <trans loc="sr" val="ИБ песме"/>
+          <trans loc="sr latin" val="IB pesme"/>
+          <trans loc="zh_CN" val="歌曲编号"/>
+        </trans_set>
+      </field>
+      <field name="comments" type="Text" title="Comments">
+        <formatting format_text_multiline="true"/>
+        <trans_set>
+          <trans loc="cs" val="Poznámky"/>
+          <trans loc="de" val="Kommentare"/>
+          <trans loc="el" val="Σχόλια"/>
+          <trans loc="es" val="Comentarios"/>
+          <trans loc="eu" val="Iruzkinak"/>
+          <trans loc="fr" val="Commentaires"/>
+          <trans loc="gl" val="Comentarios"/>
+          <trans loc="hu" val="Megjegyzések"/>
+          <trans loc="id" val="Komentar"/>
+          <trans loc="lv" val="Komentāri"/>
+          <trans loc="pt_BR" val="Comentários"/>
+          <trans loc="sl" val="Opombe"/>
+          <trans loc="sr" val="Напомене"/>
+          <trans loc="sr latin" val="Napomene"/>
+          <trans loc="zh_CN" val="注释"/>
+        </trans_set>
+      </field>
+      <field name="album_id" type="Number" title="Album ID">
+        <formatting format_thousands_separator="true" format_decimal_places="2"/>
+        <trans_set>
+          <trans loc="cs" val="ID alba"/>
+          <trans loc="de" val="Albenkennung"/>
+          <trans loc="el" val="Αναγνωριστικό δίσκου"/>
+          <trans loc="es" val="ID del álbum"/>
+          <trans loc="eu" val="Albumaren IDa"/>
+          <trans loc="fr" val="ID de l'album"/>
+          <trans loc="gl" val="ID do álbum"/>
+          <trans loc="hu" val="Album azonosító"/>
+          <trans loc="id" val="ID Album"/>
+          <trans loc="lv" val="Albuma ID"/>
+          <trans loc="pt_BR" val="ID de álbum"/>
+          <trans loc="sl" val="ID albuma"/>
+          <trans loc="sr" val="ИБ албума"/>
+          <trans loc="sr latin" val="IB albuma"/>
+          <trans loc="zh_CN" val="专辑编号"/>
+        </trans_set>
+      </field>
+      <field name="name" type="Text" title="Name">
+        <formatting/>
+        <trans_set>
+          <trans loc="cs" val="Název"/>
+          <trans loc="de" val="Name"/>
+          <trans loc="el" val="Όνομα"/>
+          <trans loc="es" val="Nombre"/>
+          <trans loc="eu" val="Izena"/>
+          <trans loc="fr" val="Nom"/>
+          <trans loc="gl" val="Nome"/>
+          <trans loc="hu" val="Név"/>
+          <trans loc="id" val="Nama"/>
+          <trans loc="lv" val="Nosaukums"/>
+          <trans loc="pt_BR" val="Nome"/>
+          <trans loc="sl" val="Ime"/>
+          <trans loc="sr" val="Назив"/>
+          <trans loc="sr latin" val="Naziv"/>
+          <trans loc="zh_CN" val="名称"/>
+        </trans_set>
+      </field>
+    </fields>
+    <relationships>
+      <relationship name="album" key="album_id" other_table="albums" other_key="album_id" title="Album">
+        <trans_set>
+          <trans loc="cs" val="Album"/>
+          <trans loc="de" val="Album"/>
+          <trans loc="el" val="Δίσκος"/>
+          <trans loc="es" val="Álbum"/>
+          <trans loc="eu" val="Albuma"/>
+          <trans loc="fr" val="Album"/>
+          <trans loc="gl" val="Álbum"/>
+          <trans loc="hu" val="Album"/>
+          <trans loc="id" val="Album"/>
+          <trans loc="lv" val="Albums"/>
+          <trans loc="pt_BR" val="Álbum"/>
+          <trans loc="sl" val="Album"/>
+          <trans loc="sr" val="Албум"/>
+          <trans loc="sr latin" val="Album"/>
+          <trans loc="zh_CN" val="专辑"/>
+        </trans_set>
+      </relationship>
+    </relationships>
+    <data_layouts>
+      <data_layout name="details">
+        <data_layout_groups>
+          <data_layout_group name="overview" columns_count="2" title="Overview">
+            <trans_set>
+              <trans loc="cs" val="Přehled"/>
+              <trans loc="de" val="Overview"/>
+              <trans loc="el" val="Επισκόπηση"/>
+              <trans loc="es" val="Visión general"/>
+              <trans loc="eu" val="Orokorra"/>
+              <trans loc="fr" val="Résumé"/>
+              <trans loc="gl" val="Vista xeral"/>
+              <trans loc="hu" val="Áttekintés"/>
+              <trans loc="id" val="Ringkasan"/>
+              <trans loc="lv" val="Pārskats"/>
+              <trans loc="pt_BR" val="Visão geral"/>
+              <trans loc="sl" val="Pregled"/>
+              <trans loc="sr" val="Преглед"/>
+              <trans loc="sr latin" val="Pregled"/>
+              <trans loc="zh_CN" val="概述"/>
+            </trans_set>
+            <data_layout_item name="song_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_item name="name" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+          </data_layout_group>
+          <data_layout_group name="details" columns_count="2" title="Details">
+            <trans_set>
+              <trans loc="cs" val="Podrobnosti"/>
+              <trans loc="de" val="Details"/>
+              <trans loc="el" val="Λεπτομέρειες"/>
+              <trans loc="es" val="Detalles"/>
+              <trans loc="eu" val="Xehetasunak"/>
+              <trans loc="fr" val="Détails"/>
+              <trans loc="gl" val="Detlles"/>
+              <trans loc="hu" val="Részletek"/>
+              <trans loc="id" val="Rincian"/>
+              <trans loc="lv" val="Sīkāka informācija"/>
+              <trans loc="pt_BR" val="Detalhes"/>
+              <trans loc="sl" val="Podrobnosti"/>
+              <trans loc="sr" val="Подаци"/>
+              <trans loc="sr latin" val="Podaci"/>
+              <trans loc="zh_CN" val="详述"/>
+            </trans_set>
+            <data_layout_group name="album" title="Album">
+              <trans_set>
+                <trans loc="cs" val="Album"/>
+                <trans loc="de" val="Album-Künstler"/>
+                <trans loc="el" val="Δίσκος"/>
+                <trans loc="es" val="Álbum"/>
+                <trans loc="eu" val="Albuma"/>
+                <trans loc="fr" val="Album"/>
+                <trans loc="gl" val="Álbum"/>
+                <trans loc="hu" val="Album"/>
+                <trans loc="id" val="Album"/>
+                <trans loc="lv" val="Albums"/>
+                <trans loc="pt_BR" val="Álbum"/>
+                <trans loc="sl" val="Album"/>
+                <trans loc="sr" val="Албум"/>
+                <trans loc="sr latin" val="Album"/>
+                <trans loc="zh_CN" val="专辑"/>
+              </trans_set>
+              <data_layout_item name="album_id" editable="true" use_default_formatting="true">
+                <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              </data_layout_item>
+              <data_layout_item name="name" relationship="album" editable="true" 
use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+            </data_layout_group>
+            <data_layout_group name="artist" title="Album Artist">
+              <trans_set>
+                <trans loc="cs" val="Umělci alba"/>
+                <trans loc="de" val="Album-Künstler"/>
+                <trans loc="el" val="Δίσκος καλλιτέχνη"/>
+                <trans loc="es" val="Artista del álbum"/>
+                <trans loc="eu" val="Albumaren artista"/>
+                <trans loc="fr" val="Artiste de l'album"/>
+                <trans loc="gl" val="Artista do álbum"/>
+                <trans loc="hu" val="Album előadója"/>
+                <trans loc="id" val="Artis Album"/>
+                <trans loc="lv" val="Albuma izpildītājs"/>
+                <trans loc="pt_BR" val="Álbum de artista"/>
+                <trans loc="sl" val="Izvajalec albuma"/>
+                <trans loc="sr" val="Извођач албума"/>
+                <trans loc="sr latin" val="Izvođač albuma"/>
+                <trans loc="zh_CN" val="专辑艺人"/>
+              </trans_set>
+              <data_layout_item name="artist_id" relationship="album" related_relationship="artist" 
editable="true" use_default_formatting="true">
+                <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              </data_layout_item>
+              <data_layout_item name="name" relationship="album" related_relationship="artist" 
editable="true" use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+            </data_layout_group>
+            <data_layout_item name="comments" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+          </data_layout_group>
+        </data_layout_groups>
+      </data_layout>
+      <data_layout name="list">
+        <data_layout_groups>
+          <data_layout_group name="main">
+            <data_layout_item name="song_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_item name="comments" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+            <data_layout_item name="album_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+            </data_layout_item>
+            <data_layout_item name="name" editable="true" use_default_formatting="true">
+              <formatting/>
+            </data_layout_item>
+          </data_layout_group>
+        </data_layout_groups>
+      </data_layout>
+    </data_layouts>
+    <reports/>
+    <print_layouts/>
+  </table>
+  <groups><!--These are only used when recreating a database from an example file. The actual access-control 
is on the server, of course.-->
+    <group name="glom_developer" developer="true"/>
+  </groups>
+  <library_modules/></glom_document>
diff --git a/tests/test_selfhosting_new_then_export_with_big_num.cc 
b/tests/test_selfhosting_new_then_export_with_big_num.cc
new file mode 100644
index 0000000..7158a2c
--- /dev/null
+++ b/tests/test_selfhosting_new_then_export_with_big_num.cc
@@ -0,0 +1,80 @@
+/* Glom
+ *
+ * Copyright (C) 2010 Openismus GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA.
+ */
+
+#include "tests/test_selfhosting_utils.h"
+#include <libglom/init.h>
+#include <libglom/db_utils_export.h>
+#include <glib.h> //For g_assert()
+#include <iostream>
+#include <cstdlib> //For EXIT_SUCCESS and EXIT_FAILURE
+
+
+static bool test(Glom::Document::HostingMode hosting_mode)
+{
+  auto document = std::make_shared<Glom::Document>();
+  const bool recreated = 
+    test_create_and_selfhost_from_test_example("test_example_music_collection_with_big_num.glom", document, 
hosting_mode);
+  if(!recreated)
+  {
+    std::cerr << G_STRFUNC << ": Recreation failed.\n";
+    return false;
+  }
+  
+  Glom::FoundSet found_set; //TODO: Test a where clause.
+  found_set.m_table_name = "artists";
+  Glom::Document::type_list_layout_groups layout_groups;
+  auto group = std::make_shared<Glom::LayoutGroup>();
+  layout_groups.emplace_back(group);
+  auto field = std::make_shared<Glom::LayoutItem_Field>();
+  field->set_name("testnum");
+  group->add_item(field);
+  
+  std::stringstream the_stream;
+  Glom::DbUtils::export_data_to_stream(document, the_stream, found_set, layout_groups);
+  const auto text = the_stream.str();
+
+  if(text.empty())
+  {
+    std::cerr << G_STRFUNC << ": Failed: text was empty.\n";
+    return false;
+  }
+
+  //Check that the large number appeared in the exported data with full precision:
+  if(text.find("1004914231") == std::string::npos)
+  {
+    std::cerr << G_STRFUNC << ": Failed: text did not contain the expected text.\n";
+    return false;
+  }
+
+  test_selfhosting_cleanup();
+    
+  return true;
+}
+
+int main()
+{
+  Glom::libglom_init();
+  
+  const auto result = test_all_hosting_modes(sigc::ptr_fun(&test));
+
+  Glom::libglom_deinit();
+
+  return result;
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]