~ubuntu-branches/ubuntu/precise/postgresql-9.1/precise-security

« back to all changes in this revision

Viewing changes to doc/src/sgml/html/sql-set.html

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2011-05-11 10:41:53 UTC
  • Revision ID: james.westby@ubuntu.com-20110511104153-psbh2o58553fv1m0
Tags: upstream-9.1~beta1
ImportĀ upstreamĀ versionĀ 9.1~beta1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 
2
<HTML
 
3
><HEAD
 
4
><TITLE
 
5
>SET</TITLE
 
6
><META
 
7
NAME="GENERATOR"
 
8
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 
9
REV="MADE"
 
10
HREF="mailto:pgsql-docs@postgresql.org"><LINK
 
11
REL="HOME"
 
12
TITLE="PostgreSQL 9.1beta1 Documentation"
 
13
HREF="index.html"><LINK
 
14
REL="UP"
 
15
TITLE="SQL Commands"
 
16
HREF="sql-commands.html"><LINK
 
17
REL="PREVIOUS"
 
18
TITLE="SELECT INTO"
 
19
HREF="sql-selectinto.html"><LINK
 
20
REL="NEXT"
 
21
TITLE="SET CONSTRAINTS"
 
22
HREF="sql-set-constraints.html"><LINK
 
23
REL="STYLESHEET"
 
24
TYPE="text/css"
 
25
HREF="stylesheet.css"><META
 
26
HTTP-EQUIV="Content-Type"
 
27
CONTENT="text/html; charset=ISO-8859-1"><META
 
28
NAME="creation"
 
29
CONTENT="2011-04-27T21:20:33"></HEAD
 
30
><BODY
 
31
CLASS="REFENTRY"
 
32
><DIV
 
33
CLASS="NAVHEADER"
 
34
><TABLE
 
35
SUMMARY="Header navigation table"
 
36
WIDTH="100%"
 
37
BORDER="0"
 
38
CELLPADDING="0"
 
39
CELLSPACING="0"
 
40
><TR
 
41
><TH
 
42
COLSPAN="5"
 
43
ALIGN="center"
 
44
VALIGN="bottom"
 
45
><A
 
46
HREF="index.html"
 
47
>PostgreSQL 9.1beta1 Documentation</A
 
48
></TH
 
49
></TR
 
50
><TR
 
51
><TD
 
52
WIDTH="10%"
 
53
ALIGN="left"
 
54
VALIGN="top"
 
55
><A
 
56
TITLE="SELECT INTO"
 
57
HREF="sql-selectinto.html"
 
58
ACCESSKEY="P"
 
59
>Prev</A
 
60
></TD
 
61
><TD
 
62
WIDTH="10%"
 
63
ALIGN="left"
 
64
VALIGN="top"
 
65
><A
 
66
TITLE="SELECT INTO"
 
67
HREF="sql-selectinto.html"
 
68
>Fast Backward</A
 
69
></TD
 
70
><TD
 
71
WIDTH="60%"
 
72
ALIGN="center"
 
73
VALIGN="bottom"
 
74
></TD
 
75
><TD
 
76
WIDTH="10%"
 
77
ALIGN="right"
 
78
VALIGN="top"
 
79
><A
 
80
TITLE="SET CONSTRAINTS"
 
81
HREF="sql-set-constraints.html"
 
82
>Fast Forward</A
 
83
></TD
 
84
><TD
 
85
WIDTH="10%"
 
86
ALIGN="right"
 
87
VALIGN="top"
 
88
><A
 
89
TITLE="SET CONSTRAINTS"
 
90
HREF="sql-set-constraints.html"
 
91
ACCESSKEY="N"
 
92
>Next</A
 
93
></TD
 
94
></TR
 
95
></TABLE
 
96
><HR
 
97
ALIGN="LEFT"
 
98
WIDTH="100%"></DIV
 
99
><H1
 
100
><A
 
101
NAME="SQL-SET"
 
102
></A
 
103
>SET</H1
 
104
><DIV
 
105
CLASS="REFNAMEDIV"
 
106
><A
 
107
NAME="AEN75155"
 
108
></A
 
109
><H2
 
110
>Name</H2
 
111
>SET&nbsp;--&nbsp;change a run-time parameter</DIV
 
