Vous êtes sur la page 1sur 9

4D v11 SQL Release 1 (11.

1)
ADDENDUM

Bienvenue dans la release 1 de 4D v11 SQL. Ce document prsente les


nouveauts et modifications proposes dans cette nouvelle version de
4D.

Analyse des recherches


4D propose trois nouvelles commandes permettant danalyser avec
prcision le droulement des recherches (requtes) effectues sur les
donnes. Ces commandes sont destines aux dveloppeurs souhaitant
optimiser leurs applications.
Ces trois nouvelles commandes sont places dans le thme
Recherches et tris.

DECRIRE
EXECUTION
RECHERCHE

DECRIRE EXECUTION RECHERCHE (statut)


Paramtres
statut

Type
Boolen

Description
Vrai=Enregistrer la description des requtes
Faux=Stopper lenregistrement

La commande DECRIRE EXECUTION RECHERCHE permet dactiver ou


dinactiver le mode danalyse de lexcution des recherches pour le
process courant. La commande tient compte indiffremment des
recherches effectues via le langage 4D et des requtes SQL.
Lappel de la commande avec le paramtre statut Vrai active le mode
danalyse des recherches. Dans ce mode, le moteur de 4D enregistrera
en interne deux sries dinformations spcifiques lors de chaque
requte effectue par la suite sur les donnes :

la description dtaille de la recherche juste avant son excution, cest-dire la recherche prvue (le plan de recherche),

la description dtaille de la recherche telle quelle a rellement t


excute (le chemin de recherche).

4D v11 SQL Release 1 (11.1) - Addendum

4D v11 SQL Release 1 (11.1) Addendum

Les informations enregistres incluent le type de recherche (indexe,


squentielle), le nombre denregistrements trouvs et le temps
ncessaire lexcution de chaque critre de recherche.
Vous pouvez ensuite lire ces informations laide des nouvelles
commandes Lire dernier plan recherche et Lire dernier chemin recherche.
En gnral, la description du plan dune recherche et celle de son
chemin sont identiques, mais elles peuvent toutefois diffrer car 4D
peut mettre en oeuvre des optimisations dynamiques au cours de
lexcution de la recherche, dans le but damliorer les performances.
Par exemple, une recherche indexe peut tre convertie
dynamiquement en recherche squentielle si le moteur de 4D estime
quelle sera plus rapide cest parfois le cas notamment lorsque le
nombre denregistrements parmi lesquels effectuer la recherche est
faible.
Passez Faux dans le paramtre statut lorsque vous navez plus besoin
danalyser les recherches. Le mode danalyse de lexcution des
recherches peut ralentir lapplication.

Lexemple suivant illustre le type dinformation obtenue via ces commandes en cas de requte SQL :
C_TEXTE($vResultPlan;$vResultPath)
TABLEAU TEXTE(aTitles;0)
TABLEAU TEXTE(aDirectors;0)
DECRIRE EXECUTION RECHERCHE(Vrai) `mode analyse
Debut SQL
SELECT ACTORS.FirstName, CITIES.City_Name
FROM ACTORS, CITIES
WHERE ACTORS.Birth_City_ID=CITIES.City_ID
ORDER BY 1
INTO :aTitles, :aDirectors;
Fin SQL
$vResultPlan:=Lire dernier plan recherche(Description format Texte)
$vResultPath:=Lire dernier chemin recherche(Description format Texte)
DECRIRE EXECUTION RECHERCHE(Faux) `Fin du mode analyse
A lissue de lexcution de ce code, $vResultPlan et $vResultPath
contiennent les descriptions des recherches effectues, par exemple :

$vResultPlan :
[Join] : ACTORS.Birth_City_ID = CITIES.City_ID

4D v11 SQL Release 1 (11.1) - Addendum

Analyse des recherches

$vResultPath :
And
[Merge] : ACTORS with CITIES
[Join] : ACTORS.Birth_City_ID = CITIES.City_ID (1227 records
found in 13 ms)
--> 1227 records found in 13 ms
--> 1227 records found in 14 ms

Si la constante Description format XML est passe la commande Lire


dernier chemin recherche, $vResultPath contient la description de la
recherche exprime en XML :
<QueryExecution>
<steps description="And" time="0" recordsfounds="1227">
<steps description="[Merge] : ACTORS with CITIES" time="13"
recordsfounds="1227">
<steps description="[Join] : ACTORS.Birth_City_ID =
CITIES.City_ID" time="13" recordsfounds="1227"/>
</steps>
</steps>
</QueryExecution>

Lire dernier plan


recherche

Lire dernier plan recherche (formatDesc) Chane


Paramtres
formatDesc

Type
Description
Entier long Format de description : Texte ou XML

