cancel
Showing results for 
Search instead for 
Did you mean: 

Request level logging and dates

MCMartin
Participant
2,406

From my code I know, that a date is spelled yyyy-mm-dd inside an insert statement but in the output of request level logging the statement is logged with the date in the form yyyy/mm/dd.

Have I mismatched any option?

Version is 11.0.1.2376

Accepted Solutions (0)

Answers (1)

Answers (1)

MarkCulp
Participant

What API are you using? I ran some tests (using dbisqlc) and I am not seeing the behaviour that you are seeing.

Here is one test that I tried:

  • start the engine (on windows) using:

    start dbeng11 -z -zo rll.txt -zr all -o console.txt db11.db

  • start dbisqlc and issue these statements:

    create table foo( i int default autoincrement, t timestamp ); insert into foo( t ) values( '2010-1-10 10:30' ); insert into foo( t ) values( '2010/2/20 10:30pm' ); commit select * from foo; drop table foo;

  • exit from dbisqlc and shutdown the engine

Here is the output from the select statement:

i   t
1   2010-01-10 10:30
2   2010-02-20 22:30

What I see in the request level log (rll.txt) is:

1105 193436.968,<,1,CONNECT
+1,C,1,UID=DBA
+163,>,1,CONNECT,1
...[snip]...
=,<,1,EXEC_IMM,create table foo ( i int default autoincrement, t timestamp )
+46,>.,1
1105 193512.684,<,1,EXEC_IMM,insert into foo( t ) values( '2010-1-10 10:30' )
+6,P,1,[S]INSERT ROWS
+1,>.,1
+10600,<,1,EXEC_IMM,insert into foo( t ) values( '2010/2/20 10:30pm' )
+1,P,1,[S]INSERT ROWS
...[etc]...

For completeness, here is what I see in the console log (console.txt):

I. 11/05 19:34:31. 1: -z
I. 11/05 19:34:31. 2: -zo
I. 11/05 19:34:31. 3: c:\\rll.txt
I. 11/05 19:34:31. 4: -zr
I. 11/05 19:34:31. 5: all
I. 11/05 19:34:31. 6: -o
I. 11/05 19:34:31. 7: c:\\console.txt
I. 11/05 19:34:31. 8: db11.db
 ...[snip]...
I. 11/05 19:34:34. Now accepting requests
I. 11/05 19:34:37. Connection ID 1: Internal app 'dbisqlc'
I. 11/05 19:34:37. Connection ID 1: "DBA" connected to database "db11" from SQL Anywhere 11.0.1 (2410) client over SharedMemory
...[etc]...

Note that the RLL shows that the timestamp strings are passed to the engine as they were entered and the result (from the select) is what is expected - the '2010/2/20' was displayed as '2010-02-20'.

Note also that the timestamp at the beginning of the RLL is fixed to be in 'mmdd hhnnss.sss' format and the timestamp in the console log is fixed to be 'mm/dd hh:nn:ss' format.

So I suspect that the front-end API that you are using (I'm guessing .net or jdbc perhaps?) is changing the timestamp format before sending it to the database server.

FWIW: I am using a debug build 11.0.1.2518 but I do not believe that the build number should matter in this case since I do not know of any changes that have been made that would affect the RLL formatting.

MCMartin
Participant
0 Kudos

I used dbserv11 -z and -o and enabled request level logging by setting the option during runtime. I was using odbc driver.