freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
- From: "James K. Lowden" <jklowden AT freetds.org>
- To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
- Subject: Re: [freetds] DBD::Sybase placeholder support
- Date: Sat, 10 May 2008 12:57:09 -0400
Dan Wierenga wrote:
> > If you send me a TDSDUMP log, I hope I'd be able to tell you how it
> > works.
>
> Script and log attached.
Another surprise: that's a TDS 4.2 log. Does it also work with TDS 7.0?
As to why it works, all I can say is that ct_dynamic was added in 2005 and
reworked somewhat in 2006. Placeholder support is entirely client-side in
4.2; the query is sent interpolated to the server:
net.c:673:Sending packet
0000 01 01 00 2f 00 00 00 00-53 45 4c 45 43 54 20 62 |.../.... SELECT b|
0010 61 72 20 46 52 4f 4d 20-64 61 6e 6f 20 57 48 45 |ar FROM dano WHE|
0020 52 45 20 66 6f 6f 20 3d-20 27 6f 69 6e 6b 27 |RE foo = 'oink'|
The client isn't getting any server-side benefit; the server isn't
preparing and caching a query plan. Any benefit is limited to programming
style.
With TDS 7.0, we use Microsoft's secret stored procedures e.g.
sp_executesql. That's what I think doesn't work with ct-lib. But I'm
happy to be proved wrong!
Frediano, do we have any documentation -- ours or Microsoft's -- on
sp_prepare, sp_executesql, etc.? We should add it to tds.html.
--jkl
-
[freetds] DBD::Sybase placeholder support,
James K. Lowden, 05/07/2008
-
Re: [freetds] DBD::Sybase placeholder support,
Dan Wierenga, 05/08/2008
-
Re: [freetds] DBD::Sybase placeholder support,
James K. Lowden, 05/08/2008
-
Re: [freetds] DBD::Sybase placeholder support,
Dan Wierenga, 05/09/2008
- Re: [freetds] DBD::Sybase placeholder support, James K. Lowden, 05/10/2008
-
Re: [freetds] DBD::Sybase placeholder support,
Dan Wierenga, 05/09/2008
-
Re: [freetds] DBD::Sybase placeholder support,
James K. Lowden, 05/08/2008
-
Re: [freetds] DBD::Sybase placeholder support,
Michael Peppler, 05/12/2008
-
Re: [freetds] DBD::Sybase placeholder support,
James K. Lowden, 05/12/2008
-
Re: [freetds] DBD::Sybase placeholder support,
Dan Wierenga, 05/12/2008
- Re: [freetds] DBD::Sybase placeholder support, Dan Wierenga, 05/12/2008
-
Re: [freetds] DBD::Sybase placeholder support,
James K. Lowden, 05/12/2008
-
Re: [freetds] DBD::Sybase placeholder support,
Dan Wierenga, 05/13/2008
-
Re: [freetds] DBD::Sybase placeholder support,
James K. Lowden, 05/13/2008
- Re: [freetds] DBD::Sybase placeholder support, Dan Wierenga, 05/14/2008
- Re: [freetds] DBD::Sybase placeholder support, James K. Lowden, 05/14/2008
-
Re: [freetds] DBD::Sybase placeholder support,
James K. Lowden, 05/13/2008
-
Re: [freetds] DBD::Sybase placeholder support,
Dan Wierenga, 05/13/2008
-
Re: [freetds] DBD::Sybase placeholder support,
Dan Wierenga, 05/12/2008
-
Re: [freetds] DBD::Sybase placeholder support,
James K. Lowden, 05/12/2008
-
Re: [freetds] DBD::Sybase placeholder support,
Dan Wierenga, 05/08/2008
Archive powered by MHonArc 2.6.24.