freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
RE: [freetds] multiple results for a single query: COMPUTE BY cla use gives unkn own marker: 1(1)!!
- From: "Thompson, Bill D (London)" <bill_d_thompson AT ml.com>
- To: "'FreeTDS Development Group'" <freetds AT lists.ibiblio.org>
- Subject: RE: [freetds] multiple results for a single query: COMPUTE BY cla use gives unkn own marker: 1(1)!!
- Date: Thu, 30 Oct 2003 09:45:48 -0000
Hi Garrett,
Now the "multiple result sets" issue.
There's a bit of a terminology confusion. I'll explain a little.
TDS is a strictyly "conversational" protocol.
The client sends a message to the server, and the server sends a response,
typically:
client sends a query:
"select * from authors"
server sends a response, consisting of:
results metadata (describing the result set - number of columns and their
types, and order)
row data (one for each row returned - interpretable from the results
metadata)
done message.
The client needs to deal with this entire response, before initiating
another "call-response" pair.
It can process the response or throw all or part of it away, but it needs to
clear the conversational channel one way or another before proceeding.
This has implications for what the client can do. In particular the client
can't do the following (in pseudo-code):
send_query ("select au_id from authors")
while (get_returned_row(:my_author)) {
send_query("delete title_author where au_id = :my_author")
}
...at least not on the same database connection.
If you wan't to do this sort of processing, then you must open up two
connections to the database.
This is what is meant when in FREETDS terms we say that "multiple result
sets aren't supported" .
What we're really saying is that "multiple concurrent conversations on the
same database connection are not supported"
In the case of a query with a compute clause, a server response may contain
more than one set of results metadata, and we can (or should be able to)
handle that.
HTH,
Bill
> -----Original Message-----
> From: Garrett Goebel [SMTP:garrett AT scriptpro.com]
> Sent: 29 October 2003 18:46
> To: 'FreeTDS Development Group'
> Subject: [freetds] multiple results for a single query: COMPUTE BY
> clause gives unkn own marker: 1(1)!!
>
> I've been working through Ken Henderson's "The Guru's Guide to
> Transact-SQL"
> and ran across mention that the COMPUTE BY clause generates multiple
> results
> for a single query. This reminded me of the reoccuring "multiple result
> sets
> aren't supported" FAQs on the list. So I decided to try it out using
> DBD::ODBC on Linux w/ FreeTDS 0.61 and Win32 with native ODBC support and
> SQL Server driver. It works as expected on windows, and doesn't on linux
> w/
> freetds.
>
> Transact sql's COMPUTE BY clause can cause multiple results for a single
> query.
>
> According to the freetds list, tds doesn't support multiple result sets.
>
> Can anyone explain how both those statements are true? Either way, freetds
> apparently doesn't support whatever backhanded hackery is necessary to
> support statements using the COMPUTE BY clause. Hope the following is
> helpful...
>
>
> Here's the setup:
>
> create database gg_ts
> go
> use gg_ts
> go
> create table timeclock (
> employee varchar(30),
> timein smalldatetime,
> timeout smalldatetime
> )
> insert timeclock values('Pythia','07:31:34','12:04:01')
> insert timeclock values('Pythia','12:45:10','17:32:49')
> insert timeclock values('Dionysus','9:31:29','10:46:55')
> insert timeclock values('Dionysus','10:59:32','11:39:12')
> insert timeclock values('Dionysus','13:05:16','14:07:41')
> insert timeclock values('Dionysus','14:11:49','14:57:02')
> insert timeclock values('Dionysus','15:04:12','15:08:38')
> insert timeclock values('Dionysus','15:10:31','16:13:58')
> insert timeclock values('Dionysus','16:18:24','16:58:01')
>
>
> Here's the select query:
>
> select t1.employee,
> dateadd(mi,1,t1.timeout) as StartOfLoafing,
> dateadd(mi,-1,t2.timein) as EndOfLoafing,
> datediff(mi,t1.timeout,t2.timein) as LengthOfLoafing
> from timeclock t1
> join timeclock t2 on (t1.employee=t2.employee)
> where (dateadd(mi,1,t1.timeout)=(
> select max(dateadd(mi,1,t3.timeout))
> from timeclock t3
> where (t3.employee=t1.employee)
> and (dateadd(mi,1,t3.timeout)<=dateadd(mi,-1,t2.timeout)))
> )
> order by t1.employee
> compute sum(datediff(mi,t1.timeout,t2.timein)) by t1.employee
>
>
> Here's the significant portion of the perl script:
>
> use DBI;
> my $dbh = DBI->connect(...) or die DBI->errstr;
> #$dbh->trace(4);
> my $sth = $dbh->prepare(...);
> $sth->execute();
> do {
> my $data;
> while $data = $sth->fetch
> printf "%8s | %19s | %19s | %3s\n", @$data;
> }
> } while ($sth->{odbc_more_results});
> $sth->finish();
> $dbh->disconnect;
> 1;
> __END__
>
>
> Here's the output of the perl script on Win32:
>
> Dionysus | 1900-01-01 10:48:00 | 1900-01-01 10:59:00 | 13
> Dionysus | 1900-01-01 11:40:00 | 1900-01-01 13:04:00 | 86
> Dionysus | 1900-01-01 14:09:00 | 1900-01-01 14:11:00 | 4
> Dionysus | 1900-01-01 14:58:00 | 1900-01-01 15:03:00 | 7
> Dionysus | 1900-01-01 15:10:00 | 1900-01-01 15:10:00 | 2
> Dionysus | 1900-01-01 16:15:00 | 1900-01-01 16:17:00 | 4
> 116 | | |
> Pythia | 1900-01-01 12:05:00 | 1900-01-01 12:44:00 | 41
> 41 | | |
>
>
> Here's the output of the perl script on Linux w/ FreeTDS:
>
> DBD::ODBC::st fetch failed: (DBD: st_fetch/SQLFetch err=-1) at ...
> DBD::ODBC::st fetch failed: (DBD: st_fetch/SQLFetch err=-1) at ...
>
>
> Here's the freetds.log
>
> Starting log file with debug level 99.
> 2003-10-29 12:23:18.406853 iconv will convert client-side data to the ""
> character set
> 2003-10-29 12:23:18.407262 Connecting addr 192.168.197.88 port 1433 with
> TDS
> version 7.0
> 2003-10-29 12:23:18.407931 inside tds_process_login_tokens()
> Received header @ 2003-10-29 12:23:18.413413
> 0000 04 01 01 8c 00 00 00 00 |........|
>
>
> Received packet @ 2003-10-29 12:23:18.413503
> 0000 e3 19 00 01 05 67 00 67 00 5f 00 74 00 73 00 06 |.....g.g
> ._.t.s..|
> 0010 6d 00 61 00 73 00 74 00 65 00 72 00 ab 5c 00 45 |m.a.s.t.
> e.r..\.E|
> 0020 16 00 00 02 00 24 00 43 00 68 00 61 00 6e 00 67 |.....$.C
> .h.a.n.g|
> 0030 00 65 00 64 00 20 00 64 00 61 00 74 00 61 00 62 |.e.d. .d
> .a.t.a.b|
> 0040 00 61 00 73 00 65 00 20 00 63 00 6f 00 6e 00 74 |.a.s.e.
> .c.o.n.t|
> 0050 00 65 00 78 00 74 00 20 00 74 00 6f 00 20 00 27 |.e.x.t. .t.o.
> .'|
> 0060 00 67 00 67 00 5f 00 74 00 73 00 27 00 2e 00 04 |.g.g._.t
> .s.'....|
> 0070 52 00 44 00 5f 00 51 00 00 00 00 e3 17 00 02 0a |R.D._.Q.
> ........|
> 0080 75 00 73 00 5f 00 65 00 6e 00 67 00 6c 00 69 00 |u.s._.e.
> n.g.l.i.|
> 0090 73 00 68 00 00 ab 62 00 47 16 00 00 01 00 27 00 |s.h...b.
> G.....'.|
> 00a0 43 00 68 00 61 00 6e 00 67 00 65 00 64 00 20 00 |C.h.a.n. g.e.d.
> .|
> 00b0 6c 00 61 00 6e 00 67 00 75 00 61 00 67 00 65 00 |l.a.n.g.
> u.a.g.e.|
> 00c0 20 00 73 00 65 00 74 00 74 00 69 00 6e 00 67 00 | .s.e.t.
> t.i.n.g.|
> 00d0 20 00 74 00 6f 00 20 00 75 00 73 00 5f 00 65 00 | .t.o. .
> u.s._.e.|
> 00e0 6e 00 67 00 6c 00 69 00 73 00 68 00 2e 00 04 52 |n.g.l.i.
> s.h....R|
> 00f0 00 44 00 5f 00 51 00 00 00 00 e3 0f 00 03 05 69 |.D._.Q..
> .......i|
> 0100 00 73 00 6f 00 5f 00 31 00 01 00 00 e3 0b 00 05 |.s.o._.1
> ........|
> 0110 04 31 00 30 00 33 00 33 00 00 e3 0f 00 06 06 31 |.1.0.3.3
> .......1|
> 0120 00 39 00 36 00 36 00 30 00 39 00 00 ad 36 00 01 |.9.6.6.0
> .9...6..|
> 0130 07 00 00 00 16 4d 00 69 00 63 00 72 00 6f 00 73 |.....M.i
> .c.r.o.s|
> 0140 00 6f 00 66 00 74 00 20 00 53 00 51 00 4c 00 20 |.o.f.t. .S.Q.L.
> |
> 0150 00 53 00 65 00 72 00 76 00 65 00 72 00 00 00 00 |.S.e.r.v
> .e.r....|
> 0160 00 07 00 03 4a e3 13 00 04 04 34 00 30 00 39 00 |....J...
> ..4.0.9.|
> 0170 36 00 04 34 00 30 00 39 00 36 00 fd 00 00 00 00 |6..4.0.9
> .6......|
> 0180 00 00 00 00 |....|
>
>
> 2003-10-29 12:23:18.414294 inside tds_process_default_tokens() marker is
> e3(ENVCHANGE)
> 2003-10-29 12:23:18.414388 inside tds_process_default_tokens() marker is
> ab(INFO)
> 2003-10-29 12:23:18.414486 inside tds_process_default_tokens() marker is
> e3(ENVCHANGE)
> 2003-10-29 12:23:18.414547 inside tds_process_default_tokens() marker is
> ab(INFO)
> 2003-10-29 12:23:18.414627 inside tds_process_default_tokens() marker is
> e3(ENVCHANGE)
> 2003-10-29 12:23:18.414688 inside tds_process_default_tokens() marker is
> e3(ENVCHANGE)
> 2003-10-29 12:23:18.414747 inside tds_process_default_tokens() marker is
> e3(ENVCHANGE)
> 2003-10-29 12:23:18.414807 inside tds_process_default_tokens() marker is
> e3(ENVCHANGE)
> 2003-10-29 12:23:18.414866 increasing block size from 4096 to 4096
> 2003-10-29 12:23:18.414932 inside tds_process_default_tokens() marker is
> fd(DONE)
> 2003-10-29 12:23:18.414993 inside tds_process_end() more_results = 0,
> was_cancelled = 0
> 2003-10-29 12:23:18.415053 inside tds_process_default_tokens() setting
> state
> to COMPLETED
> Sending packet @ 2003-10-29 12:23:18.415151
> 0000 01 01 00 22 00 00 01 00 73 00 65 00 6c 00 65 00 |..."....
> s.e.l.e.|
> 0010 63 00 74 00 20 00 40 00 40 00 73 00 70 00 69 00 |c.t. .@.
> @.s.p.i.|
> 0020 64 00 |d.|
>
>
> Received header @ 2003-10-29 12:23:18.415834
> 0000 04 01 00 1d 00 00 00 00 |........|
>
>
> Received packet @ 2003-10-29 12:23:18.415910
> 0000 81 01 00 00 00 00 00 34 00 d1 12 00 fd 10 00 c1 |.......4
> ........|
> 0010 00 01 00 00 00 |.....|
>
>
> 2003-10-29 12:23:18.415993 processing result tokens. marker is
> 81(TDS7_RESULT)
> 2003-10-29 12:23:18.416067 tds7_get_data_info:1083:
> type = 52 (smallint)
> column_varint_size = 0
> colname =
> colnamelen = 0
> 2003-10-29 12:23:18.416193 processing row tokens. marker is d1(ROW)
> 2003-10-29 12:23:18.416246 processing row. column is 0 varint size = 0
> 2003-10-29 12:23:18.416298 processing row. column size is 2
> 2003-10-29 12:23:18.416349 clearing column 0 NULL bit
> 2003-10-29 12:23:18.416395 processing row tokens. marker is fd(DONE)
> 2003-10-29 12:23:18.416444 inside tds_process_end() more_results = 0,
> was_cancelled = 0
> 2003-10-29 12:23:18.416502 inside tds_process_result_tokens() state is
> COMPLETED
> 2003-10-29 12:23:18.416555 leaving tds_process_login_tokens() returning 1
> SQLGetFunctions: fFunction is 1
> SQLGetFunctions: fFunction is 2
> SQLGetFunctions: fFunction is 1001
> SQLGetFunctions: fFunction is 3
> SQLGetFunctions: fFunction is 4
> SQLGetFunctions: fFunction is 72
> SQLGetFunctions: fFunction is 5
> SQLGetFunctions: fFunction is 6
> SQLGetFunctions: fFunction is 40
> SQLGetFunctions: fFunction is 7
> SQLGetFunctions: fFunction is 8
> SQLGetFunctions: fFunction is 9
> SQLGetFunctions: fFunction is 41
> SQLGetFunctions: fFunction is 1005
> SQLGetFunctions: fFunction is 10
> SQLGetFunctions: fFunction is 11
> SQLGetFunctions: fFunction is 12
> SQLGetFunctions: fFunction is 13
> SQLGetFunctions: fFunction is 15
> SQLGetFunctions: fFunction is 1006
> SQLGetFunctions: fFunction is 16
> SQLGetFunctions: fFunction is 14
> SQLGetFunctions: fFunction is 42
> SQLGetFunctions: fFunction is 43
> SQLGetFunctions: fFunction is 1010
> SQLGetFunctions: fFunction is 44
> SQLGetFunctions: fFunction is 45
> SQLGetFunctions: fFunction is 1014
> SQLGetFunctions: fFunction is 46
> SQLGetFunctions: fFunction is 47
> SQLGetFunctions: fFunction is 61
> SQLGetFunctions: fFunction is 63
> SQLGetFunctions: fFunction is 18
> SQLGetFunctions: fFunction is 48
> SQLGetFunctions: fFunction is 19
> SQLGetFunctions: fFunction is 49
> SQLGetFunctions: fFunction is 20
> SQLGetFunctions: fFunction is 1016
> SQLGetFunctions: fFunction is 50
> SQLGetFunctions: fFunction is 1019
> SQLGetFunctions: fFunction is 51
> SQLGetFunctions: fFunction is 54
> SQLGetFunctions: fFunction is 23
> SQLGetFunctions: fFunction is 1011
> change_autocommit: executing set implicit_transactions off
> Sending packet @ 2003-10-29 12:23:18.418253
> 0000 01 01 00 42 00 00 01 00 73 00 65 00 74 00 20 00 |...B.... s.e.t.
> .|
> 0010 69 00 6d 00 70 00 6c 00 69 00 63 00 69 00 74 00 |i.m.p.l.
> i.c.i.t.|
> 0020 5f 00 74 00 72 00 61 00 6e 00 73 00 61 00 63 00 |_.t.r.a.
> n.s.a.c.|
> 0030 74 00 69 00 6f 00 6e 00 73 00 20 00 6f 00 66 00 |t.i.o.n. s.
> .o.f.|
> 0040 66 00 |f.|
>
>
> Received header @ 2003-10-29 12:23:18.419019
> 0000 04 01 00 11 00 00 00 00 |........|
>
>
> Received packet @ 2003-10-29 12:23:18.419096
> 0000 fd 00 00 ba 00 00 00 00 00 |........ .|
>
>
> 2003-10-29 12:23:18.419154 processing result tokens. marker is fd(DONE)
> 2003-10-29 12:23:18.419205 inside tds_process_end() more_results = 0,
> was_cancelled = 0
> 2003-10-29 12:23:18.419264 inside tds_process_result_tokens() state is
> COMPLETED
> change_autocommit: executing set implicit_transactions off
> Sending packet @ 2003-10-29 12:23:18.420323
> 0000 01 01 00 42 00 00 01 00 73 00 65 00 74 00 20 00 |...B.... s.e.t.
> .|
> 0010 69 00 6d 00 70 00 6c 00 69 00 63 00 69 00 74 00 |i.m.p.l.
> i.c.i.t.|
> 0020 5f 00 74 00 72 00 61 00 6e 00 73 00 61 00 63 00 |_.t.r.a.
> n.s.a.c.|
> 0030 74 00 69 00 6f 00 6e 00 73 00 20 00 6f 00 66 00 |t.i.o.n. s.
> .o.f.|
> 0040 66 00 |f.|
>
>
> Received header @ 2003-10-29 12:23:18.421040
> 0000 04 01 00 11 00 00 00 00 |........|
>
>
> Received packet @ 2003-10-29 12:23:18.421116
> 0000 fd 00 00 ba 00 00 00 00 00 |........ .|
>
>
> 2003-10-29 12:23:18.421174 processing result tokens. marker is fd(DONE)
> 2003-10-29 12:23:18.421225 inside tds_process_end() more_results = 0,
> was_cancelled = 0
> 2003-10-29 12:23:18.421284 inside tds_process_result_tokens() state is
> COMPLETED
> Sending packet @ 2003-10-29 12:23:18.422352
> 0000 01 01 03 f8 00 00 01 00 73 00 65 00 6c 00 65 00 |........
> s.e.l.e.|
> 0010 63 00 74 00 09 00 74 00 31 00 2e 00 65 00 6d 00 |c.t...t.
> 1...e.m.|
> 0020 70 00 6c 00 6f 00 79 00 65 00 65 00 2c 00 0a 00 |p.l.o.y.
> e.e.,...|
> 0030 09 00 64 00 61 00 74 00 65 00 61 00 64 00 64 00 |..d.a.t.
> e.a.d.d.|
> 0040 28 00 6d 00 69 00 2c 00 31 00 2c 00 74 00 31 00 |(.m.i.,.
> 1.,.t.1.|
> 0050 2e 00 74 00 69 00 6d 00 65 00 6f 00 75 00 74 00 |..t.i.m.
> e.o.u.t.|
> 0060 29 00 20 00 61 00 73 00 20 00 53 00 74 00 61 00 |). .a.s.
> .S.t.a.|
> 0070 72 00 74 00 4f 00 66 00 4c 00 6f 00 61 00 66 00 |r.t.O.f.
> L.o.a.f.|
> 0080 69 00 6e 00 67 00 2c 00 0a 00 09 00 64 00 61 00 |i.n.g.,.
> ....d.a.|
> 0090 74 00 65 00 61 00 64 00 64 00 28 00 6d 00 69 00 |t.e.a.d.
> d.(.m.i.|
> 00a0 2c 00 2d 00 31 00 2c 00 74 00 32 00 2e 00 74 00 |,.-.1.,.
> t.2...t.|
> 00b0 69 00 6d 00 65 00 69 00 6e 00 29 00 20 00 61 00 |i.m.e.i. n.).
> .a.|
> 00c0 73 00 20 00 45 00 6e 00 64 00 4f 00 66 00 4c 00 |s. .E.n.
> d.O.f.L.|
> 00d0 6f 00 61 00 66 00 69 00 6e 00 67 00 2c 00 0a 00 |o.a.f.i.
> n.g.,...|
> 00e0 09 00 64 00 61 00 74 00 65 00 64 00 69 00 66 00 |..d.a.t.
> e.d.i.f.|
> 00f0 66 00 28 00 6d 00 69 00 2c 00 74 00 31 00 2e 00 |f.(.m.i.
> ,.t.1...|
> 0100 74 00 69 00 6d 00 65 00 6f 00 75 00 74 00 2c 00 |t.i.m.e.
> o.u.t.,.|
> 0110 74 00 32 00 2e 00 74 00 69 00 6d 00 65 00 69 00 |t.2...t.
> i.m.e.i.|
> 0120 6e 00 29 00 20 00 61 00 73 00 20 00 4c 00 65 00 |n.). .a. s.
> .L.e.|
> 0130 6e 00 67 00 74 00 68 00 4f 00 66 00 4c 00 6f 00 |n.g.t.h.
> O.f.L.o.|
> 0140 61 00 66 00 69 00 6e 00 67 00 0a 00 66 00 72 00 |a.f.i.n.
> g...f.r.|
> 0150 6f 00 6d 00 09 00 74 00 69 00 6d 00 65 00 63 00 |o.m...t.
> i.m.e.c.|
> 0160 6c 00 6f 00 63 00 6b 00 20 00 74 00 31 00 0a 00 |l.o.c.k.
> .t.1...|
> 0170 09 00 6a 00 6f 00 69 00 6e 00 20 00 74 00 69 00 |..j.o.i. n.
> .t.i.|
> 0180 6d 00 65 00 63 00 6c 00 6f 00 63 00 6b 00 20 00 |m.e.c.l. o.c.k.
> .|
> 0190 74 00 32 00 20 00 6f 00 6e 00 20 00 28 00 74 00 |t.2. .o. n.
> .(.t.|
> 01a0 31 00 2e 00 65 00 6d 00 70 00 6c 00 6f 00 79 00 |1...e.m.
> p.l.o.y.|
> 01b0 65 00 65 00 3d 00 74 00 32 00 2e 00 65 00 6d 00 |e.e.=.t.
> 2...e.m.|
> 01c0 70 00 6c 00 6f 00 79 00 65 00 65 00 29 00 0a 00 |p.l.o.y.
> e.e.)...|
> 01d0 77 00 68 00 65 00 72 00 65 00 09 00 28 00 64 00 |w.h.e.r.
> e...(.d.|
> 01e0 61 00 74 00 65 00 61 00 64 00 64 00 28 00 6d 00 |a.t.e.a.
> d.d.(.m.|
> 01f0 69 00 2c 00 31 00 2c 00 74 00 31 00 2e 00 74 00 |i.,.1.,.
> t.1...t.|
> 0200 69 00 6d 00 65 00 6f 00 75 00 74 00 29 00 3d 00 |i.m.e.o.
> u.t.).=.|
> 0210 28 00 0a 00 09 00 09 00 73 00 65 00 6c 00 65 00 |(.......
> s.e.l.e.|
> 0220 63 00 74 00 20 00 6d 00 61 00 78 00 28 00 64 00 |c.t. .m.
> a.x.(.d.|
> 0230 61 00 74 00 65 00 61 00 64 00 64 00 28 00 6d 00 |a.t.e.a.
> d.d.(.m.|
> 0240 69 00 2c 00 31 00 2c 00 74 00 33 00 2e 00 74 00 |i.,.1.,.
> t.3...t.|
> 0250 69 00 6d 00 65 00 6f 00 75 00 74 00 29 00 29 00 |i.m.e.o.
> u.t.).).|
> 0260 0a 00 09 00 09 00 66 00 72 00 6f 00 6d 00 20 00 |......f. r.o.m.
> .|
> 0270 74 00 69 00 6d 00 65 00 63 00 6c 00 6f 00 63 00 |t.i.m.e.
> c.l.o.c.|
> 0280 6b 00 20 00 74 00 33 00 0a 00 09 00 09 00 77 00 |k. .t.3.
> ......w.|
> 0290 68 00 65 00 72 00 65 00 20 00 28 00 74 00 33 00 |h.e.r.e.
> .(.t.3.|
> 02a0 2e 00 65 00 6d 00 70 00 6c 00 6f 00 79 00 65 00 |..e.m.p.
> l.o.y.e.|
> 02b0 65 00 3d 00 74 00 31 00 2e 00 65 00 6d 00 70 00 |e.=.t.1.
> ..e.m.p.|
> 02c0 6c 00 6f 00 79 00 65 00 65 00 29 00 0a 00 09 00 |l.o.y.e.
> e.).....|
> 02d0 09 00 20 00 20 00 61 00 6e 00 64 00 20 00 28 00 |.. . .a. n.d.
> .(.|
> 02e0 64 00 61 00 74 00 65 00 61 00 64 00 64 00 28 00 |d.a.t.e.
> a.d.d.(.|
> 02f0 6d 00 69 00 2c 00 31 00 2c 00 74 00 33 00 2e 00 |m.i.,.1.
> ,.t.3...|
> 0300 74 00 69 00 6d 00 65 00 6f 00 75 00 74 00 29 00 |t.i.m.e.
> o.u.t.).|
> 0310 3c 00 3d 00 64 00 61 00 74 00 65 00 61 00 64 00 |<.=.d.a.
> t.e.a.d.|
> 0320 64 00 28 00 6d 00 69 00 2c 00 2d 00 31 00 2c 00 |d.(.m.i.
> ,.-.1.,.|
> 0330 74 00 32 00 2e 00 74 00 69 00 6d 00 65 00 6f 00 |t.2...t.
> i.m.e.o.|
> 0340 75 00 74 00 29 00 29 00 29 00 0a 00 09 00 29 00 |u.t.).).
> ).....).|
> 0350 0a 00 6f 00 72 00 64 00 65 00 72 00 20 00 62 00 |..o.r.d. e.r.
> .b.|
> 0360 79 00 20 00 74 00 31 00 2e 00 65 00 6d 00 70 00 |y. .t.1.
> ..e.m.p.|
> 0370 6c 00 6f 00 79 00 65 00 65 00 0a 00 63 00 6f 00 |l.o.y.e.
> e...c.o.|
> 0380 6d 00 70 00 75 00 74 00 65 00 20 00 73 00 75 00 |m.p.u.t. e.
> .s.u.|
> 0390 6d 00 28 00 64 00 61 00 74 00 65 00 64 00 69 00 |m.(.d.a.
> t.e.d.i.|
> 03a0 66 00 66 00 28 00 6d 00 69 00 2c 00 74 00 31 00 |f.f.(.m.
> i.,.t.1.|
> 03b0 2e 00 74 00 69 00 6d 00 65 00 6f 00 75 00 74 00 |..t.i.m.
> e.o.u.t.|
> 03c0 2c 00 74 00 32 00 2e 00 74 00 69 00 6d 00 65 00 |,.t.2...
> t.i.m.e.|
> 03d0 69 00 6e 00 29 00 29 00 20 00 62 00 79 00 20 00 |i.n.).). .b.y.
> .|
> 03e0 74 00 31 00 2e 00 65 00 6d 00 70 00 6c 00 6f 00 |t.1...e.
> m.p.l.o.|
> 03f0 79 00 65 00 65 00 0a 00 |y.e.e...|
>
>
> Received header @ 2003-10-29 12:23:18.429375
> 0000 04 01 01 6e 00 00 00 00 |...n....|
>
>
> Received packet @ 2003-10-29 12:23:18.429452
> 0000 81 04 00 00 00 09 00 a7 1e 00 08 65 00 6d 00 70 |........
> ...e.m.p|
> 0010 00 6c 00 6f 00 79 00 65 00 65 00 00 00 01 00 6f |.l.o.y.e
> .e.....o|
> 0020 04 0e 53 00 74 00 61 00 72 00 74 00 4f 00 66 00 |..S.t.a.
> r.t.O.f.|
> 0030 4c 00 6f 00 61 00 66 00 69 00 6e 00 67 00 00 00 |L.o.a.f.
> i.n.g...|
> 0040 01 00 6f 04 0c 45 00 6e 00 64 00 4f 00 66 00 4c |..o..E.n
> .d.O.f.L|
> 0050 00 6f 00 61 00 66 00 69 00 6e 00 67 00 00 00 01 |.o.a.f.i
> .n.g....|
> 0060 00 26 04 0f 4c 00 65 00 6e 00 67 00 74 00 68 00 |.&..L.e.
> n.g.t.h.|
> 0070 4f 00 66 00 4c 00 6f 00 61 00 66 00 69 00 6e 00 |O.f.L.o.
> a.f.i.n.|
> 0080 67 00 88 01 00 01 00 01 01 00 4d 04 00 00 00 01 |g.......
> ..M.....|
> 0090 00 26 04 00 a9 02 00 01 00 d1 08 00 44 69 6f 6e |.&......
> ....Dion|
> 00a0 79 73 75 73 04 00 00 88 02 04 00 00 93 02 04 0d |ysus....
> ........|
> 00b0 00 00 00 d1 08 00 44 69 6f 6e 79 73 75 73 04 00 |......Di
> onysus..|
> 00c0 00 bc 02 04 00 00 10 03 04 56 00 00 00 d1 08 00 |........
> .V......|
> 00d0 44 69 6f 6e 79 73 75 73 04 00 00 51 03 04 00 00 |Dionysus
> ...Q....|
> 00e0 53 03 04 04 00 00 00 d1 08 00 44 69 6f 6e 79 73 |S.......
> ..Dionys|
> 00f0 75 73 04 00 00 82 03 04 00 00 87 03 04 07 00 00 |us......
> ........|
> 0100 00 d1 08 00 44 69 6f 6e 79 73 75 73 04 00 00 8e |....Dion
> ysus....|
> 0110 03 04 00 00 8e 03 04 02 00 00 00 d1 08 00 44 69 |........
> ......Di|
> 0120 6f 6e 79 73 75 73 04 00 00 cf 03 04 00 00 d1 03 |onysus..
> ........|
> 0130 04 04 00 00 00 d3 01 00 04 74 00 00 00 d1 06 00 |........
> .t......|
> 0140 50 79 74 68 69 61 04 00 00 d5 02 04 00 00 fc 02 |Pythia..
> ........|
> 0150 04 29 00 00 00 d3 01 00 04 29 00 00 00 fd 10 00 |.)......
> .)......|
> 0160 c1 00 09 00 00 00 |......|
>
>
> 2003-10-29 12:23:18.430175 processing result tokens. marker is
> 81(TDS7_RESULT)
> 2003-10-29 12:23:18.430239 tds7_get_data_info:1083:
> type = 39 (varchar)
> column_varint_size = 2
> colname = employee
> colnamelen = 8
> 2003-10-29 12:23:18.430315 tds7_get_data_info:1083:
> type = 111 (datetime-null)
> column_varint_size = 1
> colname = StartOfLoafing
> colnamelen = 14
> 2003-10-29 12:23:18.430391 tds7_get_data_info:1083:
> type = 111 (datetime-null)
> column_varint_size = 1
> colname = EndOfLoafing
> colnamelen = 12
> 2003-10-29 12:23:18.430466 tds7_get_data_info:1083:
> type = 38 (integer-null)
> column_varint_size = 1
> colname = LengthOfLoafing
> colnamelen = 15
> odbc:SQLColAttributes: fDescType is 6
> odbc:SQLColAttributes: fDescType is 3
> odbc:SQLColAttributes: fDescType is 6
> odbc:SQLColAttributes: fDescType is 3
> odbc:SQLColAttributes: fDescType is 6
> odbc:SQLColAttributes: fDescType is 3
> odbc:SQLColAttributes: fDescType is 6
> odbc:SQLColAttributes: fDescType is 3
> 2003-10-29 12:23:18.434549 processing row tokens. marker is
> 88(TDS7_COMPUTE_RESULT)
> 2003-10-29 12:23:18.434601 inside tds_process_default_tokens() marker is
> 88(TDS7_COMPUTE_RESULT)
> Unknown marker: 136(88)!!
> convert_tds2sql: src is 39 dest = 1
> convert_tds2sql: outputting character data destlen = 31
> convert_tds2sql: src is 58 dest = 1
> convert_tds2sql: outputting character data destlen = 25
> convert_tds2sql: src is 58 dest = 1
> convert_tds2sql: outputting character data destlen = 25
> convert_tds2sql: src is 56 dest = 1
> convert_tds2sql: outputting character data destlen = 12
> SQLFetch: !TDS_SUCCEED (0)
> Sending packet @ 2003-10-29 12:23:18.435743
> 0000 06 01 00 08 00 00 01 00 |........|
>
>
> 2003-10-29 12:23:18.435836 inside tds_process_default_tokens() marker is
> 1()
> Unknown marker: 1(1)!!
> SQLFreeHandle(3, 0x81323e8)
> SQLFreeHandle(2, 0x819f4b8)
> SQLFreeHandle(1, 0x8132640)
>
> --
> Garrett Goebel
> IS Development Specialist
>
> ScriptPro Direct: 913.403.5261
> 5828 Reeds Road Main: 913.384.1008
> Mission, KS 66202 Fax: 913.384.2180
> www.scriptpro.com garrett at scriptpro dot com
>
> _______________________________________________
> FreeTDS mailing list
> FreeTDS AT lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds
- RE: [freetds] multiple results for a single query: COMPUTE BY cla use gives unkn own marker: 1(1)!!, Thompson, Bill D (London), 10/30/2003
Archive powered by MHonArc 2.6.24.