Author: bpoussin Date: 2013-02-24 03:18:33 +0100 (Sun, 24 Feb 2013) New Revision: 1550 Url: http://nuiton.org/projects/wikitty/repository/revisions/1550 Log: petite mise a jour de la doc sur les select petite correction de syntaxe Modified: trunk/src/site/rst/index.rst trunk/src/site/rst/user/generation.rst trunk/src/site/rst/user/query.rst Modified: trunk/src/site/rst/index.rst =================================================================== --- trunk/src/site/rst/index.rst 2013-02-24 01:55:17 UTC (rev 1549) +++ trunk/src/site/rst/index.rst 2013-02-24 02:18:33 UTC (rev 1550) @@ -102,7 +102,7 @@ Pour plus d'informations sur les différentes fonctionnalités, référez-vous à la `page correspondante`_ -.. _page correspondante:features.html +.. _page correspondante: features.html Technologies ------------ Modified: trunk/src/site/rst/user/generation.rst =================================================================== --- trunk/src/site/rst/user/generation.rst 2013-02-24 01:55:17 UTC (rev 1549) +++ trunk/src/site/rst/user/generation.rst 2013-02-24 02:18:33 UTC (rev 1550) @@ -120,7 +120,7 @@ .. image:: wikittyTree.png -.. _EUGene:http://maven-site.nuiton.org/eugene/ +.. _EUGene: http://maven-site.nuiton.org/eugene/ Tag Value disponible ==================== Modified: trunk/src/site/rst/user/query.rst =================================================================== --- trunk/src/site/rst/user/query.rst 2013-02-24 01:55:17 UTC (rev 1549) +++ trunk/src/site/rst/user/query.rst 2013-02-24 02:18:33 UTC (rev 1550) @@ -477,10 +477,10 @@ Retourne une liste sans doublon:: WikittyQuery q = new WikittyQueryMaker() - .select("Person.age", true).eq("Person.firstname", "Jean").end(); + .select().distinct("Person.age").where().eq("Person.firstname", "Jean").end(); WikittyQuery q = WikittyQueryParser.parse( - "SELECT DISTINCT Person.age WHERE Person.firstname=Jean"); + "SELECT DISTINCT(Person.age) WHERE Person.firstname=Jean"); Dans ces exemples si plusieurs personnes portant le prénom 'Jean' ont le même âge, cet âge n'est retourné qu'une seule fois. Par exemple si la liste dans le @@ -489,10 +489,10 @@ Il est possible de couplé DISTINCT est une fonction d'aggrégat:: WikittyQuery q = new WikittyQueryMaker() - .select("Person.age", Aggregate.AVG, true).eq("Person.firstname", "Jean").end(); + .select().avg().distinct("Person.age").where().eq("Person.firstname", "Jean").end(); WikittyQuery q = WikittyQueryParser.parse( - "SELECT DISTINCT AVG Person.age WHERE Person.firstname=Jean"); + "SELECT AVG(DISTINCT(Person.age)) WHERE Person.firstname=Jean"); Dans cette exemple la moyenne est fait sur: 12, 18, 33 soit 21 @@ -503,10 +503,10 @@ un Numeric:: WikittyQuery q = new WikittyQueryMaker() - .select("Person.age", Aggregate.AVG).eq("Person.firstname", "Jean").end(); + .select().avg("Person.age").where().eq("Person.firstname", "Jean").end(); WikittyQuery q = WikittyQueryParser.parse( - "SELECT AVG Person.age WHERE Person.firstname=Jean"); + "SELECT AVG(Person.age) WHERE Person.firstname=Jean"); COUNT ~~~~~ @@ -514,10 +514,10 @@ Retourne le nombre d'élément retourné:: WikittyQuery q = new WikittyQueryMaker() - .select("Person.age", Aggregate.COUNT).eq("Person.firstname", "Jean").end(); + .select().count("Person.age").where().eq("Person.firstname", "Jean").end(); WikittyQuery q = WikittyQueryParser.parse( - "SELECT COUNT Person.age WHERE Person.firstname=Jean"); + "SELECT COUNT(Person.age) WHERE Person.firstname=Jean"); MAX ~~~ @@ -527,10 +527,10 @@ // on recherche le plus jeune (plus grande date) des personnes s'appelant Jean WikittyQuery q = new WikittyQueryMaker() - .select("Person.birthday", Aggregate.MAX).eq("Person.firstname", "Jean").end(); + .select().max("Person.birthday").where().eq("Person.firstname", "Jean").end(); WikittyQuery q = WikittyQueryParser.parse( - "SELECT MAX Person.birthday WHERE Person.firstname=Jean"); + "SELECT MAX(Person.birthday) WHERE Person.firstname=Jean"); MIN ~~~ @@ -540,10 +540,10 @@ // on recherche le plus agé (plus petite date) des personnes s'appelant Jean WikittyQuery q = new WikittyQueryMaker() - .select("Person.birthday", Aggregate.MIN).eq("Person.firstname", "Jean").end(); + .select().min("Person.birthday").where().eq("Person.firstname", "Jean").end(); WikittyQuery q = WikittyQueryParser.parse( - "SELECT MIN Person.birthday WHERE Person.firstname=Jean"); + "SELECT MIN(Person.birthday) WHERE Person.firstname=Jean"); SUM ~~~ @@ -553,10 +553,10 @@ // fait la somme des facture depuis le début d'année WikittyQuery q = new WikittyQueryMaker() - .select("Invoice.amount", Aggregate.SUM).ge("Invoice.date", "01/01/2012").end(); + .select().sum("Invoice.amount").where().ge("Invoice.date", "01/01/2012").end(); WikittyQuery q = WikittyQueryParser.parse( - "SELECT SUM Invoice.amount WHERE Invoice.date>=01/01/2012"); + "SELECT SUM(Invoice.amount) WHERE Invoice.date>=date(01/01/2012)"); Recherche sur les arbres ------------------------ @@ -574,10 +574,10 @@ WikittyQuery q = new WikittyQueryMaker() .containsOne(Element.ID) - .select(WikittyTreeNode.ELEMENT_FIELD_WIKITTYTREENODE_ATTACHMENT).end(); + .select(WikittyTreeNode.ELEMENT_FIELD_WIKITTYTREENODE_ATTACHMENT).where().exteq(WikittyTreeNode.EXT_WIKITTY_TREE_NODE).end(); WikittyQuery q = WikittyQueryParser.parse( - "id={SELECT WikittyTreeNode.attachment}"); + "id={SELECT WikittyTreeNode.attachment where extension=WikittyTreeNode}"); Pour avoir tous les attachments de tous les noeuds d'un arbre ayant le nom 'MyTree':: @@ -725,19 +725,19 @@ --------------------------------- Date -~~~~ +++++ Pour simplifier l'écriture des dates, il est possible d'utiliser la fonction date, ce qui évite de devoir écrire les dates dans un format spécifique.:: WikittyQuery q = WikittyQueryParser.parse( - "SELECT MIN Person.birthday WHERE Person.firstname=Jean and Person.birthday < date(01/01/2000)"); + "SELECT MIN(Person.birthday) WHERE Person.firstname=Jean and Person.birthday < date(01/01/2000)"); Ici on recherche une personne s'appelant 'Jean' ayant l'âge le plus petit, mais dont l'âge est tout de même avant l'an 2000. Alias -~~~~~ ++++++ Vous pouvez ajouter des alias pour simplifier l'écriture de certaines requêtes.