[SOCPB 2006] Projet # 1 : Rendre facile la gestion de MySQL

Sujets variés concernant le développement en PureBasic
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

J'ai quelques experiences d'utilisation de Mysql avec pure basic, si mon aide peut servire, je suis présent.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Excellent Flype,

je suis spectateur, je n'y connait strictement rien (ou si peu) :D
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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.
Image
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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).
:?:
Image
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

Denis a écrit :Excellent Flype,

je suis spectateur, je n'y connait strictement rien (ou si peu) :D
:wink: - bon spectacle denis.
Image
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

J'ai découvert ca dans le LibrarySDK ^^

Dri
Bernard
Messages : 23
Inscription : jeu. 22/janv./2004 8:56
Localisation : Le MANS (72)

Message 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.
Bernard
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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 :?:
Image
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message 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.
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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...
Image
Bernard
Messages : 23
Inscription : jeu. 22/janv./2004 8:56
Localisation : Le MANS (72)

Message 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
Bernard
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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
Image
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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.
Image
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message 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 :)
Répondre