Commit 290f1603 authored by Robert Haas's avatar Robert Haas

Some copy editing of pg_read_binary_file() patch.

parent afc8f47b
...@@ -14489,19 +14489,21 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup()); ...@@ -14489,19 +14489,21 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
at the given <parameter>offset</>, returning at most <parameter>length</> at the given <parameter>offset</>, returning at most <parameter>length</>
bytes (less if the end of file is reached first). If <parameter>offset</> bytes (less if the end of file is reached first). If <parameter>offset</>
is negative, it is relative to the end of the file. is negative, it is relative to the end of the file.
When <parameter>offset</> and <parameter>length</> parameters are omitted, If <parameter>offset</> and <parameter>length</> are omitted, the entire
it returns the whole of the file. file is returned. The bytes read from the file are interpreted as a string
The part of a file must be a valid text in the server encoding. in the server encoding; an error is thrown if they are not valid in that
encoding.
</para> </para>
<indexterm> <indexterm>
<primary>pg_read_binary_file</primary> <primary>pg_read_binary_file</primary>
</indexterm> </indexterm>
<para> <para>
<function>pg_read_binary_file</> returns part of a file as like as <function>pg_read_binary_file</> is similar to
<function>pg_read_file</>, but the result is a bytea value. <function>pg_read_file</>, except that the result is a bytea value;
One of the usages is to read a file in the specified encoding combined with accordingly, no encoding checks are performed.
<function>convert_from</> function: In combination with the <function>convert_from</> function, this function
can be used to read a file in a specified encoding:
<programlisting> <programlisting>
SELECT convert_from(pg_read_binary_file('file_in_utf8.txt'), 'UTF8'); SELECT convert_from(pg_read_binary_file('file_in_utf8.txt'), 'UTF8');
</programlisting> </programlisting>
......
...@@ -152,7 +152,7 @@ read_binary_file(text *filename_t, int64 seek_offset, int64 bytes_to_read) ...@@ -152,7 +152,7 @@ read_binary_file(text *filename_t, int64 seek_offset, int64 bytes_to_read)
} }
/* /*
* In addition to read_binary_file, verify whether the contents are encoded * Similar to read_binary_file, but we verify that the contents are valid
* in the database encoding. * in the database encoding.
*/ */
static text * static text *
...@@ -163,7 +163,7 @@ read_text_file(text *filename, int64 seek_offset, int64 bytes_to_read) ...@@ -163,7 +163,7 @@ read_text_file(text *filename, int64 seek_offset, int64 bytes_to_read)
/* Make sure the input is valid */ /* Make sure the input is valid */
pg_verifymbstr(VARDATA(buf), VARSIZE(buf) - VARHDRSZ, false); pg_verifymbstr(VARDATA(buf), VARSIZE(buf) - VARHDRSZ, false);
/* OK, we can cast it as text safely */ /* OK, we can cast it to text safely */
return (text *) buf; return (text *) buf;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment