-
Notifications
You must be signed in to change notification settings - Fork 18
/
directive.html
721 lines (551 loc) · 26.4 KB
/
directive.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
<!-- Creator : groff version 1.22.3 -->
<!-- CreationDate: Wed Jun 19 10:20:57 2024 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>directive</title>
</head>
<body>
<h1 align="center">directive</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#DIRECTIVES">DIRECTIVES</a><br>
<a href="#COPYRIGHT">COPYRIGHT</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">directive
− RWP*Load Simulator directives</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>$directive:value</b></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Directives are
read while scanning the input files to rwloadsim and most
are used to modify the behavior during parsing and code
generation. They are expressly <i>not</i> executed and are
as such not provided to the rwloadsim language parser.</p>
<p style="margin-left:11%; margin-top: 1em">All directives
are initiated by <b>$</b> and a sequence of lower case
letters, and most then have <b>:</b> and another sequence of
non-white-space characters that are the directive value. For
number values, there is no leading sign and only positive
values are accepted.</p>
<p style="margin-left:11%; margin-top: 1em">This page
documents all ordinary directives.</p>
<p style="margin-left:11%; margin-top: 1em">Some directives
differ slightly in syntax and are documented in these
separate pages: For conditional compilation using <b>$if
$then $else $endif</b> see <a href="conditional.html">conditional(1rwl)</a>. For include
file processing using <b>$include</b> see <a href="include.html">include(1rwl)</a>. For
option handling see <a href="useroption.html">useroption(1rwl)</a>.</p>
<h2>DIRECTIVES
<a name="DIRECTIVES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>$iformat:%<format></b></p>
<p style="margin-left:17%;">This directive sets the printf
format used whenever an integer is converted to a string;
the default value is "%ld". Only formats that
actually can be used to convert integers are accepted, and a
warning will be displayed if the conversion isn’t
valid for a (small) set of verification values.</p>
<p style="margin-left:17%; margin-top: 1em">Some useful
values may be: <b>$iformat:%08ld</b> which makes the string
representation of integers have up to 8 leading zeros. The
directive <b>$iformat:%20ld</b> will cause the string
representation of integers to have 20 characters.</p>
<p style="margin-left:17%; margin-top: 1em">The size of the
internal buffer used to store the string representation of
an integer is at least 30 characters, and rwloadsim ensures
the buffer is not written beyond its size.</p>
<p style="margin-left:17%; margin-top: 1em">Note that in
the following code snippet:</p>
<pre style="margin-left:17%; margin-top: 1em">integer x := 123;
$iformat:%08ld
printline x;</pre>
<p style="margin-left:17%; margin-top: 1em">the output will
be ’123’ and not ’00000123’. The
reason is that the string representation of the integer x is
generated when the value 123 is assigned to it, which is
before the $iformat directive. If you want the directive to
be effective in this case, you need to include it before the
assignment:</p>
<pre style="margin-left:17%; margin-top: 1em">$iformat:%08d
integer x := 123;
printline x;</pre>
<p style="margin-left:17%; margin-top: 1em">If you need
more advanced output formatting, you should consider using
the printf, fprintf or sprintf statement.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$dformat:%<format></b></p>
<p style="margin-left:17%;">This is similar to $iformat,
except it is used when the string representation of double
variables is needed; similar restrictions apply. The default
dformat is %.2f, and the same minimum 30 characters buffers
is used. As an example use <b>$dformat:%.6f</b> to cause
string representation of doubles to have 6 digits after the
decimal point. As with $iformat, advanced output formatting
is available using printf, fprintf or sprintf.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$randseed:<hexdigits></b></p>
<p style="margin-left:17%;">The random number generator is
normally provided a seed from /dev/urandom, such that
different executions of rwloadsim generates different random
values. If you want repeatable results, you can use this
directive; the argument is any sequence of hexadecimal
digits (0-9, a-f, A-F); up to twelve of these are used as
the unsigned short entries in the xsubi[] array used by
erand48(3) and nrand48(3). The random numbers in threads
will also be repeatable as they are generated by a
thread-specific permutation of bits in the xsubi[] array.
You can optionally put 0x or 0X in front of the up to twelve
hexadecimal digits.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$startseconds:<double>
<br>
$clockstart:<double></b></p>
<p style="margin-left:17%;">These directive serves the same
purpose as the <b>-c</b> option and they set the common
start time as a number of seconds after starting rwloadsim.
The directive must be used before the results database is
declared. The two directives have identical behavior; the
reason for having both is that the rwloadsim developer was
using both of the two terms in various circumstances.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$implicit:define
<br>
$implicit:bind <br>
$implicit:both <br>
$implicit:off <br>
$implicit:keepcase <br>
$implicit:lowercase</b></p>
<p style="margin-left:17%;">These directives control
implicit bind and define, i.e. for rwloadsim to implicitly
match placeholders (bind variables) and select list elements
to declared variables of the same name in your rwl
program.</p>
<p style="margin-left:17%; margin-top: 1em">If any of the
first three is in effect when a SQL statement is declared,
that SQL statement will be subject to implicit define, bind
or both, which will take place during the first execute. The
fourth directive turns off both settings.</p>
<p style="margin-left:17%; margin-top: 1em">Note that you
can achieve the same effect for some specific SQL statement
by using either of <b>define sql</b> or <b>bind sql</b> as
part of the declaration of the SQL statement. There is no
semantic difference between the two, using the directive
method is likely to be more appropriate if you want this for
all of your SQL declarations.</p>
<p style="margin-left:17%; margin-top: 1em">By default,
rwloadsim converts all letters in the bind variable name or
select list element name to lowercase before matching to a
declared variable. If you do not want that to happen, which
implies you need your rwloadsim variable names to be in
uppercase unless you use quotes in your SQL statement, use
the <b>$implicit:keepcase</b> directive. The default
behavior can be set using <b>$implicit:lowercase</b>.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$bindoutname:on
<br>
$bindoutname:on:identifierprefix <br>
$bindoutname:off</b></p>
<p style="margin-left:17%;">These directives control how
implicit bind can be used to also implicitly perform a
bindout.</p>
<p style="margin-left:17%; margin-top: 1em">Normally,
whenever implicit bind is in effect, either through embedded
sql or through an $implicit directive, all binds are
considered input binds, and values from the rwl program are
provided as input to the SQL or PL/SQL text. To use a
bindout where values from SQL (such as the returning clause)
or PL/SQL are being output to your rwl program, you normally
need an explicit bindout.</p>
<p style="margin-left:17%; margin-top: 1em">If you use
either of the first two <b>$bindoutname</b> directives, a
bindout will automatically be used whenever the name of the
bind variable (placeholder) in your SQL or PL/SQL text has a
specific prefix. With the first directive, the prefix is the
three letters ’out’, with the second directive,
the prefix is the identifier prefix found after the second
’:’. In that case, the identifier prefix must
consist of an initial letter, followed by letters, numerals
or underscore.</p>
<p style="margin-left:17%; margin-top: 1em">As an example,
if you have been using <b>$bindoutname:on</b> a sql
statement like</p>
<pre style="margin-left:17%; margin-top: 1em">insert into mytab(pk,val) values (myseq.nextval,:val) returning pk as :outseq;</pre>
<p style="margin-left:17%; margin-top: 1em">will use
:outseq as a bindout which will be used with a variable
named outseq.</p>
<p style="margin-left:17%; margin-top: 1em">Lowercase
conversion is controlled via the $lowercase directive as
explained above.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$debugon:<debuglist>
<br>
$debugoff:<debuglist></b></p>
<p style="margin-left:17%;">The debugon directive has the
same effect as using the <b>-D</b> option to the rwloadsim
executable; debugoff reverses it. The argument is a debug
option (or a comma separated list without spaces); each
option either a hexadecimal value (potentially prefixed by
0x or 0X) or one of the text strings shown at the
<a href="rwloadsim.html">rwloadsim(1rwl)</a> page.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$mute:<integer>
<br>
$alwaysmute:<integer></b></p>
<p style="margin-left:17%;">These directives will mute the
rwl error with the number provided. The second directive is
useful in the first file and is recognized while scanning
for things like user options, which implies it will take
effect very early during program start. The first directive
can be controlled via <b>$if $then</b> directives; the
second cannot.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$oraerror:stop
<br>
$oraerror:continue</b></p>
<p style="margin-left:17%;">The first of these tells
rwloadsim to stop as soon as SQL execution gives any ORA-
error. Note that doing so can imply more errors during the
actual program termination. The second tells rwloadsim to
continue when ORA- errors are found during SQL execution.
This is the default.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$oraerror:count
<br>
$oraerror:nocount</b></p>
<p style="margin-left:17%;">In previous versions of
rwloadsim, statistics gathering would erroneously increase
the count of executions of some procedure in the RUNRES,
HISTOGRAM, and PERSEC tables, even if the execution had an
ORA- error. This issue is now corrected, and the counts will
therefore only be increased if the execution had no ORA-
error. If you want to keep the previous behavior, you can
use the first of these directives. You can reset the new
behavior using the second directive.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$oraerror:showoci
<br>
$oraerror:noshowoci</b></p>
<p style="margin-left:17%;">These directives are mostly
used for debugging as they control extra information when an
ORA- error is generated. The first directive tells rwloadsim
to show the name of the Oracle Call Interface call that was
executed when an ORA- error was received. Note that
currently this is only enabled for a subset of OCI calls; as
an example, if an OCIAttrGet or OCIAttrSet call throws an
ORA- error, this directive will have no effect. The second
directive turns this extra error detail off.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$ora01013:continue
<br>
$ora01013:stop <br>
$ora01013:break <br>
$ora01013:reset</b></p>
<p style="margin-left:17%;">Normally, ctrl-c leads to a
controlled stop of the executing rwloadsim process although
the exact details of how clean-up is done cannot be
guaranteed. If you want rwloadsim to continue after
receiving an ORA-01013, use the first directive. The second,
which is the default, undoes this.</p>
<p style="margin-left:17%; margin-top: 1em">The two last
directives are used to allow some clean-up to be done after
issuing ctrl-c: The third directive implies ctrl-c will
break any procedure, including anonymous procedures
executing directly in your main program, but your rwl
program will otherwise continue. To allow subsequent
procedures to be executed, use the fourth directive. For an
example, see <a href="ashplot.html">ashplot(2rwl)</a>.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$bindoffset:0</b></p>
<p style="margin-left:17%;">Change bind by position offset
to start at zero; this is primarily useful if you are
running with event 10046 tracing where bind value dumping
starts at #0. With this directive set, the bind position
actually used with the OCIBindByPos call is one larger than
the position set at bind or bindout. The effect of the
directive can be reversed by using <b>$bindoffset:1</b>
which is the default. Note that this directive has no impact
on the numbering of select list elements used with
define.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$maxcode:<integer>
<br>
$maxident:<integer> <br>
$readbuffer:<integer></b></p>
<p style="margin-left:17%;">These set the maximum size of
the generated p-code, the maximum number of identifiers, or
the size of the buffer used to read lines of text using
<b>readline</b> respectively. They serve the same purpose as
the <b>-I</b>, <b>-C</b> and <b>-B</b> options and can be
used in start-up files or using the <b>$longoption</b>
directive in the first file named with a .rwl suffix.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$statistics:basic
<br>
$statistics:histograms <br>
$statistics:all</b></p>
<p style="margin-left:17%;">These have the same purpose as
the <b>-s</b>, <b>-ss</b>, and <b>-sss</b> options
respectively. They need to be used before the repository
database is declared.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$statsapptime:on
<br>
$statsdbtime:on</b></p>
<p style="margin-left:17%;">When statistics are saved,
these directives will cause values for the <b>atime</b> and
<b>dtime</b> columns in the appropriate tables of the
repository to also be gathered and saved. See <a href="runres.html">runres(1rwl)</a>
for details. If needed, you can turn off the effect of these
directives using <b>$statsapptime:off</b> or
<b>statsdbtime:off</b></p>
<p style="margin-left:11%; margin-top: 1em"><b>$setaction:on
<br>
$setaction:reset <br>
$setaction:off</b></p>
<p style="margin-left:17%;">The $setaction directives
control setting the action (in v$session.action). When on,
the action is set to the procedure name when a database
session is acquired from a pool or a dedicated connection is
being used; the action name is set using the OCI_ATTR_ACTION
attribute of the session and is therefore sent to the
database during the first coming actual round trip. When
reset is specified, the action name is reset when the
session is released or a dedicated connection no longer is
in use; using reset implies an extra otherwise unnecessary
round trip to the database.</p>
<p style="margin-left:17%; margin-top: 1em">You can get the
same behavior using the <b>-S</b> or <b>-SS</b> option to
rwloadsim.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$oerstatistics:on
<br>
$oerstatistics:off <br>
$oerstatistics:<integer></b></p>
<p style="margin-left:17%;">These directives controls
saving of ORA- error statistics similar to the
<b>--oer-statistics</b> option. They can be used to turn
saving of error statistics on and off or to set the maximum
number of errors saved (per thread); the default is 50.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$queue:on
<br>
$queue:off</b></p>
<p style="margin-left:17%;">These have the same effect as
the <b>-Q</b> and <b>-N</b> options; the default is that
queuing simulation using a backlog is off.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$errortime:on
<br>
$errortime:off</b></p>
<p style="margin-left:17%;">The first of these has the same
effect as the <b>-W</b> option, i.e. to augment all
execution time errors with a time-stamp measured as the
number of seconds since clock start. It is primarily used as
a debugging tool if the exact time of errors is needed. The
second directive turns this off.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$nameexpand:off
<br>
$nameexpand:on</b></p>
<p style="margin-left:17%;">The former of these has the
same effect as the <b>--no-nameexpand</b> option; the latter
turns file name expansion using environment variable on.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$eventnotify:on
<br>
$eventnotify:off</b></p>
<p style="margin-left:17%;">The former has the same effect
as the <b>--event-notify</b> option; the latter undoes
<b>--event-notify</b> if found on the command line. These
are only available in the start-up file or via $longoption
directive in the first file named with a .rwl suffix.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$dbfailures:<integer></b></p>
<p style="margin-left:17%;">If there is a temporary failure
during declaration of a database, rwloadsim will normally
consider the database to be unavailable and not continue
processing. By using this directive, which must be found
before your database declaration, a temporary failure will
cause a re-attempt at creating the database connection. The
integer value of the directive is limit to the number of
connect attempts.</p>
<p style="margin-left:17%; margin-top: 1em">Using this
directive will cause session pool databases to have a
minimum size of at least one.</p>
<p style="margin-left:17%; margin-top: 1em">The list of
errors that are considered temporary is found in
rwlerror.c.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$embeddedqueryarray:<integer>
<br>
$embeddeddmlarray:<integer></b></p>
<p style="margin-left:17%;">Set a default array size for
respectively queries and dml when using embedded sql.
Without these being set, queries in cursor loops will use
OCI pre fetch using memory (currently 100k), and dml will
not use array.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$ampersand:on
<br>
$ampersand:off</b></p>
<p style="margin-left:17%;">These directives turn ampersand
replacement on and off. When on, directly embedded sql can
be made dynamic by including references to declared string
variables using the syntax <b>&name.</b>. See
<a href="sqlexecution.html">sqlexecution(1rwl)</a> for details.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$sessionpool_no_rlb:on
<br>
$sessionpool_no_rlb:off</b></p>
<p style="margin-left:17%;">These directives control the
mode used to call OCISessionPoolCreate for databases
declared using <b>sessionpool</b>. Be default, the flag
OCI_SPC_NO_RLB is set, to not set this flag, use the second
directive before the database using a session pool is
declared.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$pre31fileassign:warn
<br>
$pre31fileassign:on <br>
$pre31fileassign:off</b></p>
<p style="margin-left:17%;">In previous versions of
rwloadsim, file assignment worked by having redirection
characters such as "<", ">>",
"|" as part of the name of the file causing the
file to be opened for read, append or as a pipeline.
Starting with version 3.1, file assignment can only be done
using the proper assignment operator such as <= to open
for reading.</p>
<p style="margin-left:17%; margin-top: 1em">If you have
code that uses the previous behavior where the redirection
is part of the string, you can use the first of these
directives. This causes such usage to be accepted but with a
warning that allows you to correct your code.</p>
<p style="margin-left:17%; margin-top: 1em">The second
directive makes the previous behavior accepted
<i>without</i> printing a warning; doing so is <i>not</i>
recommended and the possibility will be removed in a later
release.</p>
<p style="margin-left:17%; margin-top: 1em">The current
behavior can be reset using the third directive.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$niceabort:on
<br>
$niceabort:off</b></p>
<p style="margin-left:17%;">When the niceabort directive is
turned on, executing an abort statement will produce a short
warning rather than a comprehensive error. The actual effect
of the abort does not change.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$queueeverytiming:on
<br>
$queueeverytiming:off</b></p>
<p style="margin-left:17%;">By default, whenever you have a
control loop that include the <b>queue every</b> option, the
time that is registered for waiting for a session and saved
in the wtime column of the runres and persec tables, is the
time actually spent in the OCISessionGet() call. However, as
the <b>queue every</b> option is emulating an actual queue,
the wait time does not include the time for the thread to
wait in the emulated queue. If you use the
<b>$queueeverytiming:on</b> directive, this time is included
in the waiting time. The waiting time therefore more
correctly represent the waiting time that an emulated end
user would have seen. This is also the case if your database
is dedicated where some execution inside a control loop
starts <i>after</i> the calculated time.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$musymbol:<text>
<br>
$musymbolfromstring:stringvar</b></p>
<p style="margin-left:17%;">When using the <b>m</b> or
<b>M</b> conversion specifier in a printf statement, the
µ symbol is by default output as its UTF-8
representation. These directive can be used to set any other
text string, including potentially other characters outside
the ASCII character set. The first directive uses the value
provided after the colon, and there is no escape processing,
so you must be able to enter the appropriate value using an
editor. The second directive takes the actual value of the
named string variable, which cannot be a local variable.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$hostname:<text></b></p>
<p style="margin-left:17%;">Set a value for the hostname
rather than getting it from the Operating System; only
letters a-z or A-Z, numerals, hyphen, period and underscore
are allowed, and the initial character cannot be hyphen or
dot. The hostname is exposed in the variable of the same
name and is being inserted into the rwlrun table when
statistics are gathered.</p>
<p style="margin-left:17%; margin-top: 1em">The directive
is only available in a start-up file such as
~/.rwloadsim.rwl.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$sqllogging:stdout
<br>
$sqllogging:stderr <br>
$sqllogging:file:"<text>" <br>
$sqllogging:append:"<text>" <br>
$sqllogging:off</b></p>
<p style="margin-left:17%;">These directives control
logging of all sql being executed, which in particular can
be useful if you rewrite sqlplus scripts to rwl scripts. The
first two will turn on sql logging to either of stdout or
stderr. The next two will turn on sql logging to the the
file named between the double quotes; the filename can
itself not contain double quote. The two directives open the
file for respectively write (i.e. truncate) or for append.
Expansion of environment variables will take place unless
the $nameexpand:off directive is in effect. The last
directives turns off sql logging.</p>
<p style="margin-left:17%; margin-top: 1em">Note that if
you are running a real simulation, output can be extensive,
and output from multiple threads will be intermixed.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$errordetail:on</b></p>
<p style="margin-left:17%;">This directive has effect if
the client version is 23 or later and it turns on the full
error detail which includes a url to help documentation. In
earlier client versions, the directive is silently
ignored.</p>
<p style="margin-left:17%; margin-top: 1em">The directive
is only available in a start-up file such as
~/.rwloadsim.rwl.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$connecterror:accept</b></p>
<p style="margin-left:17%;">By default, errors during
connection marks the database as unavailable, such that
further use of it is prevented. With this directive errors
during connection are handled like any other error. It
should <i>not</i> normally be used as it can have several
unwanted side effects including connection storms and
further errors later on.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$useroption:name
<br>
$userswitch:name <br>
$longoption:option[=value]</b></p>
<p style="margin-left:17%;">Refer to <a href="useroption.html">useroption(1rwl)</a>.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$trigonometry:radians
<br>
$trigonometry:degrees</b></p>
<p style="margin-left:17%;">By default, the trigonometry
functions, sin, cos, and atan2 use degrees. You can change
this to radians using the former of these two
directives.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$filelinename:<integer>:"<text>"</b></p>
<p style="margin-left:17%;">This directive sets the line
number and the file name that will be used for error
reporting. The integer provided between the first and second
: set the current line number and the text between the
" delimiters sets the file name. In the typical case,
where the following line should be taken as the first line
of some file, put the value 0 as the line number.</p>
<p style="margin-left:11%; margin-top: 1em"><b>$include</b></p>
<p style="margin-left:17%;">Refer to <a href="include.html">include(1rwl)</a>.</p>
<h2>COPYRIGHT
<a name="COPYRIGHT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Copyright
© 2023 Oracle Corporation</p>
<p style="margin-left:11%; margin-top: 1em">Licensed under
the Universal Permissive License v 1.0 as shown at
https://oss.oracle.com/licenses/upl</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><a href="rwloadsim.html">rwloadsim(1rwl)</a>,
<a href="useroption.html">useroption(1rwl)</a>, <a href="longoption.html">longoption(1rwl)</a>, <a href="include.html">include(1rwl)</a>,
<a href="conditional.html">conditional(1rwl)</a>, <a href="sqldeclaration.html">sqldeclaration(1rwl)</a>,
<a href="printfstatement.html">printfstatement(1rwl)</a>, <a href="filestatement.html">filestatement(1rwl)</a>,
<a href="sqlexecution.html">sqlexecution(1rwl)</a>, <a href="runres.html">runres(1rwl)</a></p>
<hr>
</body>
</html>