DatabaseProcApplicationCreatedLinks
sybsystemprocssp_jdbc_datatype_info_cts  14 déc. 14Defects Propagation Dependencies

1     
2     /*
3     **  End of sp_jdbc_escapeliteralforlike
4     */
5     
6     
7     /*Stored procedure to support CTS test suite  ADDPOINT_DATATYPE_INFO_CTS*/
8     /*
9     **  sp_jdbc_datatype_info_cts
10    */
11    
12    create or replace procedure sp_jdbc_datatype_info_cts
13    as
14    
15        declare @type_name varchar(32)
16        declare @data_type int
17        declare @precision int
18        declare @literal_prefix varchar(32)
19        declare @literal_suffix varchar(32)
20        declare @create_params varchar(32)
21        declare @nullable smallint
22        declare @case_sensitive tinyint
23        declare @searchable smallint
24        declare @unsigned_attribute smallint
25        declare @fixed_prec_scale tinyint
26        declare @auto_increment tinyint
27        declare @local_type_name varchar(32)
28        declare @minimum_scale smallint
29        declare @maximum_scale smallint
30        declare @sql_data_type int
31        declare @sql_datetime_sub int
32        declare @num_prec_radix int
33        declare @interval_precision int
34        declare @startedInTransaction bit
35    
36        if @@trancount = 0
37        begin
38            set chained off
39        end
40    
41        /* check if we're in a transaction, before we try any select statements */
42        if (@@trancount > 0)
43            select @startedInTransaction = 1
44        else
45            select @startedInTransaction = 0
46    
47        set transaction isolation level 1
48    
49        if (@startedInTransaction = 1)
50            save transaction jdbc_keep_temptables_from_tx
51    
52    
53        /* this will make sure that all rows are sent even if
54        ** the client "set rowcount" is differect
55        */
56    
57        set rowcount 0
58    
59    
60        create table #jdbc_datatype_info_cts
61        (
62            TYPE_NAME varchar(32) null,
63            DATA_TYPE smallint null,
64            "PRECISION" int,
65            LITERAL_PREFIX varchar(32) null,
66            LITERAL_SUFFIX varchar(32) null,
67            CREATE_PARAMS varchar(32) null,
68            NULLABLE smallint null,
69            CASE_SENSITIVE tinyint null,
70            SEARCHABLE smallint null,
71            UNSIGNED_ATTRIBUTE tinyint null,
72            FIXED_PREC_SCALE tinyint null,
73            AUTO_INCREMENT tinyint null,
74            LOCAL_TYPE_NAME varchar(32) null,
75            MINIMUM_SCALE smallint null,
76            MAXIMUM_SCALE smallint null,
77            SQL_DATA_TYPE int null,
78            SQL_DATETIME_SUB int null,
79            NUM_PREC_RADIX int null
80    
81        )
82    
83    
84    
85        begin
86            declare jdbc_datatype_info_cursor1 cursor for
87            select /* Real SQL Server data types */
88                case
89                    when t.name = 'usmallint' then 'unsigned smallint'
90                    when t.name = 'uint' then 'unsigned int'
91                    when t.name = 'ubigint' then 'unsigned bigint'
92                    else
93                        t.name
94                end,
95                d.data_type,
96                isnull(d.data_precision, convert(int, t.length)),
97                d.literal_prefix,
98                d.literal_suffix,
99                e.create_params,
100               d.nullable,
101               d.case_sensitive,
102               d.searchable,
103               d.unsigned_attribute,
104               d.money,
105               d.auto_increment,
106               d.local_type_name,
107               d.minimum_scale,
108               d.maximum_scale,
109               d.sql_data_type,
110               d.sql_datetime_sub,
111               d.num_prec_radix,
112               d.interval_precision
113           from sybsystemprocs.dbo.spt_jdbc_datatype_info d,
114               sybsystemprocs.dbo.spt_datatype_info_ext e, systypes t
115           where d.ss_dtype = t.type and t.usertype *= e.user_type
116               /* restrict results to 'real' datatypes, exclude float, date and time*/
117               and t.name not in ('nchar', 'nvarchar', 'sysname', 'timestamp', 'longsysname', 'float',
118                   'datetimn', 'floatn', 'intn', 'moneyn', 'unichar',
119                   'univarchar', 'daten', 'timen', 'date', 'time', 'uintn')
120               and t.usertype < 100 /* No user defined types */
121   
122           open jdbc_datatype_info_cursor1
123   
124           fetch jdbc_datatype_info_cursor1 into
125               @type_name,
126               @data_type,
127               @precision,
128               @literal_prefix,
129               @literal_suffix,
130               @create_params,
131               @nullable,
132               @case_sensitive,
133               @searchable,
134               @unsigned_attribute,
135               @fixed_prec_scale,
136               @auto_increment,
137               @local_type_name,
138               @minimum_scale,
139               @maximum_scale,
140               @sql_data_type,
141               @sql_datetime_sub,
142               @num_prec_radix,
143               @interval_precision
144   
145           /** start insert the rows by looping thru the cursors */
146           while (@@sqlstatus = 0)
147           begin
148               insert into #jdbc_datatype_info_cts values (
149                   /* TYPE_NAME */
150                   @type_name,
151                   @data_type,
152                   @precision,
153                   @literal_prefix,
154                   @literal_suffix,
155                   @create_params,
156                   @nullable,
157                   @case_sensitive,
158                   @searchable,
159                   @unsigned_attribute,
160                   @fixed_prec_scale,
161                   @auto_increment,
162                   @local_type_name,
163                   @minimum_scale,
164                   @maximum_scale,
165                   @sql_data_type,
166                   @sql_datetime_sub,
167                   @num_prec_radix)
168   
169               fetch jdbc_datatype_info_cursor1 into
170                   @type_name,
171                   @data_type,
172                   @precision,
173                   @literal_prefix,
174                   @literal_suffix,
175                   @create_params,
176                   @nullable,
177                   @case_sensitive,
178                   @searchable,
179                   @unsigned_attribute,
180                   @fixed_prec_scale,
181                   @auto_increment,
182                   @local_type_name,
183                   @minimum_scale,
184                   @maximum_scale,
185                   @sql_data_type,
186                   @sql_datetime_sub,
187                   @num_prec_radix,
188                   @interval_precision
189           end
190   
191           deallocate cursor jdbc_datatype_info_cursor1
192           declare jdbc_datatype_info_cursor2 cursor for
193           select /* SQL Server user data types */
194               case
195                   when t.name = 'usmallint' then 'unsigned smallint'
196                   when t.name = 'uint' then 'unsigned int'
197                   when t.name = 'ubigint' then 'unsigned bigint'
198                   else
199                       t.name
200               end,
201               d.data_type,
202               isnull(d.data_precision, convert(int, t.length)),
203               d.literal_prefix,
204               d.literal_suffix,
205               e.create_params,
206               d.nullable,
207               d.case_sensitive,
208               d.searchable,
209               d.unsigned_attribute,
210               d.money,
211               d.auto_increment,
212               t.name,
213               d.minimum_scale,
214               d.maximum_scale,
215               d.sql_data_type,
216               d.sql_datetime_sub,
217               d.num_prec_radix,
218               d.interval_precision
219           from sybsystemprocs.dbo.spt_jdbc_datatype_info d,
220               sybsystemprocs.dbo.spt_datatype_info_ext e, systypes t
221           where d.ss_dtype = t.type and t.usertype *= e.user_type
222               /* Restrict to user defined types (value > 100)  and Sybase user defined 
223               ** types (listed)*/
224               and (t.name in ('nchar', 'nvarchar')
225                   or t.usertype >= 100) /* User defined types */
226   
227           open jdbc_datatype_info_cursor2
228   
229           fetch jdbc_datatype_info_cursor2 into
230               @type_name,
231               @data_type,
232               @precision,
233               @literal_prefix,
234               @literal_suffix,
235               @create_params,
236               @nullable,
237               @case_sensitive,
238               @searchable,
239               @unsigned_attribute,
240               @fixed_prec_scale,
241               @auto_increment,
242               @local_type_name,
243               @minimum_scale,
244               @maximum_scale,
245               @sql_data_type,
246               @sql_datetime_sub,
247               @num_prec_radix,
248               @interval_precision
249   
250           /** start insert the rows by looping thru the cursors */
251           while (@@sqlstatus = 0)
252           begin
253               insert into #jdbc_datatype_info_cts values (
254                   /* TYPE_NAME */
255                   @type_name,
256                   @data_type,
257                   @precision,
258                   @literal_prefix,
259                   @literal_suffix,
260                   @create_params,
261                   @nullable,
262                   @case_sensitive,
263                   @searchable,
264                   @unsigned_attribute,
265                   @fixed_prec_scale,
266                   @auto_increment,
267                   @local_type_name,
268                   @minimum_scale,
269                   @maximum_scale,
270                   @sql_data_type,
271                   @sql_datetime_sub,
272                   @num_prec_radix)
273   
274               fetch jdbc_datatype_info_cursor2 into
275                   @type_name,
276                   @data_type,
277                   @precision,
278                   @literal_prefix,
279                   @literal_suffix,
280                   @create_params,
281                   @nullable,
282                   @case_sensitive,
283                   @searchable,
284                   @unsigned_attribute,
285                   @fixed_prec_scale,
286                   @auto_increment,
287                   @local_type_name,
288                   @minimum_scale,
289                   @maximum_scale,
290                   @sql_data_type,
291                   @sql_datetime_sub,
292                   @num_prec_radix,
293                   @interval_precision
294           end
295   
296           deallocate cursor jdbc_datatype_info_cursor2
297           declare jdbc_datatype_info_cursor3 cursor for
298           select /* ADD double precision which is floatn internally*/
299               'double precision',
300               8,
301               15,
302               d.literal_prefix,
303               d.literal_suffix,
304               e.create_params,
305               d.nullable,
306               d.case_sensitive,
307               d.searchable,
308               d.unsigned_attribute,
309               d.money,
310               d.auto_increment,
311               'double precision',
312               d.minimum_scale,
313               d.maximum_scale,
314               d.sql_data_type,
315               d.sql_datetime_sub,
316               d.num_prec_radix,
317               d.interval_precision
318           from sybsystemprocs.dbo.spt_jdbc_datatype_info d,
319               sybsystemprocs.dbo.spt_datatype_info_ext e, systypes t
320           where d.ss_dtype = t.type and t.usertype *= e.user_type
321               and t.name = 'floatn' and t.usertype < 100
322           open jdbc_datatype_info_cursor3
323   
324           fetch jdbc_datatype_info_cursor3 into
325               @type_name,
326               @data_type,
327               @precision,
328               @literal_prefix,
329               @literal_suffix,
330               @create_params,
331               @nullable,
332               @case_sensitive,
333               @searchable,
334               @unsigned_attribute,
335               @fixed_prec_scale,
336               @auto_increment,
337               @local_type_name,
338               @minimum_scale,
339               @maximum_scale,
340               @sql_data_type,
341               @sql_datetime_sub,
342               @num_prec_radix,
343               @interval_precision
344   
345           /** start insert the rows by looping thru the cursors */
346           while (@@sqlstatus = 0)
347           begin
348               insert into #jdbc_datatype_info_cts values (
349                   /* TYPE_NAME */
350                   @type_name,
351                   @data_type,
352                   @precision,
353                   @literal_prefix,
354                   @literal_suffix,
355                   @create_params,
356                   @nullable,
357                   @case_sensitive,
358                   @searchable,
359                   @unsigned_attribute,
360                   @fixed_prec_scale,
361                   @auto_increment,
362                   @local_type_name,
363                   @minimum_scale,
364                   @maximum_scale,
365                   @sql_data_type,
366                   @sql_datetime_sub,
367                   @num_prec_radix)
368   
369               fetch jdbc_datatype_info_cursor3 into
370                   @type_name,
371                   @data_type,
372                   @precision,
373                   @literal_prefix,
374                   @literal_suffix,
375                   @create_params,
376                   @nullable,
377                   @case_sensitive,
378                   @searchable,
379                   @unsigned_attribute,
380                   @fixed_prec_scale,
381                   @auto_increment,
382                   @local_type_name,
383                   @minimum_scale,
384                   @maximum_scale,
385                   @sql_data_type,
386                   @sql_datetime_sub,
387                   @num_prec_radix,
388                   @interval_precision
389           end
390   
391           deallocate cursor jdbc_datatype_info_cursor3
392           declare jdbc_datatype_info_cursor4 cursor for
393           select
394               'float',
395               8,
396               8,
397               d.literal_prefix,
398               d.literal_suffix,
399               e.create_params,
400               d.nullable,
401               d.case_sensitive,
402               d.searchable,
403               d.unsigned_attribute,
404               d.money,
405               d.auto_increment,
406               'float',
407               d.minimum_scale,
408               d.maximum_scale,
409               d.sql_data_type,
410               d.sql_datetime_sub,
411               d.num_prec_radix,
412               d.interval_precision
413           from sybsystemprocs.dbo.spt_jdbc_datatype_info d,
414               sybsystemprocs.dbo.spt_datatype_info_ext e, systypes t
415           where d.ss_dtype = t.type and t.usertype *= e.user_type
416               and t.name = 'float' and t.usertype < 100
417   
418           open jdbc_datatype_info_cursor4
419   
420           fetch jdbc_datatype_info_cursor4 into
421               @type_name,
422               @data_type,
423               @precision,
424               @literal_prefix,
425               @literal_suffix,
426               @create_params,
427               @nullable,
428               @case_sensitive,
429               @searchable,
430               @unsigned_attribute,
431               @fixed_prec_scale,
432               @auto_increment,
433               @local_type_name,
434               @minimum_scale,
435               @maximum_scale,
436               @sql_data_type,
437               @sql_datetime_sub,
438               @num_prec_radix,
439               @interval_precision
440   
441           /** start insert the rows by looping thru the cursors */
442           while (@@sqlstatus = 0)
443           begin
444               insert into #jdbc_datatype_info_cts values (
445                   /* TYPE_NAME */
446                   @type_name,
447                   @data_type,
448                   @precision,
449                   @literal_prefix,
450                   @literal_suffix,
451                   @create_params,
452                   @nullable,
453                   @case_sensitive,
454                   @searchable,
455                   @unsigned_attribute,
456                   @fixed_prec_scale,
457                   @auto_increment,
458                   @local_type_name,
459                   @minimum_scale,
460                   @maximum_scale,
461                   @sql_data_type,
462                   @sql_datetime_sub,
463                   @num_prec_radix)
464   
465               fetch jdbc_datatype_info_cursor4 into
466                   @type_name,
467                   @data_type,
468                   @precision,
469                   @literal_prefix,
470                   @literal_suffix,
471                   @create_params,
472                   @nullable,
473                   @case_sensitive,
474                   @searchable,
475                   @unsigned_attribute,
476                   @fixed_prec_scale,
477                   @auto_increment,
478                   @local_type_name,
479                   @minimum_scale,
480                   @maximum_scale,
481                   @sql_data_type,
482                   @sql_datetime_sub,
483                   @num_prec_radix,
484                   @interval_precision
485           end
486   
487           deallocate cursor jdbc_datatype_info_cursor4
488           declare jdbc_datatype_info_cursor5 cursor for
489           select /* Add date and time now. Special case because we want to use */
490               /* d.sql_data_type for DATA_TYPE for these two types          */
491               case
492                   when t.name = 'usmallint' then 'unsigned smallint'
493                   when t.name = 'uint' then 'unsigned int'
494                   when t.name = 'ubigint' then 'unsigned bigint'
495                   else
496                       t.name
497               end,
498               d.sql_data_type,
499               isnull(d.data_precision, convert(int, t.length)),
500               d.literal_prefix,
501               d.literal_suffix,
502               e.create_params,
503               d.nullable,
504               d.case_sensitive,
505               d.searchable,
506               d.unsigned_attribute,
507               d.money,
508               d.auto_increment,
509               d.local_type_name,
510               d.minimum_scale,
511               d.maximum_scale,
512               d.sql_data_type,
513               d.sql_datetime_sub,
514               d.num_prec_radix,
515               d.interval_precision
516           from sybsystemprocs.dbo.spt_jdbc_datatype_info d,
517               sybsystemprocs.dbo.spt_datatype_info_ext e, systypes t
518           where d.ss_dtype = t.type and t.usertype *= e.user_type
519               /* restrict results to date and time*/
520               and t.name in ('date', 'time')
521               and t.usertype < 100 /* No user defined types */
522           open jdbc_datatype_info_cursor5
523   
524           fetch jdbc_datatype_info_cursor5 into
525               @type_name,
526               @data_type,
527               @precision,
528               @literal_prefix,
529               @literal_suffix,
530               @create_params,
531               @nullable,
532               @case_sensitive,
533               @searchable,
534               @unsigned_attribute,
535               @fixed_prec_scale,
536               @auto_increment,
537               @local_type_name,
538               @minimum_scale,
539               @maximum_scale,
540               @sql_data_type,
541               @sql_datetime_sub,
542               @num_prec_radix,
543               @interval_precision
544   
545           /** start insert the rows by looping thru the cursors */
546           while (@@sqlstatus = 0)
547           begin
548               insert into #jdbc_datatype_info_cts values (
549                   /* TYPE_NAME */
550                   @type_name,
551                   @data_type,
552                   @precision,
553                   @literal_prefix,
554                   @literal_suffix,
555                   @create_params,
556                   @nullable,
557                   @case_sensitive,
558                   @searchable,
559                   @unsigned_attribute,
560                   @fixed_prec_scale,
561                   @auto_increment,
562                   @local_type_name,
563                   @minimum_scale,
564                   @maximum_scale,
565                   @sql_data_type,
566                   @sql_datetime_sub,
567                   @num_prec_radix)
568   
569               fetch jdbc_datatype_info_cursor5 into
570                   @type_name,
571                   @data_type,
572                   @precision,
573                   @literal_prefix,
574                   @literal_suffix,
575                   @create_params,
576                   @nullable,
577                   @case_sensitive,
578                   @searchable,
579                   @unsigned_attribute,
580                   @fixed_prec_scale,
581                   @auto_increment,
582                   @local_type_name,
583                   @minimum_scale,
584                   @maximum_scale,
585                   @sql_data_type,
586                   @sql_datetime_sub,
587                   @num_prec_radix,
588                   @interval_precision
589           end
590   
591           deallocate cursor jdbc_datatype_info_cursor5
592   
593       end /* Adaptive Server has expanded all '*' elements in the following statement */ /* first begin */
594   
595       select #jdbc_datatype_info_cts.TYPE_NAME, #jdbc_datatype_info_cts.DATA_TYPE, #jdbc_datatype_info_cts. PRECISION, #jdbc_datatype_info_cts.LITERAL_PREFIX, #jdbc_datatype_info_cts.LITERAL_SUFFIX, #jdbc_datatype_info_cts.CREATE_PARAMS, #jdbc_datatype_info_cts.NULLABLE, #jdbc_datatype_info_cts.CASE_SENSITIVE, #jdbc_datatype_info_cts.SEARCHABLE, #jdbc_datatype_info_cts.UNSIGNED_ATTRIBUTE, #jdbc_datatype_info_cts.FIXED_PREC_SCALE, #jdbc_datatype_info_cts.AUTO_INCREMENT, #jdbc_datatype_info_cts.LOCAL_TYPE_NAME, #jdbc_datatype_info_cts.MINIMUM_SCALE, #jdbc_datatype_info_cts.MAXIMUM_SCALE, #jdbc_datatype_info_cts.SQL_DATA_TYPE, #jdbc_datatype_info_cts.SQL_DATETIME_SUB, #jdbc_datatype_info_cts.NUM_PREC_RADIX from #jdbc_datatype_info_cts order by DATA_TYPE, TYPE_NAME
596       drop table #jdbc_datatype_info_cts
597   
598       if (@startedInTransaction = 1)
599           rollback transaction jdbc_keep_temptables_from_tx
600   
601       return (0)
602   