Rsultat

Chane

Description du plan de la dernire


recherche excute

La commande Lire dernier plan recherche retourne la description


interne du plan dexcution prvu pour la dernire recherche effectue
sur les donnes. Pour plus dinformations sur les descriptions de
recherches, reportez-vous la documentation de la commande
DECRIRE EXECUTION RECHERCHE.
Cette description est retourne au format Texte ou XML en fonction de
la valeur passe dans le paramtre formatDesc. Vous pouvez passer une
des constantes suivantes, places dans le thme Recherches :
Constante

Type

Valeur

Description format Texte


Description format XML

Entier long
Entier long

0
1

4D v11 SQL Release 1 (11.1) - Addendum

4D v11 SQL Release 1 (11.1) Addendum

Cette commande retourne une valeur significative si la commande


DECRIRE EXECUTION RECHERCHE a t excute au cours de la session.
La description du plan de la dernire recherche peut tre compare la
description du chemin rel de la dernire recherche (obtenue laide
de la commande Lire dernier chemin recherche) des fins
doptimisations. Pour plus dinformations, reportez-vous la
description de la commande DECRIRE EXECUTION RECHERCHE.

Lire dernier chemin


recherche

Lire dernier chemin recherche (formatDesc) Chane


Paramtres
formatDesc

Type
Description
Entier long Format de description : Texte ou XML

Rsultat

Chane

Description du chemin de la dernire


recherche excute

La commande Lire dernier chemin recherche retourne la description


interne dtaille du chemin rel de la dernire recherche effectue sur
les donnes. Pour plus dinformations sur les descriptions de
recherches, reportez-vous la documentation de la commande
DECRIRE EXECUTION RECHERCHE.
Cette description est retourne au format Texte ou XML en fonction de
la valeur passe dans le paramtre formatDesc. Vous pouvez passer une
des constantes suivantes, places dans le thme Recherches :
Constante

Type

Valeur

Description format Texte


Description format XML

Entier long
Entier long

0
1

Cette commande retourne une valeur significative si la commande


DECRIRE EXECUTION RECHERCHE a t excute au cours de la session.
La description du chemin de la dernire recherche peut tre compare
la description du plan prvu de la dernire recherche (obtenue
laide de la commande Lire dernier plan recherche) des fins
doptimisations. Pour plus dinformations, reportez-vous la
description de la commande DECRIRE EXECUTION RECHERCHE.

4D v11 SQL Release 1 (11.1) - Addendum

Moteur SQL

Moteur SQL
Les nouveauts dcrites dans ce paragraphe concernent le moteur SQL
intgr de 4D.

Gestion de la casse
des caractres

Une nouvelle prfrence permet de modifier le mode de prise en


compte de la casse des caractres dans les requtes SQL : Tenir compte
de la casse des caractres pour les comparaisons de chanes.
Loption est situe dans la page SQL/Configuration des Prfrences :

Nouvelle option

Cette option est coche par dfaut, ce qui signifie que le moteur SQL
tablit une diffrence entre les majuscules et les minuscules lors des
comparaisons de chanes (tris et recherches). Par exemple ABC=
ABC mais ABC # Abc.
Dans certains cas, par exemple pour aligner le fonctionnement du
moteur SQL sur celui du moteur 4D, vous pourrez souhaiter que les
comparaisons de chanes ne tiennent pas compte de la casse
(ABC=Abc). Pour cela, il suffit de dslectionner loption.

4D v11 SQL Release 1 (11.1) - Addendum

4D v11 SQL Release 1 (11.1) Addendum

Nouveau slecteur pour Loption de prise en compte de la casse par le moteur SQL peut tre
FIXER PARAMETRE BASE fixe et lue par programmation laide des commandes FIXER
et Lire parametre base
PARAMETRE BASE et Lire parametre base. Pour cela, un nouveau slecteur
a t ajout :

Slecteur = 44 (Casse caractres moteur SQL)

Valeurs possibles : 0 ou 1 (0 = casse non prise en compte, 1 = casse


prise en compte)

Description : Activation ou inactivation de la prise en compte de la


casse des caractres pour les comparaisons de chanes effectues par
le moteur SQL.

Il est dsormais possible de rfrencer directement des expressions de


Rfrencer des
expressions de type type pointeur (dpoint ou non) dans les requtes SQL.
pointeur

Passage dune variable par un pointeur dpoint :


C_ENTIER LONG($vLong)
C_POINTEUR($vPointeur)
$vLong:=1
$vPointeur:=->$vLong
Debut SQL
SELECT Col1 FROM TEST WHERE Col1=:$vPointeur->;
Fin SQL

Passage dune variable par un pointeur non dpoint :


