Page 2 sur 8

Publié : mar. 20/juin/2006 18:10
par poshu
J'ai quelques experiences d'utilisation de Mysql avec pure basic, si mon aide peut servire, je suis présent.

Publié : mar. 20/juin/2006 18:17
par Anonyme2
Excellent Flype,

je suis spectateur, je n'y connait strictement rien (ou si peu) :D

Publié : mar. 20/juin/2006 18:42
par Flype
Dr. Dri a écrit :En ce qui concerne mon code, il a l'air compliqué comme ca (79 lignes je crois ?) mais en fait il ne fait que donner un accès à quelques fonctions
Object_GetOrAllocate(*Object, Object.l)
Object_GetObject(*Object, Object.l)
Object_IsObject(*Object, Object.l)
Object_EnumerateAll(*Object, Callback, *VoidData)
Object_EnumerateStart(*Object)
Object_EnumerateNext(*Object, *ID.Long)
Object_EnumerateAbort(*Object)
Object_Free(*Object, Object.l)
Object_Init(StructureSize.l, IncrementStep.l, FreeObject)
Object_GetThreadMemory(MemoryID.l)
Object_InitThreadMemory(Size.l, InitFunction, EndFunction)
Si tu utilises ces fonctions, tu ne vas pas émuler le #PB_Any mais bel et bien utiliser le système qu'utilisent les libs natives pour créer des objets (statiques ou dynamiques)

Sinon je pense que le mieux serait de réaliser entièrement le subsystem MySQL qui servira de squelette aux autres bases de données. Aussi l'idéal serait de se borner à recoder toutes les fonctions natives et rien de plus de manière à assurer une compatibilité totale entre les subsystems.

Dri
OK je comprends mieux pour les #PB_Any.
Et merci d'ailleurs, j'adopte. On va l'utiliser pour nos database.lib !
Comment as-tu trouvé çà Dri ?

Et oui, il faut commencer par MySQL. çà devrait être rapide.
L'include libmysql.pb (PB4) étant déjà dispo, le squelette du subsystem aussi. Suffit de faire çà proprement et j'espère que Tailbite va suivre.

Publié : mar. 20/juin/2006 18:47
par Flype
poshu a écrit :J'ai quelques experiences d'utilisation de Mysql avec pure basic, si mon aide peut servire, je suis présent.
avec plaisir poshu.
j'aurais besoin de savoir si c'est un engagement dans l'équipe
ou si c'est juste quand tu es de passage. (principe du PBSOC).
:?:

Publié : mar. 20/juin/2006 18:51
par Flype
Denis a écrit :Excellent Flype,

je suis spectateur, je n'y connait strictement rien (ou si peu) :D
:wink: - bon spectacle denis.

Publié : mar. 20/juin/2006 19:14
par Dr. Dri
J'ai découvert ca dans le LibrarySDK ^^

Dri

Publié : mar. 20/juin/2006 19:40
par Bernard
Je ne suis pas très fort en base de données, mais pour avoir fait quelques essais avec SQlite et Access je suis pour un système souple permettant de gérer un maximum de type de base de données.

Publié : mar. 20/juin/2006 19:45
par Flype
salut bernard,
et tes essais étaient fructueux ?
ton expérience meme minime avec access nous intéresse
à moins que tu ne sois passé par ODBC :?:

Publié : mar. 20/juin/2006 19:54
par poshu
J'aimerais rejoindre l'équipe si le travail est assez précis. Comprends par là que je suis pas spécialiste de l'initiative personnelle.

Publié : mar. 20/juin/2006 20:10
par Flype
...et tu es le bienvenu !

et oui on va répartir - on va essayé. pour l'instant on prépare le terrain, çà ce précisera bientôt.

d'ailleurs il va falloir que je compile les différents codes nécessaires - pour qu'on ai tous la meme base de travail - et pour qu'on bosse tous sur les meme version de BDD : 5.1 pour MySQL, 3.3.6 pour SQLite, etc...

Publié : mar. 20/juin/2006 20:20
par Bernard
Dans mes tests Access je passais effectivement par ODBC, la particularité c'est je créais le DSN en début pour le détruire à la fin de programme.

Je suis passé sur SQlite qui ne nécessitait pas ODBC en utilisant les outils disponibles pour la 3.94

Publié : mar. 20/juin/2006 20:51
par Flype
Bernard a écrit :Dans mes tests Access je passais effectivement par ODBC, la particularité c'est je créais le DSN en début pour le détruire à la fin de programme.
pas bête comme idée

Publié : mer. 21/juin/2006 10:05
par Progi1984

Publié : mer. 21/juin/2006 13:07
par Flype
du boulot en veux tu en voilà...

merci progi1984, çà va m'aider ( plus tard ).

ps:
as-tu moyen de me donner le droit de modifier le 1er post de ce projet car j'aimerais y compiler nos sources/ressources. sinon tant pis, je mets tout dans le deuxième...

sinon j'ai avancé un peu hier sur le subsystem mysql.
çà fonctionne et je peux dors et déjà exécuter des requetes mysql (directe sans odbc) avec la syntaxe purebasic...

par contre, à vouloir une compatibilité totale avec les commandes d'origine, on se sent un peu bridé quand même.

juste un example :

avec la commande DatabaseColumnType(), la doc pb4 dit :
Les valeur du type peuvent être:
1: Format numérique : Long (.l) sous PureBasic
2: Format chaîne : String (.s) sous PureBasic
3: Format numérique flottant: Float (.f) sous PureBasic
4: Format numérique double : Double (.d) sous PureBasic
5: Format numérique quad : Quad (.q) sous PureBasic
donc la réalisation ressemble à çà :

Code : Tout sélectionner

Enumeration 1 ; datatypes
  
  ; PureBasic 4.0 datatypes
  
  #DATATYPE_NUMERIC
  #DATATYPE_STRING
  #DATATYPE_FLOAT
  #DATATYPE_DOUBLE
  #DATATYPE_QUAD
  
  ; MySQL SubSystem datatypes
  
  #DATATYPE_DATE
  #DATATYPE_ENUM
  #DATATYPE_BLOB
  
EndEnumeration
mais étant donné que MySQL (et les autres) gèrent bien plus que çà, j'ai rajouté des constantes 'privées' mais au risque d'une incompatibilité future. donc bon à voir, mais tout de même gérer le type 'date' n'est pas un gadget. au quotidien çà me serait utile.

au niveau de la répartition des taches je me sens bien faire le subsytem mysql moi meme parceque parti comme c'est là j'aurais fini ce weekend ou meme avant. ensuite on teste tout çà ensemble, et une fois validé, on pourra dispatcher la conversion des autres BDD aux volontaires grace à la trame de travail que constituera le subsytem mysql.

Publié : mer. 21/juin/2006 13:37
par Progi1984
Flype a écrit :du boulot en veux tu en voilà...

merci progi1984, çà va m'aider ( plus tard ).

ps:
as-tu moyen de me donner le droit de modifier le 1er post de ce projet car j'aimerais y compiler nos sources/ressources. sinon tant pis, je mets tout dans le deuxième...
Désolé, je ne peux ni te donner les droits, ni supprimer le premier post... car je n'ai pas le droit, il faudrait que tu sois modo !

PS: j'ai mis les liens dans mon premier post, si tu préfères (je peux les retirer au cas ou, ou bien mettre regarder le second post LIKE U WANT)

Première étape du projet : pas mal
Je pense que ta technique de faire le premier subsystem pour que les autres fassent pour d'autres SGBD est vraiment ce qu'il faut faire. Bon boulot :)