exec sp_procxmode 'sp_jdbc_datatype_info_cts', 'AnyMode'
go

Grant Execute on sp_jdbc_datatype_info_cts to public
go
RESULT SETS
sp_jdbc_datatype_info_cts_rset_001

DEFECTS
 QJWI 5 Join or Sarg Without Index 115
 QJWI 5 Join or Sarg Without Index 221
 QJWI 5 Join or Sarg Without Index 320
 QJWI 5 Join or Sarg Without Index 415
 QJWI 5 Join or Sarg Without Index 518
 MTYP 4 Assignment type mismatch DATA_TYPE: smallint = int 151
 MTYP 4 Assignment type mismatch UNSIGNED_ATTRIBUTE: tinyint = smallint 159
 MTYP 4 Assignment type mismatch DATA_TYPE: smallint = int 256
 MTYP 4 Assignment type mismatch UNSIGNED_ATTRIBUTE: tinyint = smallint 264
 MTYP 4 Assignment type mismatch DATA_TYPE: smallint = int 351
 MTYP 4 Assignment type mismatch UNSIGNED_ATTRIBUTE: tinyint = smallint 359
 MTYP 4 Assignment type mismatch DATA_TYPE: smallint = int 447
 MTYP 4 Assignment type mismatch UNSIGNED_ATTRIBUTE: tinyint = smallint 455
 MTYP 4 Assignment type mismatch DATA_TYPE: smallint = int 551
 MTYP 4 Assignment type mismatch UNSIGNED_ATTRIBUTE: tinyint = smallint 559
 QTYP 4 Comparison type mismatch Comparison type mismatch: smallint vs int 120
 QTYP 4 Comparison type mismatch Comparison type mismatch: smallint vs int 225
 QTYP 4 Comparison type mismatch Comparison type mismatch: smallint vs int 321
 QTYP 4 Comparison type mismatch Comparison type mismatch: smallint vs int 416
 QTYP 4 Comparison type mismatch Comparison type mismatch: smallint vs int 521
 TNOI 4 Table with no index sybsystemprocs..spt_datatype_info_ext sybsystemprocs..spt_datatype_info_ext
 TNOI 4 Table with no index sybsystemprocs..spt_jdbc_datatype_info sybsystemprocs..spt_jdbc_datatype_info
 CUNU 3 Cursor not updated: cursor should contain 'for read only' clause jdbc_datatype_info_cursor1 87
 CUNU 3 Cursor not updated: cursor should contain 'for read only' clause jdbc_datatype_info_cursor2 193
 CUNU 3 Cursor not updated: cursor should contain 'for read only' clause jdbc_datatype_info_cursor3 298
 CUNU 3 Cursor not updated: cursor should contain 'for read only' clause jdbc_datatype_info_cursor4 393
 CUNU 3 Cursor not updated: cursor should contain 'for read only' clause jdbc_datatype_info_cursor5 489
 MGTP 3 Grant to public sybsystemprocs..sp_jdbc_datatype_info_cts  
 MGTP 3 Grant to public sybsystemprocs..spt_datatype_info_ext  
 MGTP 3 Grant to public sybsystemprocs..spt_jdbc_datatype_info  
 MGTP 3 Grant to public sybsystemprocs..systypes  
 MNER 3 No Error Check should check @@error after insert 148
 MNER 3 No Error Check should check @@error after insert 253
 MNER 3 No Error Check should check @@error after insert 348
 MNER 3 No Error Check should check @@error after insert 444
 MNER 3 No Error Check should check @@error after insert 548
 MUCO 3 Useless Code Useless Brackets 42
 MUCO 3 Useless Code Useless Brackets 49
 MUCO 3 Useless Code Useless Begin-End Pair 85
 MUCO 3 Useless Code Useless Brackets 146
 MUCO 3 Useless Code Useless Brackets 251
 MUCO 3 Useless Code Useless Brackets 346
 MUCO 3 Useless Code Useless Brackets 442
 MUCO 3 Useless Code Useless Brackets 546
 MUCO 3 Useless Code Useless Brackets 598
 MUCO 3 Useless Code Useless Brackets 601
 MUIN 3 Column created using implicit nullability 60
 QISO 3 Set isolation level 47
 QNAO 3 Not using ANSI Outer Join 113
 QNAO 3 Not using ANSI Outer Join 219
 QNAO 3 Not using ANSI Outer Join 318
 QNAO 3 Not using ANSI Outer Join 413
 QNAO 3 Not using ANSI Outer Join 516
 CUPD 2 Updatable Cursor Marker (updatable by default) 87
 CUPD 2 Updatable Cursor Marker (updatable by default) 193
 CUPD 2 Updatable Cursor Marker (updatable by default) 298
 CUPD 2 Updatable Cursor Marker (updatable by default) 393
 CUPD 2 Updatable Cursor Marker (updatable by default) 489
 MRST 2 Result Set Marker 595
 MTR1 2 Metrics: Comments Ratio Comments: 8% 12
 MTR2 2 Metrics: Cyclomatic Complexity Cyclo: 26 = 25dec - 1exi + 2 12
 MTR3 2 Metrics: Query Complexity Complexity: 131 12

DEPENDENCIES
PROCS AND TABLES USED
writes table sybsystemprocs..sp_jdbc_datatype_info_cts_rset_001 
reads table sybsystemprocs..systypes  
reads table sybsystemprocs..spt_jdbc_datatype_info  
read_writes table tempdb..#jdbc_datatype_info_cts (1) 
reads table sybsystemprocs..spt_datatype_info_ext