Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Drivers sybase

Posted by xmartin on 07/20/2010 01:26

J'ai écrit les quelques fichiers nécessaires (daobuilder, dbconnection, dbresultset ...) pour utiliser Jelix avec un serveur Sybase ASE. Je me connecte, je peux faire un createdao, et les opérations CRUD. Y aurait-il une procédure (batterie de tests) qui me permettrait de valider plus extensivement mon code ? Toute suggestion serait appréciée. Merci d'avance

  [Opened] Drivers sybase

Reply #1 Posted by foxmask on 07/21/2010 06:26

Bonjour,

en essayant de l'intégrer au travers de l'application TestApp peut-être ?


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Drivers sybase

Reply #2 Posted by laurentj on 07/22/2010 09:27

En effet, dans le module jelix_tests de testapp, il y a toute une serie de tests pour jdb et jdao. Pour certains tests, il faudrait ajouter un profil jdb dans le fichier de conf, et adapter ces tests pour qu'ils utilisent le profil en question (en plus des autres profils évidement).

  [Opened] Re: Drivers sybase

Reply #3 Posted by xmartin on 07/22/2010 10:42

Merci Laurent, merci aussi foxmask, de vos réponses

je me suis mis effectivement sur testapp.

Quelques soucis côté mysql avec ma version 5.5 (syntaxe create table : TYPE n'existe plus, il n'y a que ENGINE, par exemple), sinon j'ai de fait ajouté un profil sybase dans dbprofils.ini.php, et créé un fichier jdb.sybase.html_cli.php, copié de celui de pgsl et que j'adapte selon la syntaxe sybase.

A part ces spécificités sybase sur lesquelles je peux agir, je tombe aussi sur des problèmes qui me semblent liés au framework. Par exemple, le fichier jelix-tests-products-sybase.php généré automatiquement tient absolument à mettre NOW() comme valeur par défaut pour une date, alors qu'en sybase il faut GETDATE() ... Ai-je un moyen d'agir là-dessus ?

D'autres tests que celui-là (jdb spécifique / driver) pourraient-ils être adaptés pour sybase ?

PS : Je suis newbie de chez newbie en jelix. Ma boîte m'a demandé en R&D d'explorer quelques frameworks pour le web (nous ne travaillons actuellement qu'avec un langage 4GL), et un de mes pré-requis est de pouvoir accéder à Sybase ASE. Normalement Jelix ne faisait pas partie de la présélection qui m'avait été donnée (Rails et Symfony bien sûr ...), mais j'ai eu envie de faire un extra pour Jelix parce qu'il est français (cocorico) et qu'il me semble tenir la route. Vous n'allez pas me détromper ?

  [Opened] Re: Drivers sybase

Reply #4 Posted by xmartin on 07/22/2010 11:01

P.P.S :

Unit Tests "jelix_tests" module , jdb: sybase

1/1 test cases complete: 97 passes, 0 fails and 0 exceptions. Php version : 5.3.2 Jelix version: 1.2b1

  [Opened] Re: Drivers sybase

Reply #5 Posted by foxmask on 07/22/2010 13:55

xmartin a dit :
P.P.S :


Unit Tests
"jelix_tests" module , jdb: sybase

1/1 test cases complete: 97 passes, 0 fails and 0 exceptions.
Php version : 5.3.2
Jelix version: 1.2b1

bonne nouvelle :)


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Drivers sybase

Reply #6 Posted by laurentj on 07/25/2010 13:35

Par exemple, le fichier jelix-tests-products-sybase.php généré automatiquement tient absolument à mettre NOW() comme valeur par défaut pour une date, alors qu'en sybase il faut GETDATE() ... Ai-je un moyen d'agir là-dessus ?

à toi de proposer des modifications dans le code existant pour que ça fonctionne pour tout le monde.

1/1 test cases complete: 97 passes, 0 fails and 0 exceptions

Il n'y a plus qu'à soumettre ton patch sur http://developer.jelix.org ;)

  [Opened] Drivers sybase

Reply #7 Posted by xmartin on 07/25/2010 19:29

Laurent,

je viens de créer le ticket#1144 "Driver jDb pour Sybase ASE"

Je suis dispo, dans la mesure du possible, pour retravailler les fichiers, les améliorer, tester d'autres configurations que celle du développement initial, etc ..., et aussi pour d'éventuels conseils sur sybase ou autres, si quelqu'un d'autre veut vérifier ce que fait le driver.

J'ai signalé dans la description du ticket 2 lacunes que je connais (il y en a sûrement d'autres) :

  • les champs lob ne sont pas traités -> il est tout-à-fait possible qu'il y ait une solution, c'est juste que je n'ai pas pris le temps d'étudier la question pour l'instant
  • le paramètre offset d'un select n'est pas pris en compte -> là c'est vraiment problématique avec sybase, comme avec microsoft sql server sur lequel avait travaillé Yann Lecommandoux en 2008 : la notion n'existe simplement pas dans ces deux sgbd (mssql est en fait sybase ASE qui avait été revendu à microsoft il y a quelques années). Le seul contournement est celui indiqué par Yann dans son ticket : premier select masqué des lignes "offset + nombre voulu", puis dans les résultats de ce premier select, select des "nombre" derniers .... Je ne suis pas sûr qu'il faille mettre en place ce genre de manip si on tombe sur des tables avec beaucoup d'enregistrements.

A+

 
Page
  1. Drivers sybase