SynSql a des limites...

 

Select

SynSql présente deux limites notables quand aux requêtes de type select soumises sur des tables possédant plusieurs partitions. Lorsque vous lui soumettez une telle requête, il provoque l'exéction de cette requête sur toutes les partitions de la première table présente dans la clause from.

- Si la clause from ne concerne qu'une table, l'intégrité du résultat est garanti. Mais si la requête fait appel à des fonctions d'agrégat (count, sum, avg, etc.), elle ne retournera pas une seule ligne avec les valeurs agrégées mais autant de lignes que la table possède de partitions, chaque ligne présentant l'agrégation exacte des données de sa partition. Cette limitation peut être résolue de façon programatique (par exemple en créant un table temporaire destinée à recevoir les valeurs de chaque partition puis soumettant la requête initiale sur la table temporaire).

- Dans le cas contraire, la requête est une jointure sur plusieurs tables. Si vous utilisez un modèle en étoile, SynSql vous permet d'obtenir des résultats cohérents. Si votre modèle est plus complexe, la requête ne rapportera pas les résultats attendus.

Types de données.

SynSql supporte les types de données suivants :
- Les dérivations du type integer,
- Les types de données qui s'apparentent à des chaînes de caractères et dont la taille est inférieure à 64 Ko. Ce qui inclut les types char, varchar, tinytext, text, uuid, inet4 et inet6.
- Les types date, datetime, timestamp, time, year.
- Les types numériques de type double et apparentés avec la restriction suivante : synsql ne sait les comparer qu'au format numérique. Il ne sait pas gérer la notation scientifique.

Les autres types de données tels que bit, mediumtext et longtext ne sont pas supportés. Vous pouvez utiliser le type json pour des tailles inférieures à 64 Ko.

Les types spatiaux n'ont pas été testés. Utilisés dans un segment de clef de hachage, les résultats ne sont pas garantis. Hors de la clef les requêtes devraient fonctionner tant que vous utilisez des fonctions de conversion en mode texte (ST_GeomFromText, ST_AsText).

Les types de données binaires dont la taille est supérieure à 64 Ko ne sont pas supportés. Les autres n'ont pas été testés.

Transactions

SynSql ne sait pas gérer les transactions. Toute instruction est exécutée à réception et ne peut subir de rollback.

Programation

SynSql ne contient pas de langage de programmation intrinsèque. Vous ne pouvez pas lui demander de créer ou d'exécuter une procédure. Via la commande execute, vous pouvez executer n'importe quelle instruction du langage SQL sur un ou tous les segments d'une table mais les objets concenés n'ont de portée que sur le segment qui les contient.

15 Jan 2026 04:14:22English version