Genezzo::Plan::QueryRewrite - Perform checks on relational algebra representation
Rewrite relational algebra.
Perform typechecking on a relational algebra, and add type information to the tree
Check table references in the relational algebra, and provide type information.
Resolve each column reference in the relational algebra back to some base table.
- check for function existance in GenDBI and main namespaces
- update pod
- need to handle FROM clause subqueries -- some tricky column type issues.
- check bool_op - AND purity if no OR's.
- check relational operator (comp_op, relop)
- handle ddl/dml (create, insert, delete etc with embedded queries) by checking for query_block info -- look for hash with 'query_block' before attempting table/col resolution. Need special type checking for these functions.
- refactor to common TreeWalker
- _process_name_pieces: quoted string/case-insensitivity
- handle all pseudo cols
- most value expression stuff needs to migrate to XEval
Jeffrey I. Cohen, firstname.lastname@example.org
Copyright (c) 2005,2006 Jeffrey I Cohen. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Address bug reports and comments to: email@example.com
For more information, please visit the Genezzo homepage at http://www.genezzo.com