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
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="fn_csv_parse">
<refmeta>
<refentrytitle>csv_parse</refentrytitle>
<refmiscinfo>file</refmiscinfo>
</refmeta>
<refnamediv>
<refname>csv_parse</refname>
<refpurpose>Parses a CSV file.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_csv_parse">
<funcprototype id="fproto_csv_parse">
<funcdef><function>csv_parse</function></funcdef>
<paramdef>in <parameter>string_session_input</parameter> any</paramdef>
<paramdef>in <parameter>callback_sp_name</parameter> varchar</paramdef>
<paramdef>inout <parameter>callback_user_data</parameter> varchar</paramdef>
<paramdef><optional>in <parameter>from_line</parameter> integer</optional></paramdef>
<paramdef><optional>in <parameter>to_line</parameter> integer</optional></paramdef>
<paramdef><optional>in <parameter>opts</parameter> any</optional></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_csv_parse">
<title>Description</title>
<para>Parses string session containing CSV data and then calls stored procedure
by given callback_sp_name parameter. The call back will be invoked for lines
between from_line and to_line argument's values.
The default from/to is 0/null which means from begining to end.
The callback function must take three arguments: the vector which contains
parsed csv row, the line number, inout the callback_user_data.</para>
</refsect1>
<refsect1 id="params_csv_parse">
<title>Parameters</title>
<refsect2><title>string_session_input</title>
<para>String session containing CSV data will be parsed as CSV where it will
insert into the table specified as table_name the lines between from_line and to_line offsets.
</para>
</refsect2>
<refsect2><title>callback_sp_name</title>
<para>The name of the stored procedure.</para>
</refsect2>
<refsect2><title>callback_user_data</title>
<para>The user data.</para>
</refsect2>
<refsect2><title>from_line</title>
<para>Default - 0, This means counted from the begining.</para>
</refsect2>
<refsect2><title>to_line</title>
<para>Default - null, This means counted to the end.</para>
</refsect2>
<refsect2><title>opts</title>
<para>Default - null. The opts paramater is used to specify the delimiter
and quote it should look like this:
</para>
<programlisting><![CDATA[
vector ('csv-delimiter', self.delim, 'csv-quote', self.quot)
]]></programlisting>
</refsect2>
</refsect1>
<!--<refsect1 id="ret_csv_parse"><title>Return Types</title>
<para>Returns a vector with field values.</para>
</refsect1>
<refsect1 id="errors_csv_parse">
<title>Errors</title>
<para>If table is not suitable in respect of number of columns or
type of columns error will be signaled.</para>
</refsect1>-->
<refsect1 id="examples_csv_parse">
<title>Examples</title>
<example id="ex_csv_parse"><title></title>
<para></para>
<programlisting><![CDATA[
create procedure y_csv_cb (inout r any, in inx int, inout cbd any)
{
if (cbd is null)
cbd := vector ();
cbd := vector_concat (cbd, vector (r));
}
;
....
h := null;
csv_parse (ss, 'DB.DBA.y_csv_cb', h, 0, 10);
....
]]></programlisting>
</example>
</refsect1>
<refsect1 id="seealso_csv_parse">
<title>See Also</title>
<para><link linkend="fn_get_csv_row"><function>get_csv_row</function></link></para>
<para><link linkend="fn_csv_load_file"><function>csv_load_file</function></link></para>
<para><link linkend="fn_csv_load"><function>csv_load</function></link></para>
<para><link linkend="fn_csv_cols_def"><function>csv_cols_def</function></link></para>
<para><link linkend="fn_csv_table_def"><function>csv_table_def</function></link></para>
</refsect1>
</refentry>
|