Home Explore Blog CI



postgresql

7th chunk of `doc/src/sgml/ltree.sgml`
7deeeed3b17ed181d5885c0d2630e0d75c1f6e4e265dc1b10000000100000fa2
 <returnvalue>Top.Child1</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>subpath</function> ( <type>ltree</type>, <parameter>offset</parameter> <type>integer</type> )
        <returnvalue>ltree</returnvalue>
       </para>
       <para>
        Returns subpath of <type>ltree</type> starting at
        position <parameter>offset</parameter>, extending to end of path.
        If <parameter>offset</parameter> is negative, subpath starts that far
        from the end of the path.
       </para>
       <para>
        <literal>subpath('Top.Child1.Child2', 1)</literal>
        <returnvalue>Child1.Child2</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm><primary>nlevel</primary></indexterm>
        <function>nlevel</function> ( <type>ltree</type> )
        <returnvalue>integer</returnvalue>
       </para>
       <para>
        Returns number of labels in path.
       </para>
       <para>
        <literal>nlevel('Top.Child1.Child2')</literal>
        <returnvalue>3</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm><primary>index</primary></indexterm>
        <function>index</function> ( <parameter>a</parameter> <type>ltree</type>, <parameter>b</parameter> <type>ltree</type> )
        <returnvalue>integer</returnvalue>
       </para>
       <para>
        Returns position of first occurrence of <parameter>b</parameter> in
        <parameter>a</parameter>, or -1 if not found.
       </para>
       <para>
        <literal>index('0.1.2.3.5.4.5.6.8.5.6.8', '5.6')</literal>
        <returnvalue>6</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>index</function> ( <parameter>a</parameter> <type>ltree</type>,  <parameter>b</parameter> <type>ltree</type>, <parameter>offset</parameter> <type>integer</type> )
        <returnvalue>integer</returnvalue>
       </para>
       <para>
        Returns position of first occurrence of <parameter>b</parameter>
        in <parameter>a</parameter>, or -1 if not found.  The search starts at
        position <parameter>offset</parameter>;
        negative <parameter>offset</parameter> means
        start <parameter>-offset</parameter> labels from the end of the path.
       </para>
       <para>
        <literal>index('0.1.2.3.5.4.5.6.8.5.6.8', '5.6', -4)</literal>
        <returnvalue>9</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm><primary>text2ltree</primary></indexterm>
        <function>text2ltree</function> ( <type>text</type> )
        <returnvalue>ltree</returnvalue>
       </para>
       <para>
        Casts <type>text</type> to <type>ltree</type>.
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm><primary>ltree2text</primary></indexterm>
        <function>ltree2text</function> ( <type>ltree</type> )
        <returnvalue>text</returnvalue>
       </para>
       <para>
        Casts <type>ltree</type> to <type>text</type>.
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm><primary>lca</primary></indexterm>
        <function>lca</function> ( <type>ltree</type> <optional>, <type>ltree</type> <optional>, ... </optional></optional> )
        <returnvalue>ltree</returnvalue>
       </para>
       <para>
        Computes longest common ancestor of paths
        (up to 8 arguments are supported).
       </para>
       <para>
        <literal>lca('1.2.3', '1.2.3.4.5.6')</literal>
        <returnvalue>1.2</returnvalue>
       </para></entry>
      </row>

Title: ltree Functions
Summary
The ltree data type provides various functions for manipulating and querying hierarchical data, including subpath, nlevel, index, text2ltree, ltree2text, and lca, which allow for extracting subpaths, getting the number of labels, finding the position of a subpath, casting between text and ltree, and computing the longest common ancestor of multiple paths.