112
><DIV
 
113
CLASS="REFSYNOPSISDIV"
 
114
><A
 
115
NAME="AEN75160"
 
116
></A
 
117
><H2
 
118
>Synopsis</H2
 
119
><PRE
 
120
CLASS="SYNOPSIS"
 
121
>SET [ SESSION | LOCAL ] <TT
 
122
CLASS="REPLACEABLE"
 
123
><I
 
124
>configuration_parameter</I
 
125
></TT
 
126
> { TO | = } { <TT
 
127
CLASS="REPLACEABLE"
 
128
><I
 
129
>value</I
 
130
></TT
 
131
> | '<TT
 
132
CLASS="REPLACEABLE"
 
133
><I
 
134
>value</I
 
135
></TT
 
136
>' | DEFAULT }
 
137
SET [ SESSION | LOCAL ] TIME ZONE { <TT
 
138
CLASS="REPLACEABLE"
 
139
><I
 
140
>timezone</I
 
141
></TT
 
142
> | LOCAL | DEFAULT }</PRE
 
143
></DIV
 
144
><DIV
 
145
CLASS="REFSECT1"
 
146
><A
 
147
NAME="AEN75166"
 
148
></A
 
149
><H2
 
150
>Description</H2
 
151
><P
 
152
>   The <TT
 
153
CLASS="COMMAND"
 
154
>SET</TT
 
155
> command changes run-time configuration
 
156
   parameters.  Many of the run-time parameters listed in
 
157
   <A
 
158
HREF="runtime-config.html"
 
159
>Chapter 18</A
 
160
> can be changed on-the-fly with
 
161
   <TT
 
162
CLASS="COMMAND"
 
163
>SET</TT
 
164
>.
 
165
   (But some require superuser privileges to change, and others cannot
 
166
   be changed after server or session start.)
 
167
   <TT
 
168
CLASS="COMMAND"
 
169
>SET</TT
 
170
> only affects the value used by the current
 
171
   session.
 
172
  </P
 
173
><P
 
174
>   If <TT
 
175
CLASS="COMMAND"
 
176
>SET</TT
 
177
> (or equivalently <TT
 
178
CLASS="COMMAND"
 
179
>SET SESSION</TT
 
180
>)
 
181
   is issued within a transaction that is later aborted, the effects of the
 
182
   <TT
 
183
CLASS="COMMAND"
 
184
>SET</TT
 
185
> command disappear when the transaction is rolled
 
186
   back.  Once the surrounding transaction is committed, the effects
 
187
   will persist until the end of the session, unless overridden by another
 
188
   <TT
 
189
CLASS="COMMAND"
 
190
>SET</TT
 
191
>.
 
192
  </P
 
193
><P
 
194
>   The effects of <TT
 
195
CLASS="COMMAND"
 
196
>SET LOCAL</TT
 
197
> last only till the end of
 
198
   the current transaction, whether committed or not.  A special case is
 
199
   <TT
 
200
CLASS="COMMAND"
 
201
>SET</TT
 
202
> followed by <TT
 
203
CLASS="COMMAND"
 
204
>SET LOCAL</TT
 
205
> within
 
206
   a single transaction: the <TT
 
207
CLASS="COMMAND"
 
208
>SET LOCAL</TT
 
209
> value will be
 
210
   seen until the end of the transaction, but afterwards (if the transaction
 
211
   is committed) the <TT
 
212
CLASS="COMMAND"
 
213
>SET</TT
 
214
> value will take effect.
 
215
  </P
 
216
><P
 
217
>   The effects of <TT
 
218
CLASS="COMMAND"
 
219
>SET</TT
 
220
> or <TT
 
221
CLASS="COMMAND"
 
222
>SET LOCAL</TT
 
223
> are
 
224
   also canceled by rolling back to a savepoint that is earlier than the
 
225
   command.
 
226
  </P
 
227
><P
 
228
>   If <TT
 
229
CLASS="COMMAND"
 
230
>SET LOCAL</TT
 
231
> is used within a function that has a
 
232
   <TT
 
233
CLASS="LITERAL"
 
234
>SET</TT
 
235
> option for the same variable (see
 
236
   <A
 
237
HREF="sql-createfunction.html"
 
238
>CREATE FUNCTION</A
 
239
>),
 
240
   the effects of the <TT
 
241
CLASS="COMMAND"
 
242
>SET LOCAL</TT
 
243
> command disappear at
 
244
   function exit; that is, the value in effect when the function was called is
 
245
   restored anyway.  This allows <TT
 
246
CLASS="COMMAND"
 
247
>SET LOCAL</TT
 
248
> to be used for
 
249
   dynamic or repeated changes of a parameter within a function, while still
 
250
   having the convenience of using the <TT
 
251
CLASS="LITERAL"
 
252
>SET</TT
 
253
> option to save and
 
254
   restore the caller's value.  However, a regular <TT
 
255
CLASS="COMMAND"
 
256
>SET</TT
 
257
> command
 
258
   overrides any surrounding function's <TT
 
259
CLASS="LITERAL"
 
260
>SET</TT
 
261
> option; its effects
 
262
   will persist unless rolled back.
 
263
  </P
 
264
><DIV
 
265
CLASS="NOTE"
 
266
><BLOCKQUOTE
 
267
CLASS="NOTE"
 
268
><P
 
269
><B
 
270
>Note: </B
 
271
>    In <SPAN
 
272
CLASS="PRODUCTNAME"
 
273
>PostgreSQL</SPAN
 
274
> versions 8.0 through 8.2,
 
275
    the effects of a <TT
 
276
CLASS="COMMAND"
 
277
>SET LOCAL</TT
 
278
> would be canceled by
 
279
    releasing an earlier savepoint, or by successful exit from a
 
280
    <SPAN
 
281
CLASS="APPLICATION"
 
282
>PL/pgSQL</SPAN
 
283
> exception block.  This behavior
 
284
    has been changed because it was deemed unintuitive.
 
285
   </P
 
286
></BLOCKQUOTE
 
287
></DIV
 
288
></DIV
 
289
><DIV
 
290
CLASS="REFSECT1"
 
291
><A
 
292
NAME="AEN75201"
 
293
></A
 
294
><H2
 
295
>Parameters</H2
 
296
><P
 
297
></P
 
298
><DIV
 
299
CLASS="VARIABLELIST"
 
300
><DL
 
301
><DT
 
302
><TT
 
303
CLASS="LITERAL"
 
304
>SESSION</TT
 
305
></DT
 
306
><DD
 
307
><P
 
308
>      Specifies that the command takes effect for the current session.
 
309
      (This is the default if neither <TT
 
310
CLASS="LITERAL"
 
311
>SESSION</TT
 
312
> nor
 
313
      <TT
 
314
CLASS="LITERAL"
 
315
>LOCAL</TT
 
316
> appears.)
 
317
     </P
 
318
></DD
 
319
><DT
 
320
><TT
 
321
CLASS="LITERAL"
 
322
>LOCAL</TT
 
323
></DT
 
324
><DD
 
325
><P
 
326
>      Specifies that the command takes effect for only the current
 
327
      transaction.  After <TT
 
328
CLASS="COMMAND"
 
329
>COMMIT</TT
 
330
> or <TT
 
331
CLASS="COMMAND"
 
332
>ROLLBACK</TT
 
333
>,
 
334
      the session-level setting takes effect again.  Note that
 
335
      <TT
 
336
CLASS="COMMAND"
 
337
>SET LOCAL</TT
 
338
> will appear to have no effect if it is
 
339
      executed outside a <TT
 
340
CLASS="COMMAND"
 
341
>BEGIN</TT
 
342
> block, since the
 
343
      transaction will end immediately.
 
344
     </P
 
345
></DD
 
346
><DT
 
347
><TT
 
348
CLASS="REPLACEABLE"
 
349
><I
 
350
>configuration_parameter</I
 
351
></TT
 
352
></DT
 
353
><DD
 
354
><P
 
355
>      Name of a settable run-time parameter.  Available parameters are
 
356
      documented in <A
 
357
HREF="runtime-config.html"
 
358
>Chapter 18</A
 
359
> and below.
 
360
     </P
 
361
></DD
 
362
><DT
 
363
><TT
 
364
CLASS="REPLACEABLE"
 
365
><I
 
366
>value</I
 
367
></TT
 
368
></DT
 
369
><DD
 
370
><P
 
371
>      New value of parameter.  Values can be specified as string
 
372
      constants, identifiers, numbers, or comma-separated lists of
 
373
      these, as appropriate for the particular parameter.
 
374
      <TT
 
375
CLASS="LITERAL"
 
376
>DEFAULT</TT
 
377
> can be written to specify
 
378
      resetting the parameter to its default value (that is, whatever
 
379
      value it would have had if no <TT
 
380
CLASS="COMMAND"
 
381
>SET</TT
 
382
> had been executed
 
383
      in the current session).
 
384
     </P
 
385
></DD
 
386
></DL
 
387
></DIV
 
388
><P
 
389
>   Besides the configuration parameters documented in <A
 
390
HREF="runtime-config.html"
 
391
>Chapter 18</A
 
392
>, there are a few that can only be
 
393
   adjusted using the <TT
 
394
CLASS="COMMAND"
 
395
>SET</TT
 
396
> command or that have a
 
397
   special syntax:
 
398
 
 
399
   <P
 
400
></P
 
401
></P><DIV
 
402
CLASS="VARIABLELIST"
 
403
><DL
 
404
><DT
 
405
><TT
 
406
CLASS="LITERAL"
 
407
>SCHEMA</TT
 
408
></DT
 
409
><DD
 
410
><P
 
411
>       <TT
 
412
CLASS="LITERAL"
 
413
>SET SCHEMA '<TT
 
414
CLASS="REPLACEABLE"
 
415
><I
 
416
>value</I
 
417
></TT
 
418
>'</TT
 
419
> is an alias for
 
420
       <TT
 
421
CLASS="LITERAL"
 
422
>SET search_path TO <TT
 
423
CLASS="REPLACEABLE"
 
424
><I
 
425
>value</I
 
426
></TT
 
427
></TT
 
428
>.  Only one
 
429
       schema can be specified using this syntax.
 
430
      </P
 
431
></DD
 
432
><DT
 
433
><TT
 
434
CLASS="LITERAL"
 
435
>NAMES</TT
 
436
></DT
 
437
><DD
 
438
><P
 
439
>       <TT
 
440
CLASS="LITERAL"
 
441
>SET NAMES <TT
 
442
CLASS="REPLACEABLE"
 
443
><I
 
444
>value</I
 
445
></TT
 
446
></TT
 
447
> is an alias for
 
448
       <TT
 
449
CLASS="LITERAL"
 
450
>SET client_encoding TO <TT
 
451
CLASS="REPLACEABLE"
 
452
><I
 
453
>value</I
 
454
></TT
 
455
></TT
 
456
>.
 
457
      </P
 
458
></DD
 
459
><DT
 
460
><TT
 
461
CLASS="LITERAL"
 
462
>SEED</TT
 
463
></DT
 
464
><DD
 
465
><P
 
466
>       Sets the internal seed for the random number generator (the
 
467
       function <CODE
 
468
CLASS="FUNCTION"
 
469
>random</CODE
 
470
>).  Allowed values are
 
471
       floating-point numbers between -1 and 1, which are then
 
472
       multiplied by 2<SUP
 
473
>31</SUP
 
474
>-1.
 
475
      </P
 
476
><P
 
477
>       The seed can also be set by invoking the function
 
478
       <CODE
 
479
CLASS="FUNCTION"
 
480
>setseed</CODE
 
481
>:
 
482
</P><PRE
 
483
CLASS="PROGRAMLISTING"
 
484
>SELECT setseed(<TT
 
485
CLASS="REPLACEABLE"
 
486
><I
 
487
>value</I
 
488
></TT
 
489
>);</PRE
 
490
><P>
 
491
      </P
 
492
></DD
 
493
><DT
 
494
><TT
 
495
CLASS="LITERAL"
 
496
>TIME ZONE</TT
 
497
></DT
 
498
><DD
 
499
><P
 
500
>       <TT
 
501
CLASS="LITERAL"
 
502
>SET TIME ZONE <TT
 
503
CLASS="REPLACEABLE"
 
504
><I
 
505
>value</I
 
506
></TT
 
507
></TT
 
508
> is an alias
 
509
       for <TT
 
510
CLASS="LITERAL"
 
511
>SET timezone TO <TT
 
512
CLASS="REPLACEABLE"
 
513
><I
 
514
>value</I
 
515
></TT
 
516
></TT
 
517
>.  The
 
518
       syntax <TT
 
519
CLASS="LITERAL"
 
520
>SET TIME ZONE</TT
 
521
> allows special syntax
 
522
       for the time zone specification.  Here are examples of valid
 
523
       values:
 
524
 
 
525
       <P
 
526
></P
 
527
></P><DIV
 
528
CLASS="VARIABLELIST"
 
529
><DL
 
530
><DT
 
531
><TT
 
532
CLASS="LITERAL"
 
533
>'PST8PDT'</TT
 
534
></DT
 
535
><DD
 
536
><P
 
537
>           The time zone for Berkeley, California.
 
538
          </P
 
539
></DD
 
540
><DT
 
541
><TT
 
542
CLASS="LITERAL"
 
543
>'Europe/Rome'</TT
 
544
></DT
 
545
><DD
 
546
><P
 
547
>           The time zone for Italy.
 
548
          </P
 
549
></DD
 
550
><DT
 
551
><TT
 
552
CLASS="LITERAL"
 
553
>-7</TT
 
554
></DT
 
555
><DD
 
556
><P
 
557
>           The time zone 7 hours west from UTC (equivalent
 
558
           to PDT).  Positive values are east from UTC.
 
559
          </P
 
560
></DD
 
561
><DT
 
562
><TT
 
563
CLASS="LITERAL"
 
564
>INTERVAL '-08:00' HOUR TO MINUTE</TT
 
565
></DT
 
566
><DD
 
567
><P
 
568
>           The time zone 8 hours west from UTC (equivalent
 
569
           to PST).
 
570
          </P
 
571
></DD
 
572
><DT
 
573
><TT
 
574
CLASS="LITERAL"
 
575
>LOCAL</TT
 
576
><BR><TT
 
577
CLASS="LITERAL"
 
578
>DEFAULT</TT
 
579
></DT
 
580
><DD
 
581
><P
 
582
>           Set the time zone to your local time zone (that is, the
 
583
           server's default value of <TT
 
584
CLASS="VARNAME"
 
585
>timezone</TT
 
586
>; if this
 
587
           has not been explicitly set anywhere, it will be the zone that
 
588
           the server's operating system defaults to).
 
589
          </P
 
590
></DD
 
591
></DL
 
592
></DIV
 
593
><P>
 
594
 
 
595
       See <A
 
596
HREF="datatype-datetime.html#DATATYPE-TIMEZONES"
 
597
>Section 8.5.3</A
 
598
> for more information
 
599
       about time zones.
 
600
      </P
 
601
></DD
 
602
></DL
 
603
></DIV
 
604
><P>
 
605
  </P
 
606
></DIV
 
607
><DIV
 
608
CLASS="REFSECT1"
 
609
><A
 
610
NAME="AEN75306"
 
611
></A
 
612
><H2
 
613
>Notes</H2
 
614
><P
 
615
>   The function <CODE
 
616
CLASS="FUNCTION"
 
617
>set_config</CODE
 
618
> provides equivalent
 
619
   functionality; see <A
 
620
HREF="functions-admin.html"
 
621
>Section 9.24</A
 
622
>.
 
623
   Also, it is possible to UPDATE the
 
624
   <A
 
625
HREF="view-pg-settings.html"
 
626
><TT
 
627
CLASS="STRUCTNAME"
 
628
>pg_settings</TT
 
629
></A
 
630
>
 
631
   system view to perform the equivalent of <TT
 
632
CLASS="COMMAND"
 
633
>SET</TT
 
634
>.
 
635
  </P
 
636
></DIV
 
637
><DIV
 
638
CLASS="REFSECT1"
 
639
><A
 
640
NAME="AEN75314"
 
641
></A
 
642
><H2
 
643
>Examples</H2
 
644
><P
 
645
>   Set the schema search path:
 
646
</P><PRE
 
647
CLASS="PROGRAMLISTING"
 
648
>SET search_path TO my_schema, public;</PRE
 
649
><P>
 
650
  </P
 
651
><P
 
652
>   Set the style of date to traditional
 
653
   <SPAN
 
654
CLASS="PRODUCTNAME"
 
655
>POSTGRES</SPAN
 
656
> with <SPAN
 
657
CLASS="QUOTE"
 
658
>"day before month"</SPAN
 
659
>
 
660
   input convention:
 
661
</P><PRE
 
662
CLASS="SCREEN"
 
663
>SET datestyle TO postgres, dmy;</PRE
 
664
><P>
 
665
  </P
 
666
><P
 
667
>   Set the time zone for Berkeley, California:
 
668
</P><PRE
 
669
CLASS="SCREEN"
 
670
>SET TIME ZONE 'PST8PDT';</PRE
 
671
><P>
 
672
  </P
 
673
><P
 
674
>   Set the time zone for Italy:
 
675
</P><PRE
 
676
CLASS="SCREEN"
 
677
>SET TIME ZONE 'Europe/Rome';</PRE
 
678
><P>
 
679
  </P
 
680
></DIV
 
681
><DIV
 
682
CLASS="REFSECT1"
 
683
><A
 
684
NAME="AEN75326"
 
685
></A
 
686
><H2
 
687
>Compatibility</H2
 
688
><P
 
689
>   <TT
 
690
CLASS="LITERAL"
 
691
>SET TIME ZONE</TT
 
692
> extends syntax defined in the SQL
 
693
   standard.  The standard allows only numeric time zone offsets while
 
694
   <SPAN
 
695
CLASS="PRODUCTNAME"
 
696
>PostgreSQL</SPAN
 
697
> allows more flexible
 
698
   time-zone specifications.  All other <TT
 
699
CLASS="LITERAL"
 
700
>SET</TT
 
701
>
 
702
   features are <SPAN
 
703
CLASS="PRODUCTNAME"
 
704
>PostgreSQL</SPAN
 
705
> extensions.
 
706
  </P
 
707
></DIV
 
708
><DIV
 
709
CLASS="REFSECT1"
 
710
><A
 
711
NAME="AEN75333"
 
712
></A
 
713
><H2
 
714
>See Also</H2
 
715
><A
 
716
HREF="sql-reset.html"
 
717
>RESET</A
 
718
>, <A
 
719
HREF="sql-show.html"
 
720
>SHOW</A
 
721
></DIV
 
722
><DIV
 
723
CLASS="NAVFOOTER"
 
724
><HR
 
725
ALIGN="LEFT"
 
726
WIDTH="100%"><TABLE
 
727
SUMMARY="Footer navigation table"
 
728
WIDTH="100%"
 
729
BORDER="0"
 
730
CELLPADDING="0"
 
731
CELLSPACING="0"
 
732
><TR
 
733
><TD
 
734
WIDTH="33%"
 
735
ALIGN="left"
 
736
VALIGN="top"
 
737
><A
 
738
HREF="sql-selectinto.html"
 
739
ACCESSKEY="P"
 
740
>Prev</A
 
741
></TD
 
742
><TD
 
743
WIDTH="34%"
 
744
ALIGN="center"
 
745
VALIGN="top"
 
746
><A
 
747
HREF="index.html"
 
748
ACCESSKEY="H"
 
749
>Home</A
 
750
></TD
 
751
><TD
 
752
WIDTH="33%"
 
753
ALIGN="right"
 
754
VALIGN="top"
 
755
><A
 
756
HREF="sql-set-constraints.html"
 
757
ACCESSKEY="N"
 
758
>Next</A
 
759
></TD
 
760
></TR
 
761
><TR
 
762
><TD
 
763
WIDTH="33%"
 
764
ALIGN="left"
 
765
VALIGN="top"
 
766
>SELECT INTO</TD
 
767
><TD
 
768
WIDTH="34%"
 
769
ALIGN="center"
 
770
VALIGN="top"
 
771
><A
 
772
HREF="sql-commands.html"
 
773
ACCESSKEY="U"
 
774
>Up</A
 
775
></TD
 
776
><TD
 
777
WIDTH="33%"
 
778
ALIGN="right"
 
779
VALIGN="top"
 
780
>SET CONSTRAINTS</TD
 
781
></TR
 
782
></TABLE
 
783
></DIV
 
784
></BODY
 
785
></HTML
 
786
>
 
 
b'\\ No newline at end of file'