> I proofreaded Marc's rewrite. It's mostly really good, but there are a
> few mistakes. Patch attached fixes them. The whole new file is also
> attached (with Marc's patch and mine).
>
> So I think all is need is to put the last bit of informations Tatsuo
> gave you, to have a complete file.
>
> Thanks for your work.
Here is another patch (version 3) to be applied on top of this one.
There are 3 items left (missing answers):
In the replication mode or master/slave mode, trust, clear text
password, and pam methods are supported.
clear text password is not supported. TODO: contradiction in the
previous sentence
<code>JOIN</code>s like above will be executed on each backend, and
then merged with the results returned by each backend. Views and Rules
that join across the nodes cannot be created.
However, to JOIN tables that access data only in the same node, a VIEW can be
made.
This VIEW is registered in the pgpool_catalog.dist_def table. A col_name and
a dist_def_func will have to be registered too. These are used when an insert
is
performed on the view.
</p> TODO: I don't really get this one
The column names and types are needed when a query is analyzed in parallel
mode.
Therefore, when an expression or a function is used in the TARGETLIST of
a subquery, the alias and type (through a cast) are needed. Please note that
if no cast is provided in an expression or a function, the text type will be
chosen as a default. For count(), bigint type is assumed, and for sum(),
numeric. For min()/max(), if the argument is a date type, returned datatype is
date,
else, it is assumed numeric. avg() is processed as sum/count.
TODO : which one ? numeric or bigint ?
*** pgpool-en.html.orig 2011-01-04 11:05:05.971496809 +0100
--- pgpool-en.html 2011-01-04 11:20:31.770829382 +0100
***************
*** 1744,1754 ****
<h4><p>Registering a Replication Rule</p></h4>
<p>
! Tables that are not distributed can be replicated. Once a query joins a
distributed table with another table, pgpool gets the replication information
! from the pgpool_catalog.replicate_def table.
</p>
- TODO: can a table be non-distributed and non-replicated ?
<pre>
CREATE TABLE pgpool_catalog.replicate_def(
--- 1744,1754 ----
<h4><p>Registering a Replication Rule</p></h4>
<p>
! Tables that are not distributed have to be replicated. When a query joins a
distributed table with another table, pgpool gets the replication information
! from the pgpool_catalog.replicate_def table. A table has to be either replicated
! or distributed.
</p>
<pre>
CREATE TABLE pgpool_catalog.replicate_def(
***************
*** 2331,2337 ****
</p>
<p>
! TODO: What is the point of 'flushing the sequences' ? Don't we trust WAL recovery ?
The loop in the script forces PostgreSQL to emit current value of all sequences
in all databases in the master node to the transaction log so that it is
--- 2331,2338 ----
</p>
<p>
! This flushing of sequences is only useful in replication mode: in this case, sequences have to have the
! same starting point on all nodes. It's not useful in master-slave mode.
The loop in the script forces PostgreSQL to emit current value of all sequences
in all databases in the master node to the transaction log so that it is
***************
*** 2818,2825 ****
<h3>USING CLAUSE (for parallel mode)</h3>
<p>The USING CLAUSE is converted to an ON CLAUSE by the query rewrite process.
! Therefore, when "*" is used at target list, the row of the same column name appears.</p>
! TODO: What does it mean ?
<h3>Multi-byte Characters (for all modes)</h3>
--- 2819,2849 ----
<h3>USING CLAUSE (for parallel mode)</h3>
<p>The USING CLAUSE is converted to an ON CLAUSE by the query rewrite process.
! Therefore, when "*" is used at target list, the joined column(s) appear twice.</p>
! <p>
! Here is an example:
! </p>
! <p><pre>
! =# SELECT * FROM t1 JOIN t2 USING(id);
! id | t | t
! ----+-----+-------
! 1 | 1st | first
! (1 row)
! </pre></p>
! <p>
! In the rewrite process "USING" is translated into "ON". So the
! effective result is as follows:
! </p><p><pre>
! =# SELECT * FROM t1 JOIN t2 ON t1.id = t2.id;
! id | t | id | t
! ----+-----+----+-------
! 1 | 1st | 1 | first
! (1 row)
! </pre>
! </p>
! <p>
! Notice that column "t" is duplicated.
! </p>
<h3>Multi-byte Characters (for all modes)</h3>
***************
*** 3207,3214 ****
</pre>
</p>
- TODO: This section may be completely false. I tried to understand the general
- meaning of the original text, and look into pgpool's code to understand.
<h1>Inside information<a name="internal"></a></h1>
<p>
pgpool-II version 2.0.x brings extensive modifications, compared with the version 1.x
--- 3231,3236 ----
_______________________________________________
Pgpool-hackers mailing list
[email protected]
http://pgfoundry.org/mailman/listinfo/pgpool-hackers