Skip to content

Commit ed0ccd2

Browse files
authored
Merge pull request #56 from keboola/zajca-zd-27225
fix view match case insensitive
2 parents af19566 + 2bd29b6 commit ed0ccd2

2 files changed

Lines changed: 23 additions & 1 deletion

File tree

src/View/SynapseViewReflection.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public function getViewDefinition(): string
7474

7575
/** @var string $definition */
7676
$definition = $this->connection->fetchOne($sql);
77-
$isValid = preg_match('/CREATE[\s\S]*VIEW[\s\S]*AS[\s\S]*SELECT[\s\S]*FROM[\s\S]*/', $definition);
77+
$isValid = preg_match('/CREATE[\s\S]*VIEW[\s\S]*AS[\s\S]*SELECT[\s\S]*FROM[\s\S]*/i', $definition);
7878
if ($isValid === 0) {
7979
throw InvalidViewDefinitionException::createForMissingDefinition($this->schemaName, $this->viewName);
8080
}

tests/Functional/Synapse/View/SynapseViewReflectionTest.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,28 @@ public function testGetViewDefinition(): void
9191
// phpcs:disable
9292
<<< EOT
9393
CREATE VIEW [utils-test_ref-table-schema].[utils-test_ref-view]\r\nAS SELECT * FROM [utils-test_ref-table-schema].[utils-test_ref];
94+
EOT
95+
// phpcs:enable
96+
,
97+
$viewRef->getViewDefinition()
98+
);
99+
100+
// try same with lowe case
101+
$this->connection->executeStatement(
102+
sprintf(
103+
'CREATE VIEW [%s].[%s] AS select * from [%s].[%s];',
104+
self::TEST_SCHEMA,
105+
'[utils-test_ref-view2',
106+
self::TEST_SCHEMA,
107+
self::TABLE_GENERIC
108+
)
109+
);
110+
111+
$viewRef = new SynapseViewReflection($this->connection, self::TEST_SCHEMA, '[utils-test_ref-view2');
112+
self::assertEquals(
113+
// phpcs:disable
114+
<<< EOT
115+
CREATE VIEW [utils-test_ref-table-schema].[[utils-test_ref-view2]\r\nAS select * from [utils-test_ref-table-schema].[utils-test_ref];
94116
EOT
95117
// phpcs:enable
96118
,

0 commit comments

Comments
 (0)