ADDENDUM Bienvenue dans la release 5 de 4D v11 SQL. Ce document présente les nouveautés et modifications apportées à cette nouvelle version du programme. Prise en charge de nouvelles plates-formes La release 5 de 4D v11 SQL est certifiée pour les systèmes d exploitation suivants : Mac OS X Snow Leopard Windows 7 Langage La nouvelle commande LIRE STATISTIQUES CACHE fournit des informations sur l état du cache de 4D. Les commandes FIXER PARAMETRE BASE, Lire parametre base, Version application et REDESSINER ont été modifiées. LIRE STATISTIQUES CACHE LIRE STATISTIQUES CACHE(typeInfo; tabnoms; tabvaleurs; tabnombre) Paramètres Type Description typeinfo Entier long Sélecteur d information à obtenir tabnoms Tab Texte Libellés des informations tabvaleurs Tab Réel Valeurs des informations tabnombre Tab Réel Nombre d objets concernés (si disponible) La nouvelle commande LIRE STATISTIQUES CACHE permet de récupérer des informations relatives à l utilisation du cache de données par 4D. Ces informations peuvent être utiles à l analyse du fonctionnement de l application. 4D v11 SQL Release 5 (11.5) - Addendum 1
Passez dans le paramètre typeinfo une valeur indiquant le type d information que vous souhaitez obtenir : 1 = Informations générales sur la mémoire. Ces informations sont également disponibles via l Explorateur d exécution : taille de mémoire physique, virtuelle, libre, occupée, etc.) 2 = Résumé des statistiques d occupation du cache de la base de données. Vous pouvez cumuler ces valeurs afin d obtenir toutes les informations en un seul appel. A l issue de l exécution de la commande, les statistiques demandées sont fournies dans les tableaux tabnoms, tabvaleurs et tabnombre. Pour plus d informations sur l interprétation avancée de ces données, veuillez contacter le service technique de 4D SAS. Thème : Environnement 4D FIXER PARAMETRE BASE, Lire parametre base Deux nouveaux sélecteurs (constantes) sont disponibles pour les commandes FIXER PARAMETRE BASE et Lire parametre base. Sélecteur = 53 (Taille pile process base server) Valeurs : Entier long positif. Description : Taille de la pile allouée à chaque process système préemptif sur le serveur, exprimée en octets. Par défaut, cette valeur est 1 000 000 (1 Mo). Les process système préemptifs (process de type Process base 4D client) sont chargés de contrôler les process clients 4D principaux. La taille allouée par défaut à la pile de chaque process préemptif permet un bon confort d exécution mais peut s avérer conséquente lorsque de très nombreux process (plusieurs centaines) sont créés. A des fins d optimisation, cette taille peut être diminuée sensiblement si les opérations effectuées par la base s'y prêtent (par exemple si la base n effectue pas de tris sur de grosses quantités d enregistrements). Des valeurs de 512 voire de 256 Ko sont possibles. Attention, le sous-dimensionnement de la pile est critique et peut nuire au fonctionnement de 4D Server. Le réglage de ce paramètre est à effectuer avec précaution et doit tenir compte des conditions d utilisation de la base (nombre d enregistrements, types d opérations, etc.). 2 4D v11 SQL Release 5 (11.5) - Addendum
FIXER PARAMETRE BASE, Lire parametre base Pour être pris en compte, ce paramétrage doit être exécuté sur le poste serveur (par exemple dans la méthode base Sur démarrage serveur). Sélecteur = 61 (Taille maxi mémoire temporaire) Valeurs : Entier long positif. Description : Taille maximum de mémoire temporaire que 4D pourra allouer à chaque process, exprimée en Mo. Par défaut, la valeur est 0 (pas de taille maximum). 4D utilise une mémoire temporaire spéciale dédiée aux opérations d indexation et de tri. Cette mémoire a pour but de préserver la mémoire cache classique lors d opérations massives. Elle n est activée qu en cas de besoin. Par défaut, la taille de la mémoire temporaire n est limitée que par les ressources disponibles (en fonction de la configuration mémoire du système). Ce mécanisme convient à la plupart des applications. Toutefois, dans certains contextes spécifiques, notamment lorsqu une application client-serveur effectue simultanément un grand nombre de tris séquentiels, la taille de la mémoire temporaire peut augmenter de façon critique, jusqu à rendre le système instable. Dans ce contexte, fixer une taille maximum à la mémoire temporaire permet de préserver le fonctionnement de l application. En contrepartie, la vitesse d exécution pourra être affectée : lorsque la taille maximum est atteinte pour un process, 4D utilise des fichiers disque, ce qui peut ralentir les traitements. Pour des besoins tels que ceux décrits ci-dessus, une taille maximum d environ 50 Mo est généralement un bon compromis. La valeur idéale sera cependant à déterminer en fonction des spécificités de l application et résultera généralement de tests en volumétrie réelle. Thème : Environnement 4D 4D v11 SQL Release 5 (11.5) - Addendum 3
Version application Version application { (numbuild{;*}) } Chaîne Paramètres Type Description numbuild Entier long Numéro de build * * Si passé = numéro de version long Si omis = numéro de version court Résultat Chaîne Numéro de version encodé La commande Version application peut désormais retourner une information supplémentaire dans le paramètre optionnel numbuild : le numéro de "build" de la version courante de l application 4D. Il s agit d un numéro de compilation interne qui peut être utile pour du versionning ou lors d échanges avec les services techniques de 4D. A noter que dans le cas d applications compilées et fusionnées avec 4D Volume Licence, le numéro de build retourné est toujours 0. Thème : Environnement 4D REDESSINER REDESSINER (objet) Dans le contexte des list box en mode sélection, l instruction REDESSINER appliquée à un objet de type list box provoque la mise à jour des données affichées dans l objet. Cette instruction doit être appelée typiquement après une modification des données dans les enregistrements de la sélection. Thème : Interface utilisateur Fonctionnement des applications 4D Générateur d applications (clé HardLink) Les règles d application de la clé XML HardLink ont été renforcées dans 4D à compter de la version 11.5. Désormais, lorsqu une valeur a été associée à cette clé dans le fichier de configuration de l application (nommé par défaut BuildApp.XML), l application serveur générée rejettera toute connexion d une application cliente ne disposant pas d une clé de valeur identique. Ce principe interdit également la connexion ou la mise à jour d une application cliente générée sans clé HardLink. 4 4D v11 SQL Release 5 (11.5) - Addendum
Fonctionnement des applications 4D Lorsque l application client-serveur est générée depuis la boîte de dialogue de génération d application, seul l élément XML HardLink est inséré par défaut (vide) dans le fichier de configuration. Vous devez explicitement lui attribuer une valeur et utiliser la commande GENERER APPLICATION afin d activer le HardLink. Ce mécanisme implique de devoir regénérer les applications clientes en cas de changement de valeur de la clé pour l application serveur. Accès au CSM depuis une application autonome Une nouvelle option permet, au lancement d une application 4D autonome (monoposte ou client-serveur), d accéder directement le Centre de sécurité et de maintenance. Cette option est située dans la boîte de dialogue d options qui apparaît lorsque vous maintenez la touche Alt (Windows) ou Option (Mac OS) pendant l ouverture de l application : Nouvelle option pour l accès au CSM Cette nouveauté permet notamment de réparer directement le fichier de données d une application autonome via le CSM sans qu il soit nécessaire de passer par 4D. Gestion de la mémoire cache La gestion du cache de données a été optimisée dans 4D 11.5. En particulier, un nouveau mécanisme effectue les opérations les plus consommatrices de mémoire dans la mémoire temporaire, ce qui permet d alléger le cache principal. La mémoire temporaire a pour avantage de n être utilisée qu en cas de besoin et ne mobilise pas les ressources de la machine. Si nécessaire, cette mémoire peut être paramétrée à l aide du nouveau sélecteur 61 des commandes FIXER PARAMETRE BASE, Lire parametre base (voir ci-dessus). 4D v11 SQL Release 5 (11.5) - Addendum 5
Par conséquent, il est possible de réduire la taille allouée au cache sans diminuer les performances de l application. Une taille de cache excessive risque d ailleurs de diminuer les performances générales du système, voire de le rendre instable. Pour plus de sécurité, la taille maximale du cache est désormais plafonnée à 2,3 Go (2 500 000 Ko). Compatibilité des index A la suite d une correction effectuée dans 4D v11 SQL Release 5 sur les traitements des chaînes de caractères, des dysfonctionnements peuvent apparaître si une table de la base contient un champ alpha indexé avec des valeurs vides et des caractères "ignorables" (par exemple Caractere(27)). Dans ce cas, il est recommandé d effectuer une vérification des index à l aide du CSM. Si vous obtenez un message du type "Problème dans la page numéro x dans l index Index B-tree x sur Table_x.Field_x : Les clés ne sont pas dans le bon ordre", il vous suffit de réindexer la table afin que tout rentre dans l ordre. A noter que tous les caractères ignorables ne génèrent pas ce problème de compatibilité. Comparaisons de chaînes (version japonaise) Cette nouveauté concerne uniquement les bases 4D v11 dont les données sont configurées en japonais. Pour des raisons d optimisation, certains mécanismes de comparaison de chaînes de caractères (utilisés lors des tris et des recherches) ont été modifiés dans 4D v11 SQL Release 5 spécifiquement pour les fichiers de données japonais. Note : La langue du fichier de données est définie via les options "Langue de comparaison de texte" dans la page Base de données/international des Préférences). Dans 4D v11 SQL, les algorithmes de comparaison de chaînes utilisent la librairie ICU (Unicode). Ces algorithmes sont détaillés sur la page suivante : http://userguide.icu-project.org/collation/concepts En principe, dans 4D les tests d égalité entre deux chaînes de caractères étaient effectués en "mode primaire" (Primary Level) et les tris en "mode tertiaire" (Tertiary Level). 6 4D v11 SQL Release 5 (11.5) - Addendum
Fonctionnement des applications 4D A compter de la release 5, lorsque la langue japonaise est sélectionnée pour la base de données, les tests d égalité sont effectués en "mode secondaire" (Secondary Level) et les tris en "mode quaternaire" (Quaternary Level) en plaçant l Hiragana en premier. Dans ce cas également, 4D utilise un algorithme spécifique (non ICU) pour l indexation des mots-clés. Pour bénéficier de ce nouveau fonctionnement, les bases de données existantes et configurées en japonais doivent être réindexées. Cette opération n est pas effectuée automatiquement : pour déclencher la réindexation, vous devez ouvrir la boîte de dialogue des Préférences et la valider (sans qu il soit nécessaire d effectuer de modification). Note : Cette manipulation est également nécessaire en cas d ouverture d un fichier de données configuré en 11.5 avec une version 11.4 ou précédente de 4D. 4D v11 SQL Release 5 (11.5) - Addendum 7
8 4D v11 SQL Release 5 (11.5) - Addendum