Skip to content

Commit

Permalink
Rename backtrace option and add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
alcaeus committed May 10, 2019
1 parent 03cd941 commit 012835a
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 5 deletions.
4 changes: 2 additions & 2 deletions DependencyInjection/Configuration.php
Expand Up @@ -143,9 +143,9 @@ private function getDbalConnectionsNode()
->scalarNode('schema_filter')->end()
->booleanNode('logging')->defaultValue($this->debug)->end()
->booleanNode('profiling')->defaultValue($this->debug)->end()
->booleanNode('profiling_backtrace')
->booleanNode('profiling_collect_backtrace')
->defaultValue(false)
->info('To enable Query backtrace record')
->info('Enables collecting backtraces when profiling is enabled')
->end()
->scalarNode('server_version')->end()
->scalarNode('driver_class')->end()
Expand Down
6 changes: 3 additions & 3 deletions DependencyInjection/DoctrineExtension.php
Expand Up @@ -133,8 +133,8 @@ protected function loadDbalConnection($name, array $connection, ContainerBuilder
}
unset($connection['logging']);

if ($connection['profiling'] || $connection['profiling_backtrace']) {
$profilingAbstractId = $connection['profiling_backtrace'] ?
if ($connection['profiling']) {
$profilingAbstractId = $connection['profiling_collect_backtrace'] ?
'doctrine.dbal.logger.backtrace' :
'doctrine.dbal.logger.profiling';

Expand All @@ -154,7 +154,7 @@ protected function loadDbalConnection($name, array $connection, ContainerBuilder
$logger = $profilingLogger;
}
}
unset($connection['profiling'], $connection['profiling_backtrace']);
unset($connection['profiling'], $connection['profiling_collect_backtrace']);

if (isset($connection['auto_commit'])) {
$configuration->addMethodCall('setAutoCommit', [$connection['auto_commit']]);
Expand Down
1 change: 1 addition & 0 deletions Resources/config/schema/doctrine-1.0.xsd
Expand Up @@ -36,6 +36,7 @@
<xsd:attribute name="schema-filter" type="xsd:string" />
<xsd:attribute name="logging" type="xsd:string" default="false" />
<xsd:attribute name="profiling" type="xsd:string" default="false" />
<xsd:attribute name="profiling-collect-backtrace" type="xsd:string" default="false" />
<xsd:attribute name="server-version" type="xsd:string" />
<xsd:attribute name="use-savepoints" type="xsd:boolean" />
<xsd:attributeGroup ref="driver-config" />
Expand Down
6 changes: 6 additions & 0 deletions Tests/DependencyInjection/AbstractDoctrineExtensionTest.php
Expand Up @@ -358,6 +358,12 @@ public function testLoadLogging()
$definition = $container->getDefinition('doctrine.dbal.profile_connection.configuration');
$this->assertDICDefinitionMethodCallOnce($definition, 'setSQLLogger', [new Reference('doctrine.dbal.logger.profiling.profile')]);

$definition = $container->getDefinition('doctrine.dbal.profile_with_backtrace_connection.configuration');
$this->assertDICDefinitionMethodCallOnce($definition, 'setSQLLogger', [new Reference('doctrine.dbal.logger.backtrace.profile_with_backtrace')]);

$definition = $container->getDefinition('doctrine.dbal.backtrace_without_profile_connection.configuration');
$this->assertDICDefinitionNoMethodCall($definition, 'setSQLLogger');

$definition = $container->getDefinition('doctrine.dbal.both_connection.configuration');
$this->assertDICDefinitionMethodCallOnce($definition, 'setSQLLogger', [new Reference('doctrine.dbal.logger.chain.both')]);
}
Expand Down
10 changes: 10 additions & 0 deletions Tests/DependencyInjection/Fixtures/config/xml/dbal_logging.xml
Expand Up @@ -16,6 +16,16 @@
name="profile"
logging="false"
profiling="true" />
<connection
name="profile_with_backtrace"
logging="false"
profiling="true"
profiling-collect-backtrace="true" />
<connection
name="backtrace_without_profile"
logging="false"
profiling="false"
profiling-collect-backtrace="true" />
<connection
name="both"
logging="true"
Expand Down
Expand Up @@ -8,6 +8,14 @@ doctrine:
profile:
logging: false
profiling: true
profile_with_backtrace:
logging: false
profiling: true
profiling_collect_backtrace: true
backtrace_without_profile:
logging: false
profiling: false
profiling_collect_backtrace: true
both:
logging: true
profiling: true

0 comments on commit 012835a

Please sign in to comment.