Hello,

On Thursday 27 July 2006 18:03, Russell Howe wrote:
> Dan Langille wrote, sometime around 27/07/06 16:29:
> > On 26 Jul 2006 at 11:55, Russell Howe wrote:
> > 
> >> I haven't seen Bacula's database routines, but it seems like it's fairly 
> >> modular and so I'm guessing that adding another database wouldn't be too 
> >> much work. What would be involved?
> > 
> > I wrote the PostgreSQL module.  Things get added because the person 
> > adding it *wants* to add it.  The result: SQL Server will not get 
> > added until someone codes it.  I'm not interested in SQL Server 
> > support, so it will not be me.
> 
> Of course - I should perhaps have sent the email as an "I'd like SQL 
> Server support for the catalog - anyone interested in helping me do it?" 
> email instead of a feature request.
> 
> > This is the way it is.  Nothing personal against anyone. It's just 
> > how things work.
> 
> Oh I wasn't expecting others to really do it, but since Kern wanted all 
> feature requests submitted as per his template, and I want SQL Server 
> support, I figured I'd submit it.

Yes, that is correct -- at least for major features.

> 
> It's something I plan to do, but I haven't had time to do anything but 
> fill in the feature request form.
> 
> I was more after feedback on how to go about adding support for another 
> database and how much trouble was involved.

Ah, that is different.  I can see that I need to update the feature request 
form to ask if the submitter intends to implement the code as that is a 
critical piece of information as Dan has pointed out.

I have no objection to adding a driver for SQL Server, but support for it is a 
different problem.  I already find it quite time consuming to support 3 
different SQL engines -- basically, all three must be tested in every 
release, which is very time consuming.  Also, depending on the SQL, it may 
involve a number of core code changes since SQL is far from being a standard 
such as C where it works with every compiler.  Finally, if the SQL engine 
does not support "ALTER TABLE", as is the case with SQLite, I would be unable 
to support it as doing upgrades to tables is just too complicated without the 
ALTER TABLE command (take a look at the current CVS update_mysql_tables.in 
code compared to update_mysql_tables.in (or update_postgresql_tables.in).

If you are really interested in writing the driver, please look at the 
#defines in src/cats/cats.h to get an idea of the functions that are used -- 
most Bacula code is written in a "SQL database independent" C, then look at 
src/cats/sqlite.c, mysql.c, and postgresql.c for how we dealt with the API 
differences for those databases.  When you actually get ready to implement 
the code, let me know, and I can provide a few more details.

A much better solution to writing a driver for another SQL engine would be to 
write an ODBC driver.  That would be a project that I would support with much 
more enthousiasm.

Best regards,

Kern

> 
> > It would take knowledge of C coding, knowledge of SQL Server, and 
> > good debugging skills.
> 
> The C I can handle, the SQL Server I can probably figure out (with the 
> help of freetds etc) and the debugging is mostly a matter of dedicating 
> time to it.
> 
> I'd love to contribute something back to bacula, and as soon as the 
> opportunity presents itself, I will.
> 
> -- 
> Russell Howe
> [EMAIL PROTECTED]
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys -- and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Bacula-users mailing list
> Bacula-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bacula-users
> 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to