DBAL-231: Doctrine\DBAL\SQLParserUtils::getPlaceholderPositions() - regex #1407

Closed
doctrinebot opened this Issue Mar 5, 2012 · 5 comments

2 participants

@doctrinebot

Jira issue originally created by user ivolator:

Running the following SQL (note the named parameter ":account_id"):

SELECT count('') as cnt FROM feed f INNER JOIN ordersaccounts oa ON oa.order_id = f.feed_id INNER JOIN users u ON u.id = f.user_id WHERE oa.account_id = :account_id AND f.feed_type='order' ORDER BY f.create*date DESC

ends up in a thrown exception.
This SQL was generated by using the Query Builder

    $qb = $this->_em->getConnection()->createQueryBuilder();
    $qb->select('count(\'*\') as cnt');//I know this is bad
    $qb->from('feed', 'f');
    $qb->innerJoin('f', 'orders*accounts', 'oa', 'oa.order_id = f.feed*id');
    $qb->innerJoin('f', 'users', 'u', 'u.id = f.user_id');
    $qb->where('oa.account*id = :account_id AND f.feed*type=\'order\'');
    $qb->setParameter('account*id', $accountId, \PDO::PARAM*INT);

    $stmt = $qb->execute();
    $res = $stmt->fetchAll(\PDO::FETCH_COLUMN);

string(82) "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'NULL_id' in 'where clause'"
string(3168) "#0 /var/www/caketozf/library/Doctrine/DBAL/Connection.php(628): PDOStatement->execute()
#1 /var/www/caketozf/library/Doctrine/DBAL/Query/QueryBuilder.php(185): Doctrine\DBAL\Connection->executeQuery('SELECT count('...', Array, Array)
#2 /var/www/cake
tozf/library/of/doctrine/SqlQueryBuilderPaginatorAdapter.php(69): Doctrine\DBAL\Query\QueryBuilder->execute()
#3 /var/www/cake
to*zf/library/Zend/Paginator.php(1060): of\doctrine\SqlQueryBuilderPaginatorAdapter->count()
.......

Suggested Fix:

Regex on line 64 in pregmatch becomes '#([:a-zA-Z0-9]{1})#'
Added was an "_" ...

@doctrinebot

Comment created by @beberlei:

Fixed

@doctrinebot

Issue was closed with resolution "Fixed"

@doctrinebot

Comment created by @beberlei:

Merged in 2.1.x and 2.2 branches.

@doctrinebot

Comment created by avit:

I already fixed this in my reworking of the SqlParserUtils last month. See pull request and confirm that this issue was fixed there, together with other parsing problems:

#113

@doctrinebot

Comment created by @beberlei:

Fixed in 2.3.3

@doctrinebot doctrinebot added the Bug label Dec 6, 2015
@beberlei beberlei was assigned by doctrinebot Dec 6, 2015
@doctrinebot doctrinebot added this to the 2.3.3 milestone Dec 6, 2015
@doctrinebot doctrinebot closed this Dec 6, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment