From a25f58717fac53bdfd07a06561efa04f5404f606 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gwena=C3=ABl=20Cruz?= Date: Wed, 28 Dec 2022 11:43:09 +0100 Subject: [PATCH 1/6] Fix PHP 8.1 deprecation notice --- .../PhOSCo/Sniffs/Commenting/FileCommentSniff.php | 8 ++++---- src/PHPSQLParser/processors/SelectExpressionProcessor.php | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libs/codesniffer/PhOSCo/Sniffs/Commenting/FileCommentSniff.php b/libs/codesniffer/PhOSCo/Sniffs/Commenting/FileCommentSniff.php index 56f3d824..5a668b6d 100644 --- a/libs/codesniffer/PhOSCo/Sniffs/Commenting/FileCommentSniff.php +++ b/libs/codesniffer/PhOSCo/Sniffs/Commenting/FileCommentSniff.php @@ -476,9 +476,9 @@ protected function processPackage($errorPos) { $newContent = preg_replace('/[^A-Za-z_]/', '', $newContent); $nameBits = explode('_', $newContent); $firstBit = array_shift($nameBits); - $newName = strtoupper($firstBit{0}) . substr($firstBit, 1) . '_'; + $newName = strtoupper($firstBit[0]) . substr($firstBit, 1) . '_'; foreach ($nameBits as $bit) { - $newName .= strtoupper($bit{0}) . substr($bit, 1) . '_'; + $newName .= strtoupper($bit[0]) . substr($bit, 1) . '_'; } $error = 'Package name "%s" is not valid; consider "%s" instead'; @@ -504,9 +504,9 @@ protected function processSubpackage($errorPos) { $newContent = str_replace(' ', '_', $content); $nameBits = explode('_', $newContent); $firstBit = array_shift($nameBits); - $newName = strtoupper($firstBit{0}) . substr($firstBit, 1) . '_'; + $newName = strtoupper($firstBit[0]) . substr($firstBit, 1) . '_'; foreach ($nameBits as $bit) { - $newName .= strtoupper($bit{0}) . substr($bit, 1) . '_'; + $newName .= strtoupper($bit[0]) . substr($bit, 1) . '_'; } $error = 'Subpackage name "%s" is not valid; consider "%s" instead'; diff --git a/src/PHPSQLParser/processors/SelectExpressionProcessor.php b/src/PHPSQLParser/processors/SelectExpressionProcessor.php index 5d6f846a..a4cbc57c 100644 --- a/src/PHPSQLParser/processors/SelectExpressionProcessor.php +++ b/src/PHPSQLParser/processors/SelectExpressionProcessor.php @@ -89,7 +89,9 @@ public function process($expression) { // but also a comment! if ($capture) { if (!$this->isWhitespaceToken($upper) && !$this->isCommentToken($upper)) { - $alias['name'] .= $token; + if ($alias) { + $alias['name'] .= $token; + } array_pop($stripped); } $alias['base_expr'] .= $token; From ecce92a78360f4238ee55d649a97d5fe61437daf Mon Sep 17 00:00:00 2001 From: Marc Vachette Date: Mon, 14 Nov 2022 13:13:42 +0100 Subject: [PATCH 2/6] Fix wrong test case class --- tests/cases/parser/issue320Test.php | 3 +-- tests/cases/parser/issue335Test.php | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/cases/parser/issue320Test.php b/tests/cases/parser/issue320Test.php index 1f3b274e..b907cd63 100644 --- a/tests/cases/parser/issue320Test.php +++ b/tests/cases/parser/issue320Test.php @@ -39,9 +39,8 @@ */ namespace PHPSQLParser\Test\Parser; use PHPSQLParser\PHPSQLParser; -use PHPSQLParser\PHPSQLCreator; -class issue320Test extends \PHPUnit_Framework_TestCase +class issue320Test extends \PHPUnit\Framework\TestCase { public function test_no_warning_is_issued_when_help_table_is_used() { diff --git a/tests/cases/parser/issue335Test.php b/tests/cases/parser/issue335Test.php index 7dd5a869..90bf3b9c 100644 --- a/tests/cases/parser/issue335Test.php +++ b/tests/cases/parser/issue335Test.php @@ -39,7 +39,7 @@ use PHPSQLParser\PHPSQLParser; -class issue335Test extends \PHPUnit_Framework_TestCase +class issue335Test extends \PHPUnit\Framework\TestCase { /** * @test From 3e01cf70d85c52da10f5bb9f88a79850fadc2282 Mon Sep 17 00:00:00 2001 From: Marc Vachette Date: Mon, 14 Nov 2022 13:17:02 +0100 Subject: [PATCH 3/6] solve#368 add CURRENT_TIMESTAMP to the list of SQL functions --- .../utils/PHPSQLParserConstants.php | 2 +- tests/cases/creator/issue368Test.php | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 tests/cases/creator/issue368Test.php diff --git a/src/PHPSQLParser/utils/PHPSQLParserConstants.php b/src/PHPSQLParser/utils/PHPSQLParserConstants.php index 7b01eafb..5a3b92ea 100644 --- a/src/PHPSQLParser/utils/PHPSQLParserConstants.php +++ b/src/PHPSQLParser/utils/PHPSQLParserConstants.php @@ -129,7 +129,7 @@ class PHPSQLParserConstants { 'BITLENGTH', 'CAST', 'CEILING', 'CHAR', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'CHARSET', 'COALESCE', 'COERCIBILITY', 'COLLATION', 'COMPRESS', 'CONCAT', 'CONCAT_WS', 'CONNECTION_ID', 'CONV', 'CONVERT', 'CONVERT_TZ', 'COS', 'COT', 'COUNT', 'CRC32', - 'CURDATE', 'CURRENT_USER', 'CURRVAL', 'CURTIME', 'DATABASE', 'SCHEMA', 'DATE_ADD', 'DATE_DIFF', + 'CURDATE', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURRVAL', 'CURTIME', 'DATABASE', 'SCHEMA', 'DATE_ADD', 'DATE_DIFF', 'DATE_FORMAT', 'DATE_SUB', 'DAY', 'DAYNAME', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'DECODE', 'DEFAULT', 'DEGREES', 'DES_DECRYPT', 'DES_ENCRYPT', 'ELT', 'ENCODE', 'ENCRYPT', 'EXP', 'EXPORT_SET', 'EXTRACT', 'FIELD', 'FIND_IN_SET', 'FLOOR', 'FORMAT', diff --git a/tests/cases/creator/issue368Test.php b/tests/cases/creator/issue368Test.php new file mode 100644 index 00000000..189c0b8c --- /dev/null +++ b/tests/cases/creator/issue368Test.php @@ -0,0 +1,30 @@ +parse($sql); + + $this->assertEquals($sql, $creator->create($parser->parsed)); + } +} From 20d957ed0c048c62ae1352832058858750ae4dec Mon Sep 17 00:00:00 2001 From: DAdq26 <134490838+DAdq26@users.noreply.github.com> Date: Wed, 23 Aug 2023 09:06:59 +0200 Subject: [PATCH 4/6] PHP 8.2 - Deprecated "Access to an undefined property PHPSQLParser\PHPSQLCreator::$created" --- src/PHPSQLParser/PHPSQLCreator.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/PHPSQLParser/PHPSQLCreator.php b/src/PHPSQLParser/PHPSQLCreator.php index 409ab00d..9d2d72db 100644 --- a/src/PHPSQLParser/PHPSQLCreator.php +++ b/src/PHPSQLParser/PHPSQLCreator.php @@ -40,6 +40,7 @@ */ namespace PHPSQLParser; +use PHPSQLParser\builders\Builder; use PHPSQLParser\exceptions\UnsupportedFeatureException; use PHPSQLParser\builders\SelectStatementBuilder; use PHPSQLParser\builders\DeleteStatementBuilder; @@ -64,7 +65,8 @@ * */ class PHPSQLCreator { - + private Builder $created; + public function __construct($parsed = false) { if ($parsed) { $this->create($parsed); @@ -76,9 +78,9 @@ public function create($parsed) { switch ($k) { case 'UNION': - $builder = new UnionStatementBuilder(); - $this->created = $builder->build($parsed); - break; + $builder = new UnionStatementBuilder(); + $this->created = $builder->build($parsed); + break; case 'UNION ALL': $builder = new UnionAllStatementBuilder(); $this->created = $builder->build($parsed); From b1df6b157ee94557cbe237aa24eca520a2eb448c Mon Sep 17 00:00:00 2001 From: David Gagnaire Date: Thu, 24 Aug 2023 14:51:40 +0200 Subject: [PATCH 5/6] PHP 8.2 - Deprecated Access to an undefined property PHPSQLParser --- src/PHPSQLParser/PHPSQLCreator.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PHPSQLParser/PHPSQLCreator.php b/src/PHPSQLParser/PHPSQLCreator.php index 9d2d72db..d6a5686f 100644 --- a/src/PHPSQLParser/PHPSQLCreator.php +++ b/src/PHPSQLParser/PHPSQLCreator.php @@ -65,7 +65,7 @@ * */ class PHPSQLCreator { - private Builder $created; + private $created; public function __construct($parsed = false) { if ($parsed) { From 286827811361bc993c244e9b2e7e3486396d8f34 Mon Sep 17 00:00:00 2001 From: David Gagnaire Date: Thu, 24 Aug 2023 14:57:31 +0200 Subject: [PATCH 6/6] PHP 8.2 - Deprecated Access to an undefined property PHPSQLParser > change private to public type declaration --- src/PHPSQLParser/PHPSQLCreator.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PHPSQLParser/PHPSQLCreator.php b/src/PHPSQLParser/PHPSQLCreator.php index d6a5686f..c7a67de6 100644 --- a/src/PHPSQLParser/PHPSQLCreator.php +++ b/src/PHPSQLParser/PHPSQLCreator.php @@ -65,7 +65,7 @@ * */ class PHPSQLCreator { - private $created; + public $created; public function __construct($parsed = false) { if ($parsed) {