[Gambas-devel] Database Updates

Nigel Gerrard nigel at ...2...
Mon Jul 5 18:34:29 CEST 2004


Benoit,

I haven't done a lot of thinking about a new interface.  I've had a look at
unixODBC-2.2.8
to investigate what API's are available and they seem to be very restrictive
:-) which means
a port is going to need a little more work.

I've also done some thinking about Object Relational Databases and Object
Orientated Databases.

 http://www.garret.ru/~knizhnik/cpp.html

But again I believe the interface would need changes.

Also, what I would like to see from the gambas side (other than making the
database components
available at design time :-) is a couple of database forms similiar to those
available in the database manger
that will be part of the utility library, and can be used to quickly allow
editing of tables etc...rather like the
form components in VB. The thought is that they can be associated with a
table or a query.  I just can't get
round to doing it. :-)

Nigel

----- Original Message ----- 
From: "Benoit Minisini" <gambas at ...1...>
To: <gambas-devel at lists.sourceforge.net>
Sent: Sunday, July 04, 2004 12:33 PM
Subject: Re: [Gambas-devel] Database Updates


> On Monday 28 June 2004 20:59, Nigel Gerrard wrote:
> > Benoit,
> >
> > Everything compiles ok for me.  Here is a tar of my complete db
> > structure.
> >
> > Perhaps I have missed one of the changed files in the sqlite driver.
> > Please try comparing with what I have here.
> >
> > Nigel
> >
>
> Hi, Nigel
>
> I took your sqlite directory, and now everything compiles. :-)
>
> I saw in Changelog that you added the possibility to open a memory-only
> database. Interesting!
>
> I have just fixed a problem in Gambas, that concerns the database drivers:
> strcasecmp() and strncasecmp() use the local encoding, and so, if your
> language is turkish, then you have problems, because toupper('i') <> 'I' !
> So if you strcasecmp() a field named "myfield" with "MYFIELD", it does not
> match.
>
> The workaround I choosed is to rewrite strcasecmp() and strncasecmp() so
that
> they always use US encoding, and to add the rewrited function to the GB
> interface. The tolower() and toupper() functions are concerned too.
>
> I will replace in the database drivers every occurrence of strcasecmp()
and
> strncasecmp() by GB.strcasecmp() and GB.strncasecmp().
>
> Well. Finally, I think I will rework the database component after the 1.0.
>
> I think we should use C++ instead of C for writing database drivers,
because
> of the code each driver shares. Each driver will inherits a common virtual
> driver class.
>
> And here are the things I want to modify in the database component:
>
> * Adding an option string when connecting to a database.
>
> * Replace "virtual" collections by true collections when getting
databases,
> users, tables, fields, ...
>
> * Merge user security properties of postgresql and mysql in a unique
> interface. If possible. Anyway, the current User class is too simple.
>
> * Add an ODBC driver (by reading the ODBC driver source code of Qt).
>
> What do you think about that ? What features should we add too ?
>
> Thanks in advance for your answers.
>
> Regards,
>
> -- 
> Benoit Minisini
> mailto:gambas at ...1...
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by Black Hat Briefings & Training.
> Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
> digital self defense, top technical experts, no vendor pitches,
> unmatched networking opportunities. Visit www.blackhat.com
> _______________________________________________
> Gambas-devel mailing list
> Gambas-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-devel





More information about the Devel mailing list