<tbody>
<row>
<entry>n</entry>
- <entry>[0-9]+</entry>
+ <entry>[0-9]+</entry>
</row>
<row>
<entry>i</entry>
- <entry>nteger [+-]?{n}</entry>
+ <entry>nteger [+-]?{n}</entry>
</row>
<row>
<entry>real</entry>
- <entry>[+-]?({n}\.{n}?|\.{n})</entry>
+ <entry>[+-]?({n}\.{n}?|\.{n})</entry>
</row>
<row>
<entry>FLOAT</entry>
- <entry>({integer}|{real})([eE]{integer})?</entry>
+ <entry>({integer}|{real})([eE]{integer})?</entry>
</row>
<row>
- <entry>O_BRACKET</entry>
- <entry>\[</entry>
+ <entry>O_BRACKET</entry>
+ <entry>\[</entry>
</row>
<row>
<entry>C_BRACKET</entry>
- <entry>\]</entry>
+ <entry>\]</entry>
</row>
<row>
<entry>O_PAREN</entry>
- <entry>\(</entry>
+ <entry>\(</entry>
</row>
<row>
<entry>C_PAREN</entry>
- <entry>\)</entry>
+ <entry>\)</entry>
</row>
<row>
<entry>COMMA</entry>
- <entry>\,</entry>
+ <entry>\,</entry>
</row>
</tbody>
</tgroup>
</para>
<programlisting>
-a = b Same as
+a = b Same as
</programlisting>
<para>
The cubements a and b are identical.
</para>
<programlisting>
-a && b Overlaps
+a && b Overlaps
</programlisting>
<para>
The cubements a and b overlap.
</para>
<programlisting>
-a @> b Contains
+a @> b Contains
</programlisting>
<para>
The cubement a contains the cubement b.
</para>
<programlisting>
-a <@ b Contained in
+a <@ b Contained in
</programlisting>
<para>
The cubement a is contained in b.
</para>
<programlisting>
-[a, b] < [c, d] Less than
-[a, b] > [c, d] Greater than
+[a, b] < [c, d] Less than
+[a, b] > [c, d] Greater than
</programlisting>
<para>
<programlisting>
SELECT right.* from right JOIN one_to_many ON (right.id = one_to_many.right)
- WHERE one_to_many.left = item;
+ WHERE one_to_many.left = item;
</programlisting>
<para>
<programlisting>
CREATE TABLE summary as SELECT left, int_array_aggregate(right)
- AS right FROM one_to_many GROUP BY left;
+ AS right FROM one_to_many GROUP BY left;
</programlisting>
<para>
<programlisting>
SELECT right, count(right) FROM
(
- SELECT left, int_array_enum(right) AS right FROM summary JOIN
+ SELECT left, int_array_enum(right) AS right FROM summary JOIN
(SELECT left FROM left_table WHERE left = item) AS lefts
ON (summary.left = lefts.left )
) AS list GROUP BY right ORDER BY count DESC ;
<entry>
<para>
European Article Numbers. This type will always show the EAN13-display
- format. Te output function for this is <literal>ean13_out()</literal>
+ format. Te output function for this is <literal>ean13_out()</literal>
</para>
</entry>
</row>
<entry>
<para>
For International Standard Book Numbers to be displayed in
- the new EAN13-display format.
+ the new EAN13-display format.
</para>
</entry>
</row>
<entry>
<para>
For International Standard Serial Numbers to be displayed in the new
- EAN13-display format.
+ EAN13-display format.
</para>
</entry>
</row>
<entry>
<para>
For International Standard Book Numbers to be displayed in the current
- short-display format.
+ short-display format.
</para>
</entry>
</row>
<entry>
<para>
For International Standard Music Numbers to be displayed in the
- current short-display format.
+ current short-display format.
</para>
</entry>
</row>
INSERT INTO test VALUES('978055215372?');
SELECT issn('3251231?');
-SELECT ismn('979047213542?');
+SELECT ismn('979047213542?');
--Using the weak mode:
SELECT isn_weak(true);
> do
> echo "$SIZE `oid2name -q -d alvherre -i -f $FILENODE`"
> done
-16 1155287 branches_pkey
-16 1155289 tellers_pkey
-17561 1155291 accounts_pkey
+16 1155287 branches_pkey
+16 1155289 tellers_pkey
+17561 1155291 accounts_pkey
...
$ # same, but sort by size
> do
> echo "$SIZE `oid2name -q -d alvherre -f $FN`"
> done
-133466 155173 accounts
-17561 1155291 accounts_pkey
-1177 16717 pg_proc_proname_args_nsp_index
+133466 155173 accounts
+17561 1155291 accounts_pkey
+1177 16717 pg_proc_proname_args_nsp_index
...
$ # If you want to see what's in tablespaces, use the pg_tblspc directory
names. Default test data contains:
</para>
<programlisting>
-table # of tuples
+table # of tuples
-------------------------
-branches 1
-tellers 10
-accounts 100000
-history 0
+branches 1
+tellers 10
+accounts 100000
+history 0
</programlisting>
<para>
You can increase the number of tuples by using -s option. branches,
</listitem>
<listitem>
<para>
- <literal>none</literal>- data must be multiple of cipher block size.
+ <literal>none</literal>- data must be multiple of cipher block size.
</para>
</listitem>
</itemizedlist>
</para>
<programlisting>
CREATE TYPE pgrowlocks_type AS (
- locked_row TID, -- row TID
- lock_type TEXT, -- lock type
- locker XID, -- locking XID
- multi bool, -- multi XID?
- xids xid[], -- multi XIDs
- pids INTEGER[] -- locker's process id
+ locked_row TID, -- row TID
+ lock_type TEXT, -- lock type
+ locker XID, -- locking XID
+ multi bool, -- multi XID?
+ xids xid[], -- multi XIDs
+ pids INTEGER[] -- locker's process id
);
</programlisting>
<thead>
<row>
<entry>Column</entry>
- <entry>Description</entry>
+ <entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>table_len</entry>
- <entry>physical relation length in bytes</entry>
+ <entry>physical relation length in bytes</entry>
</row>
<row>
<entry>tuple_count</entry>
- <entry>number of live tuples</entry>
+ <entry>number of live tuples</entry>
</row>
<row>
<entry>tuple_len</entry>
- <entry>total tuples length in bytes</entry>
+ <entry>total tuples length in bytes</entry>
</row>
<row>
<entry>tuple_percent</entry>
- <entry>live tuples in %</entry>
+ <entry>live tuples in %</entry>
</row>
<row>
<entry>dead_tuple_len</entry>
- <entry>total dead tuples length in bytes</entry>
+ <entry>total dead tuples length in bytes</entry>
</row>
<row>
<entry>dead_tuple_percent</entry>
- <entry>dead tuples in %</entry>
+ <entry>dead tuples in %</entry>
</row>
<row>
<entry>free_space</entry>
- <entry>free space in bytes</entry>
+ <entry>free space in bytes</entry>
</row>
<row>
<entry>free_percent</entry>
- <entry>free space in %</entry>
+ <entry>free space in %</entry>
</row>
</tbody>
</tgroup>
I decided to stick to is as a range operator. This, and
also the fact that the white space around the range operator
is ignored, creates a parsing conflict with numeric constants
- starting with a decimal point.
+ starting with a decimal point.
</entry>
</row>
</tbody>
<itemizedlist>
<listitem>
<programlisting>
-[a, b] << [c, d] Is left of
+[a, b] << [c, d] Is left of
</programlisting>
<para>
The left operand, [a, b], occurs entirely to the left of the
</listitem>
<listitem>
<programlisting>
-[a, b] >> [c, d] Is right of
+[a, b] >> [c, d] Is right of
</programlisting>
<para>
- [a, b] is occurs entirely to the right of [c, d].
- [a, b] >> [c, d] is true if a > d and false otherwise
+ [a, b] is occurs entirely to the right of [c, d].
+ [a, b] >> [c, d] is true if a > d and false otherwise
</para>
</listitem>
<listitem>
<programlisting>
-[a, b] &< [c, d] Overlaps or is left of
+[a, b] &< [c, d] Overlaps or is left of
</programlisting>
<para>
- This might be better read as "does not extend to right of".
- It is true when b <= d.
+ This might be better read as "does not extend to right of".
+ It is true when b <= d.
</para>
</listitem>
<listitem>
<programlisting>
-[a, b] &> [c, d] Overlaps or is right of
+[a, b] &> [c, d] Overlaps or is right of
</programlisting>
<para>
- This might be better read as "does not extend to left of".
- It is true when a >= c.
+ This might be better read as "does not extend to left of".
+ It is true when a >= c.
</para>
</listitem>
<listitem>
<programlisting>
-[a, b] = [c, d] Same as
+[a, b] = [c, d] Same as
</programlisting>
<para>
- The segments [a, b] and [c, d] are identical, that is, a == b
- and c == d
+ The segments [a, b] and [c, d] are identical, that is, a == b
+ and c == d
</para>
</listitem>
<listitem>
<programlisting>
-[a, b] && [c, d] Overlaps
+[a, b] && [c, d] Overlaps
</programlisting>
<para>
- The segments [a, b] and [c, d] overlap.
+ The segments [a, b] and [c, d] overlap.
</para>
</listitem>
<listitem>
<programlisting>
-[a, b] @> [c, d] Contains
+[a, b] @> [c, d] Contains
</programlisting>
<para>
- The segment [a, b] contains the segment [c, d], that is,
- a <= c and b >= d
+ The segment [a, b] contains the segment [c, d], that is,
+ a <= c and b >= d
</para>
</listitem>
<listitem>
<programlisting>
-[a, b] <@ [c, d] Contained in
+[a, b] <@ [c, d] Contained in
</programlisting>
<para>
- The segment [a, b] is contained in [c, d], that is,
- a >= c and b <= d
+ The segment [a, b] is contained in [c, d], that is,
+ a >= c and b <= d
</para>
</listitem>
</itemizedlist>
</para>
<programlisting>
-[a, b] < [c, d] Less than
-[a, b] > [c, d] Greater than
+[a, b] < [c, d] Less than
+[a, b] > [c, d] Greater than
</programlisting>
<para>
These operators do not make a lot of sense for any practical
role
emailAddress
</programlisting>
- <para>
+ <para>
All of these fields are optional, except commonName. It depends
entirely on your CA policy which of them would be included and which
wouldn't. The meaning of these fields, howeer, is strictly defined by
<entry>
<literal>
connectby(text relname, text keyid_fld, text parent_keyid_fld
- [, text orderby_fld], text start_with, int max_depth
- [, text branch_delim])
+ [, text orderby_fld], text start_with, int max_depth
+ [, text branch_delim])
</literal>
</entry>
<entry>
<programlisting>
connectby(text relname, text keyid_fld, text parent_keyid_fld
[, text orderby_fld], text start_with, int max_depth
- [, text branch_delim])
+ [, text branch_delim])
</programlisting>
<table>
<title><literal>connectby</literal> parameters</title>
<entry><literal>orderby_fld</literal></entry>
<entry>
If optional ordering of siblings is desired: Name of the field to
- order siblings
+ order siblings
</entry>
</row>
<row>
CREATE TABLE test_trgm (t text);
CREATE INDEX trgm_idx ON test_trgm USING gist (t gist_trgm_ops);
</programlisting>
- <para>
+ <para>
At this point, you will have an index on the t text column that you
can use for similarity searching. Example:
</para>
<programlisting>
SELECT
- t,
- similarity(t, 'word') AS sml
+ t,
+ similarity(t, 'word') AS sml
FROM
- test_trgm
+ test_trgm
WHERE
- t % 'word'
+ t % 'word'
ORDER BY
- sml DESC, t;
+ sml DESC, t;
</programlisting>
<para>
This will return all values in the text column that are sufficiently
</para>
<programlisting>
CREATE TABLE words AS SELECT word FROM
- stat('SELECT to_tsvector(''simple'', bodytext) FROM documents');
+ stat('SELECT to_tsvector(''simple'', bodytext) FROM documents');
</programlisting>
<para>
Where 'documents' is a table that has a text field 'bodytext'
<programlisting>
SELECT * FROM
xpath_table('article_id',
- 'article_xml',
- 'articles',
- '/article/author|/article/pages|/article/title',
- 'date_entered > ''2003-01-01'' ')
+ 'article_xml',
+ 'articles',
+ '/article/author|/article/pages|/article/title',
+ 'date_entered > ''2003-01-01'' ')
AS t(article_id integer, author text, page_count integer, title text);
</programlisting>