C_ENTIER LONG($vLong)
C_POINTEUR($vPointeur)
$vLong:=1
$vPointeur:=->$vLong
Debut SQL
SELECT Col1 FROM TEST WHERE Col1=:$vPointeur;
Fin SQL
Ce principe fonctionne avec tous les types de requtes SQL :
commandes ODBC, balises Debut/Fin SQL et commande CHERCHER PAR
SQL.

Note Seul un niveau de pointeur est pris en charge ; les pointeurs de


pointeurs ne peuvent pas tre utiliss.

4D v11 SQL Release 1 (11.1) - Addendum

Unicode

Unicode
4D v11 SQL Release 1 comporte plusieurs nouveauts lies la prise en
charge tendue de lUnicode.

Menus

Dans une application 4D, les menus et leurs libells peuvent dsormais
tre affichs en Unicode. Cette possibilit permet dutiliser par exemple
des caractres japonais et grecs dans le mme menu. Cette nouveaut
concerne tous les types de menus, quils aient t crs via lditeur de
menus ou par programmation.
Bien entendu, cette fonction est disponible uniquement lorsque le
mode Unicode est activ dans la base.

Option Type alpha


par dfaut

Loption de compilation Type alpha par dfaut de la page Mode


Dveloppement/Compilateur est supprime lorsque la base fonctionne
en mode Unicode :

Mode compatibilit (non Unicode)

Mode Unicode

En mode Unicode, le type Texte est automatiquement utilis.

4D v11 SQL Release 1 (11.1) - Addendum

4D v11 SQL Release 1 (11.1) Addendum

Remplacer chaine

Remplacer chaine (source; obsolte; nouveau{; remplacements}{; *}})


Chane
Paramtres
source
obsolte
nouveau
remplacements

Type
Chane
Chane
Chane
Numrique

Description
Chane de dpart
Caractre(s) remplacer
Chane de remplacement
Nombre de remplacements effectuer
Si pass : valuation diacritique

Rsultat

Chane

Chane rsultante

La commande Remplacer chaine admet dsormais lastrisque * en


dernier paramtre. Si vous passez ce paramtre, vous indiquez que
lvaluation des caractres doit tre diacritique, cest--dire quelle doit
tenir compte de la casse des caractres et des caractres accentus (a#A,
a#...).
Ce principe est illustr dans les exemples suivants :
vRsultat:=Remplacer chaine("Crme brle";"Brulee";"caramel")
`vRsultat est gal "Crme caramel"
vRsultat:=Remplacer chaine("Crme brle";"Brulee";"caramel";*)
`vRsultat est gal "Crme brle"

4D View

Dans la nouvelle version du plug-in 4D View, la saisie et laffichage de


caractres seffectue dsormais en Unicode. Ce mode est actif quel que
soit ltat de loption Unicode de 4D.
4D View v11.1 peut ouvrir les documents crs en version prcdente.
En revanche, les documents 4D View crs partir de la version 11.1
ne pourront pas tre rouverts en version 11 ou 2004.x.

4D v11 SQL Release 1 (11.1) - Addendum

Autres nouveauts

Autres nouveauts
Etats rapides et
paramtres
dimpression

Pour maintenir la cohrence de vos interfaces, 4D uniformise


dsormais les paramtres dimpression des zones dtats rapides et
celles de lapplication.
Dans les versions prcdentes de 4D, les paramtres dimpression des
zones dtats rapides taient stocks sparment avec chaque tat. Les
ventuelles modifications des paramtres dimpression de 4D ntaient
pas reportes sur les tats rapides et inversement.
A compter de la version 11.1, les paramtres dimpression sont
toujours identiques dans 4D et dans les zones dtats rapides. Toute
modification effectue sur les paramtres dimpression de 4D est
reporte sur ceux des tats rapides. A linverse, lors du chargement dun
tat rapide, les paramtres dimpression de ltat remplacent ceux de
4D.

Coordonnes du clic 4D permet dsormais de rcuprer les coordonnes locales dun clic
sur une image
dans un champ ou une variable image, mme si un dfilement ou un
zoom a t appliqu limage.
Les coordonnes du clic sont retournes dans les variables systme
MouseX et MouseY. Les coordonnes sont exprimes en pixels par
rapport langle suprieur gauche de limage (0,0). Vous devez lire la
valeur de ces variables dans le cadre de lvnement formulaire Sur clic
ou Sur double clic.
Pour que ce mcanisme fonctionne correctement, le format daffichage
doit tre Image tronque (non centre).
Ce mcanisme, proche de celui dune image map, peut tre utilis par
exemple pour grer des barres de boutons dfilables ou linterface de
logiciels de cartographie.

4D v11 SQL Release 1 (11.1) - Addendum