What steps will reproduce the problem?
1. Attempt to create an SQL string with a source that has
[SELECT] => Array
(
[0] => Array
(
[expr_type] => bracket_expression
[alias] =>
[base_expr] => (some_field = 'string')
[sub_tree] => Array
(
[0] => Array
(
[expr_type] => colref
[base_expr] => some_field
[sub_tree] =>
[position] => 8
)
[1] => Array
(
[expr_type] => operator
[base_expr] => =
[sub_tree] =>
[position] => 14
)
[2] => Array
(
[expr_type] => const
[base_expr] => 'string'
[sub_tree] =>
[position] => 16
)
)
[position] => 7
)
)
or any other logic expression.
What is the expected output? What do you see instead?
Expected result is an SQL string.
Actual result is
PHP Fatal error: Uncaught exception 'UnableToCreateSQLException' with message
'unknown expr_type in SELECT[0] bracket_expression' in
projects/PHP-SQL-Parser/php-sql-creator.php:124
Stack trace:
#0 projects/PHP-SQL-Parser/php-sql-creator.php(72):
PHPSQLCreator->processSELECT(Array)
#1 projects/PHP-SQL-Parser/php-sql-creator.php(53):
PHPSQLCreator->processSelectStatement(Array)
#2 projects/PHP-SQL-Parser/php-sql-creator.php(40): PHPSQLCreator->create(Array)
#3 projects/PHP-SQL-Parser/example.php(18): PHPSQLCreator->__construct(Array)
#4 {main}
thrown in projects/PHP-SQL-Parser/php-sql-creator.php on line 124
What version of the product are you using? On what operating system?
php-sql-parser-20120822.zip, Debian
Please provide any additional information below.
Attached file includes example that causes error.
Not using parentheses (select some_field = 'string' from table;) still produces
an error:
PHP Fatal error: Uncaught exception 'UnableToCreateSQLException' with message
'unknown expr_type in expression subtree[0] colref' in
projects/PHP-SQL-Parser/php-sql-creator.php:452
Stack trace:
#0 projects/PHP-SQL-Parser/php-sql-creator.php(424):
PHPSQLCreator->processSubTree(Array, ' ')
#1 projects/PHP-SQL-Parser/php-sql-creator.php(119):
PHPSQLCreator->processSelectExpression(Array)
#2 projects/PHP-SQL-Parser/php-sql-creator.php(72):
PHPSQLCreator->processSELECT(Array)
#3 projects/PHP-SQL-Parser/php-sql-creator.php(53):
PHPSQLCreator->processSelectStatement(Array)
#4 projects/PHP-SQL-Parser/php-sql-creator.php(40): PHPSQLCreator->create(Array)
#5 projects/PHP-SQL-Parser/example.php(8): PHPSQLCreator->__construct(Array)
#6 {main}
thrown in projects/PHP-SQL-Parser/php-sql-creator.php on line 452
Original issue reported on code.google.com by swe...@gmail.com on 16 Jan 2013 at 6:33
Original issue reported on code.google.com by
swe...@gmail.com
on 16 Jan 2013 at 6:33Attachments: