Full Unicode/Ansi-Support in /testing branch

The alpha/beta tester's forum for ZeosLib 7.0.x series

Report problems concerning our Delphi 2009+ version and new Zeoslib 7.0 features here.

This is a forum that will be removed once the 7.X version goes into stable!!

Moderators: gto, EgonHugeist, olehs

Locked
olehs
Zeos Dev Team
Zeos Dev Team
Posts: 118
Joined: 09.11.2009, 21:05

Post by olehs »

EgonHugeist,
I wonder why that not happens on TZTable...
Because UncachedGetTables returns database name in catalog, not in schema.

miab3,
I fixed it in rev.1727
Oleg
miab3
Zeos Test Team
Zeos Test Team
Posts: 1309
Joined: 11.05.2012, 12:32
Location: Poland

Post by miab3 »

@EgonHugeist

It's worse. Now I can not open any test procedure from AnyDAC.

D2006, r1726.

Michal
olehs
Zeos Dev Team
Zeos Dev Team
Posts: 118
Joined: 09.11.2009, 21:05

Post by olehs »

miab3,

and what about MSSQL, does TZTable work in there?
Oleg
miab3
Zeos Test Team
Zeos Test Team
Posts: 1309
Joined: 11.05.2012, 12:32
Location: Poland

Post by miab3 »

@olehs

ZTable1.TableName - '[master].[dbo].[authors]' - opens

ZStoredProc1.StoredProcName - '[master].[dbo].[ABTEST;1]' - error as attached previously
ZStoredProc1.StoredProcName - 'ABTEST;1' - ExecProc work (with the error but that's another issue)

Michal
Last edited by miab3 on 05.09.2012, 16:14, edited 1 time in total.
olehs
Zeos Dev Team
Zeos Dev Team
Posts: 118
Joined: 09.11.2009, 21:05

Post by olehs »

Ok, now I see where the problem is. Inavlid identifier quoting.
Should be
[master].[dbo].[ABTEST];1
Oleg
miab3
Zeos Test Team
Zeos Test Team
Posts: 1309
Joined: 11.05.2012, 12:32
Location: Poland

Post by miab3 »

@olehs

For [master].[dbo].[ABTEST];1
ExecProc - List index out of bounds (1)

Michal
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

Post by EgonHugeist »

olehs,
Because UncachedGetTables returns database name in catalog, not in schema.
Hmm this isn't logical for me. I wonder about because in mysql we have only a schema, right? And in MsSQL too. I propose to ask Mark befor changing this... It could have a reason, we don't know about.

Anyway this behavior actually isn't acceptable. If i assign the procedurename @runtime everything is fine..

Ok, now I see where the problem is. Inavlid identifier quoting.
And the same for MySQL. In my mind it should be:
`test`,`ABTEST`;..... right? So why do the quotes wissing here?
Best regards, Michael

You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/

Image
olehs
Zeos Dev Team
Zeos Dev Team
Posts: 118
Joined: 09.11.2009, 21:05

Post by olehs »

I propose to ask Mark befor changing this... It could have a reason, we don't know about.
A reason for what? UncachedGetTables returns database(schema) name in field Catalog for years. The new UncachedGetProcedures you've recently added returned it in Schema, so I made a patch that makes both methods return same data in same fields and it works OK.
And the same for MySQL. In my mind it should be:
`test`,`ABTEST`;..... right? So why do the quotes wissing here?
Quotting is applied using IZIdentifierConvertor, which is smart enough to add quotes only when they are really needed.

Eventually MSSQL's IZIdentifierConvertor is not smart enough to quote procedurename identifier correct.
Last edited by olehs on 05.09.2012, 17:00, edited 1 time in total.
Oleg
olehs
Zeos Dev Team
Zeos Dev Team
Posts: 118
Joined: 09.11.2009, 21:05

Post by olehs »

miab3,

Btw, what Protocol we are talking about?
Oleg
miab3
Zeos Test Team
Zeos Test Team
Posts: 1309
Joined: 11.05.2012, 12:32
Location: Poland

Post by miab3 »

@olehs

ado - SQLNCLI
Only such work (with errors) with MSSQL procedures.

Michał
olehs
Zeos Dev Team
Zeos Dev Team
Posts: 118
Joined: 09.11.2009, 21:05

Post by olehs »

miab3,

This is strange, because I don't get errors when execute [dbo].[ABTEST];1

EgonHugeist,

MSSQL returns names of procedures like ABTEST;1
where ;1 is not a part of procedure, but the index of overload.

When quoting is applied in PropertyEditor using IZIdentifierConvertor, the whole ProcedureName gets quoted [ABTEST;1] and it shouldn't. It has to be like [ABTEST];1.

But I think the problem is that TZStoredProcedure doesn't handle overloads.

Michael, do you think we can add overloads handling?
Oleg
miab3
Zeos Test Team
Zeos Test Team
Posts: 1309
Joined: 11.05.2012, 12:32
Location: Poland

Post by miab3 »

@olehs

[dbo].[ABTEST];1 - working
[master].[dbo].[ABTEST];1 - not working

D2006

Michal
olehs
Zeos Dev Team
Zeos Dev Team
Posts: 118
Joined: 09.11.2009, 21:05

Post by olehs »

miab3,

thank you very much for your feedback. This confirms that we have to add extra methods to Metadata.
Oleg
olehs
Zeos Dev Team
Zeos Dev Team
Posts: 118
Joined: 09.11.2009, 21:05

Post by olehs »

miab3,

do you know where that 'master' come from? Is it specified in your Catalog property?

I'm asking because I do my tests on SQLEXPRESS with SQLOLEDB provider, an I get [dbo].[ABTEST;1]
Oleg
miab3
Zeos Test Team
Zeos Test Team
Posts: 1309
Joined: 11.05.2012, 12:32
Location: Poland

Post by miab3 »

@olehs

I removed the 'master' from Catalog and now gets:
[dbo].[ABTEST;1]

Michal
Locked