i added:
/// <summary>
/// Just return false, so that all names get wrapped in the back
tick "`". Since
/// MySQL is case insensitive, we don't have to worry about
mucking
up case sensitivity.
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
protected override bool IsNameSafe(string name)
{
return false;
}
to the MySqlSqlProvider.cs and it seems to work.
feel free to drop into the build and test.
On Dec 2, 2:16 pm, "Pascal Craponne" <[EMAIL PROTECTED]> wrote:
> That's probably very easy to give it a try: override the IsNameSafe() method
> for specific driver, and make it always return false.
> The next problem for this is that currently there is no difference between
> ensuring case safety and name safety, so there is a bit much more work than
> I wrote previously :)
>
> Pascal.
>
> jabber/gtalk: [EMAIL PROTECTED]
> msn: [EMAIL PROTECTED]
>
> On Tue, Dec 2, 2008 at 23:12, bryan costanich <[EMAIL PROTECTED]>wrote:
>
>
>
> > i was speaking for MySQL specifically. with mysql it wouldn't be an
> > issue. nor would it be with MS SQL (that uses a different delimeter as
> > well - [ and ]).
>
> > i can't speak for other databases. but for those databases that it
> > wouldn't be an issue, it seems like a much simpler solution.
>
> > then again, i'm not familiar with the architecture of DbLinq, so i
> > don't know if this is even handleable in the specific providers.
>
> > On Dec 2, 2:04 pm, "Pascal Craponne" <[EMAIL PROTECTED]> wrote:
> > > No, because of casing problems. A word placed between quotes may become
> > case
> > > sensitive, depending on the database. Thus, we probably would get a
> > conflict
> > > if the entities are mapped in a case insensitive way.
>
> > > Or maybe not :) We could check this for each database.
>
> > > Pascal.
>
> > > jabber/gtalk: [EMAIL PROTECTED]
> > > msn: [EMAIL PROTECTED]
>
> > > On Tue, Dec 2, 2008 at 22:51, bryan costanich <[EMAIL PROTECTED]
> > >wrote:
>
> > > > wouldn't it just be better to wrap all of the column names,etc. in
> > > > back ticks?
>
> > > > that way if new keywords were added, it wouldn't matter?
>
> > > > On Dec 2, 1:38 pm, "Pascal Craponne" <[EMAIL PROTECTED]> wrote:
> > > > > The method SqlProvider.IsNameSafe() is designed for this. You simply
> > need
> > > > to
> > > > > add the reserved keywords there. If some keywords are specific to a
> > > > vendor,
> > > > > they can be placed in the vendor's implemented of the same method
> > (there
> > > > is
> > > > > currently no inherited method).
>
> > > > > Pascal.
>
> > > > > jabber/gtalk: [EMAIL PROTECTED]
> > > > > msn: [EMAIL PROTECTED]
>
> > > > > On Tue, Dec 2, 2008 at 21:37, bryan costanich <
> > [EMAIL PROTECTED]
> > > > >wrote:
>
> > > > > > Hi all,
>
> > > > > > i found a bug in DBLinq.Data.Linq.Sugar today. it manifested itself
> > in
> > > > > > line 75 of QueryRunner, but it has to do with the select statement
> > > > > > that ran. essentially, it created a select statement that looked
> > like
> > > > > > this:
>
> > > > > > SELECT Address, BillingFirstName, BillingFullName, Order,
> > TotalPrice
> > > > > > FROM dbName.order
>
> > > > > > [note, columns removed for brevity]
>
> > > > > > the issue is that it didn't put those wonky single left quotes
> > around
> > > > > > any of the column names, and one of the columns, "order", is a
> > > > > > keyword.
>
> > > > > > i would suggest that in the case of MySQL, we put that back tick
> > mark
> > > > > > around all column names, etc.
>
> > > > > > i'll try to track down where the sql code is being generated and
> > post
> > > > > > a possible fix.
>
> > > > > > -b
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"DbLinq" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/dblinq?hl=en
-~----------~----~----~----~------~----~------~--~---