home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rexxgdb2.zip / GToknTst.CMD < prev    next >
OS/2 REXX Batch file  |  1997-08-10  |  3KB  |  104 lines

  1. /* rexx */
  2. parse arg argument
  3.  
  4. signal on error
  5. signal on syntax  name syntax
  6. signal on halt    name halt
  7. signal on failure name failure
  8. '@echo off'
  9. 'cls'
  10. say
  11. say 'GToknTST --- Testing REXXGDB2.DLL for G2GetToken'
  12. say 'Simon Husin (husin@ibm.net)'
  13. say 'Kent, Washington, U.S.A., November 1996'
  14. say
  15.  
  16. /*
  17. REXXUTIL.CMD: Load all OS/2 PL/2 REXX Utilities in REXXUTIL
  18. */
  19. if rxfuncquery('sysloadfuncs') then do
  20.    call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
  21.    call sysloadfuncs
  22.    end
  23.  
  24. if rxfuncquery('g2LoadFuncs') then do
  25.    say
  26.    say 'Loading REXXGDB2 Functions...'
  27.    call rxfuncadd 'g2LoadFuncs', 'REXXGDB2', 'g2LoadFuncs'
  28.    say 'Result =' g2LoadFuncs()
  29.    end
  30.  
  31. say 'Connecting to SAMPLE database...'
  32. call g2connectreset
  33. call g2connectshare 'SAMPLE'
  34.  
  35. parse var argument sqlstmt','maxvalue','currentflag
  36. say 'args='argument
  37. say '1='sqlstmt
  38. say '2='maxvalue
  39. say '3='currentflag
  40. say
  41.  
  42. if sqlstmt = '' then do
  43.    call time 'R'
  44.    sqlstmt = 'Select tsmall from g2table where ssmall = 34'
  45.    say 'Used SQL w/ nullable column  ='sqlstmt
  46.    say 'Limit=123, show current value (third parameter supplied?) YES'
  47.    say 'G2GetToken passing data returns:'G2GetToken(sqlstmt,123,'x') ', elapsed:'time('R') 'seconds...'
  48.    say 'G2GetToken passing STMT returns:'G2GetToken('sqlstmt',123,'x') ', elapsed:'time('R') 'seconds...'
  49.  
  50.    say
  51.    sqlstmt = 'Select fint from g2table where ssmall = 34'
  52.    say 'Used SQL w/ non-nullable col.='sqlstmt
  53.    say 'Limit=default, show new value (third parameter supplied?) NO'
  54.    say 'G2GetToken passing data returns:'G2GetToken(sqlstmt) ', elapsed:'time('R') 'seconds...'
  55.    say 'G2GetToken passing STMT returns:'G2GetToken('sqlstmt') ', elapsed:'time('R') 'seconds...'
  56.  
  57.    say
  58.    say 'Performing the same SQL 100 times to measure the execution time per call...'
  59.    do 100
  60.       call G2GetToken sqlstmt
  61.       end
  62.    lasttoken = result
  63.    elapse = time('E')
  64.    say 'G2GetToken 100x completed in:'elapse 'seconds...'
  65.    say '                averaging in:'format(elapse / 100, 5, 2) 'second(s) per call!'
  66.    say 'G2GetToken 100x last token--:'lasttoken
  67.    end
  68. else do
  69.    select
  70.      when maxvalue='' & currentflag = '' then
  71.           say 'G2GetToken returns:'G2GetToken(sqlstmt)
  72.      when currentflag = '' then
  73.           say 'G2GetToken returns:'G2GetToken(sqlstmt, maxvalue)
  74.      otherwise
  75.           say 'G2GetToken returns:'G2GetToken(sqlstmt, maxvalue, currentflag)
  76.      end
  77.    end
  78.  
  79. say 'G2SQLCODE='G2SQLCODE
  80.  
  81. say 'G2Commit='g2commit()
  82.  
  83. return 0
  84.  
  85.  
  86.  
  87. error:
  88. say 'Error detected... on line' SIGL
  89. return 10
  90.  
  91. syntax:
  92. say 'Syntax error detected... on line' SIGL
  93. say 'G2Rollback='g2rollback()
  94. return 20
  95.  
  96. halt:
  97. say 'Halt error detected... on line' SIGL
  98. return 30
  99.  
  100. failure:
  101. say 'Failure error detected... on line' SIGL
  102. return 40
  103. return
  104.