[geeklog-devel] SQL Server 2005 - MSSQL Driver

Kevin J. Peno kevin at metalaxe.com
Wed May 7 12:02:02 EDT 2008

> Well, you have to understand that we're wary when someone wants to
drop an (apparently) huge patch on us, without any prior communication.

Like I said, I thought that Garrett had more communication than you have
mentioned. This is why I didn't think I was merely dropping in. As noted
by Dirk, they had contact with Garrett, but even a review of the mailing
list doesn't show that communication, unless I missed it. So I could not
assume this was the only method of conversation. Again, I apologize that
I didn't get in communication sooner, but I was under the impression
that things were taken care of. In either case, I totally understand
your reaction! :)

> We've always been trying to be backward compatible. In fact, we're
only now thinking about dropping support for PHP 4 after the upcoming
1.5.0 release.

There's actually nothing I can do about PHP < 5 in regards to the new
SQL driver. If you like, it would only take a few minor changes to
release both drivers separated from one another. I had this thought at
first, but was pushed to completely override it in favor (for obvious
reasons). If this is the direction you want to go, I'd lose none of my
work in doing so.

> My thoughts would be that if the Microsoft driver only works with
5.2.6, then the MS SQL support in Geeklog could validly only work with

I've added no PHP 5 specific code outside of the driver and do not plan
to do so. Thus, PHP 5 usage would (so far) only be within the MSSQL
driver. The purpose of my work was not to break anything existing in the
process of adding support.

> So it might be that we can only get it working with the official

The problems you are seeing is because the old PHP driver will not run
properly (at all) with SQL Server 2005+. This is similar to trying to
run a MySQL 4 client against the MySQL 5 server, exactly the same in the
case of client connections in fact. This is one reason why it is a bad
idea to work with the old driver.

> This means excellent communications, setting the RoE upfront and
explaining how the Open Source team at MS has to work, and /agreeing/
what it's going to deliver.

I totally agree with you. Like I said I expected much more was going on
than appears to have been. I will say, I was watching the list for MSSQL
activity to catch, mostly, bug reports in the currently existing driver.
Not specifically for communication, which I thought was going on
elsewhere :)

> Assumptions... Never make them.
> But to come back and say that you saw no need to interact with the
list dosen't sound very "open"

As I mostly mentioned above, it isn't really my place to interact.
Typically I'm given an introduction by my superiors, but this didn't
happen because of time issues. Because of that, I expected the other
operation (of their relaying) to happen. If I had known the situation, I
would have acted much differently,a nd I do apologize! Further, "no need
to interact" was both poor use of words and misjudgement on the message.
I was trying to relay that I expected internal responses from my
superiors, thus my place was not to interact. Again, I do apologize.

> As the original writer of the MSSQL layer, and to perform some kind of
> peer review, I wouldn't mind to see what changes you've made.

I will be meeting with Garrett soon and, as I mentioned previously, will
get you the code as soon as I possibly can so that we can get rolling

> Geeklog -- possible.
> All popular plugins -- perhaps not possible.
> ...
> For core code -- I agree.  For plugins, and especially those that are
> 100% mySQL based and popular, not sure how you can do that.

As of my position at Microsoft, I'm only worried about the core.
However, since eveyrthing I do will be in my name, I do plan personally
to continue to help your project (if your group wishes) after we've
completed the core together. I hate when someone drops a pile of work on
me and runs, and I'd never expect to do the same to anyone else.
However, our primary focus is only on the core at this time.

> I agree that the str_replace is not the optimal solution -- but you
> never assume that anyone can augment any settings in a hosted
> environment.

I know I'm the new guy that seems to have rolled in to tell you all
what's up, but trust my I'm actually trying to give contrsuctive
critisism about the driver as it was laid out. Please don't take my
comments about the current situation as if I'm just bad mouthing your
work. I am just looking for the best method to complete the work with
the least problems. The reason I mentioned the str_replace on \" to ""
for instance is because SQL Server should never need double quotes
escaped. The old PHP driver supported double quotes, the new does not.
The old driver did it the wrong way to help make it closely compatable
with MySQL. Your solution is ok for the old driver, especially since
there are queries all over with double quotes as column value sets
(which, in SQL Server, is equivilant to []), but it is horrible for the
new driver.

In the current driver have you tried turning on the ini setting for
sybase qutoes instead of str_replace the mysql style addslashes?

I will talk with my superiors today to see what other method of approval
I can take to get the code out to you guys a bit more quickly. However,
I'd really like to be sure the install process is atleast working
properly before the first release so that I can be sure the prototype is
working as expected. It is a bit hard to start getting feedback when I
haven't completely finalized and perfected the design for a first

Also, I'd like to know whom on the list should have the most involvement
in the design process. It seems a little late to try this out, but I'd
really like to do this the best way for you guys, and our relationship.
And again, I'm sorry for what appears to be a jump in on you guys. I
will do my best to reconcile the issue and repair the relationship.

Kind Regards,

Kevin Peno

More information about the geeklog-devel mailing list