From 5f17826a4c1de0d2036d141edbd365d4b71387e0 Mon Sep 17 00:00:00 2001 From: Tigrov Date: Tue, 25 Jul 2023 16:40:50 +0700 Subject: [PATCH 01/21] Refactor ColumnSchema.php --- src/ColumnSchema.php | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/ColumnSchema.php b/src/ColumnSchema.php index a40a6ab78..1f693c0a6 100644 --- a/src/ColumnSchema.php +++ b/src/ColumnSchema.php @@ -65,8 +65,7 @@ final class ColumnSchema extends AbstractColumnSchema * * @param mixed $value input value * - * @return mixed Converted value. This may also be an array containing the value as the first element and the PDO - * type as the second element. + * @return mixed Converted value. */ public function dbTypecast(mixed $value): mixed { @@ -87,7 +86,7 @@ public function dbTypecast(mixed $value): mixed Schema::TYPE_BIT => is_int($value) ? str_pad(decbin($value), (int) $this->getSize(), '0', STR_PAD_LEFT) - : $this->typecast($value), + : $value, default => $this->typecast($value), }; @@ -116,11 +115,11 @@ public function phpTypecast(mixed $value): mixed /** @psalm-var mixed $val */ $val = $this->phpTypecastValue($val); }); - } else { - return null; + + return $value; } - return $value; + return null; } return $this->phpTypecastValue($value); @@ -131,7 +130,7 @@ public function phpTypecast(mixed $value): mixed * * @throws JsonException */ - protected function phpTypecastValue(mixed $value): mixed + private function phpTypecastValue(mixed $value): mixed { if ($value === null) { return null; @@ -152,7 +151,7 @@ protected function phpTypecastValue(mixed $value): mixed /** * Creates instance of ArrayParser. */ - protected function getArrayParser(): ArrayParser + private function getArrayParser(): ArrayParser { return new ArrayParser(); } From 9f962ee2bc4b9fb05ffec5b65fe27ab79cdc0ba9 Mon Sep 17 00:00:00 2001 From: Tigrov Date: Tue, 25 Jul 2023 18:12:59 +0700 Subject: [PATCH 02/21] Update --- src/ColumnSchema.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ColumnSchema.php b/src/ColumnSchema.php index 1f693c0a6..c80e4a03a 100644 --- a/src/ColumnSchema.php +++ b/src/ColumnSchema.php @@ -110,16 +110,16 @@ public function phpTypecast(mixed $value): mixed $value = $this->getArrayParser()->parse($value); } - if (is_array($value)) { - array_walk_recursive($value, function (string|null &$val) { - /** @psalm-var mixed $val */ - $val = $this->phpTypecastValue($val); - }); - - return $value; + if (!is_array($value)) { + return null; } - return null; + array_walk_recursive($value, function (string|null &$val) { + /** @psalm-var mixed $val */ + $val = $this->phpTypecastValue($val); + }); + + return $value; } return $this->phpTypecastValue($value); From ac6ab872d2b2f704a53508ee10a15f8b81ed631f Mon Sep 17 00:00:00 2001 From: Tigrov Date: Tue, 25 Jul 2023 18:28:14 +0700 Subject: [PATCH 03/21] array with elements of any type can be passed to `phpTypecast()` --- src/ColumnSchema.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ColumnSchema.php b/src/ColumnSchema.php index c80e4a03a..950d0b552 100644 --- a/src/ColumnSchema.php +++ b/src/ColumnSchema.php @@ -114,7 +114,7 @@ public function phpTypecast(mixed $value): mixed return null; } - array_walk_recursive($value, function (string|null &$val) { + array_walk_recursive($value, function (mixed &$val) { /** @psalm-var mixed $val */ $val = $this->phpTypecastValue($val); }); From b60ab1c89eb544f738c1cc403e3c2f10c738dff2 Mon Sep 17 00:00:00 2001 From: Tigrov Date: Tue, 25 Jul 2023 22:59:59 +0700 Subject: [PATCH 04/21] Add tests --- tests/ColumnSchemaTest.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/ColumnSchemaTest.php b/tests/ColumnSchemaTest.php index 01b8ed031..2c8195acb 100644 --- a/tests/ColumnSchemaTest.php +++ b/tests/ColumnSchemaTest.php @@ -188,4 +188,13 @@ public function testNegativeDefaultValues() $this->assertSame(-12345.6789, $tableSchema->getColumn('float_col')->getDefaultValue()); $this->assertSame(-33.22, $tableSchema->getColumn('numeric_col')->getDefaultValue()); } + + public function testDbTypeCastBit() + { + $db = $this->getConnection(true); + $schema = $db->getSchema(); + $tableSchema = $schema->getTableSchema('type'); + + $this->assertSame('01100100', $tableSchema->getColumn('bit_col')->dbTypecast('01100100')); + } } From 53442f516003f7659ff7e9d0a1404af67875a4cb Mon Sep 17 00:00:00 2001 From: Tigrov Date: Thu, 27 Jul 2023 14:19:40 +0700 Subject: [PATCH 05/21] Add line to CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8012aa30d..893bb4c72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## 1.1.1 under development -- no changes in this release. +- Chg #302: Refactor ColumnSchema (@Tigrov) ## 1.1.0 July 24, 2023 From 91bc69f55ffc622f4b4124e1224870b5e6f554da Mon Sep 17 00:00:00 2001 From: Sergei Tigrov Date: Fri, 28 Jul 2023 15:36:41 +0700 Subject: [PATCH 06/21] Add test for ColumnInterface (#304) --- tests/QueryBuilderTest.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/QueryBuilderTest.php b/tests/QueryBuilderTest.php index b57378150..39e6ba959 100644 --- a/tests/QueryBuilderTest.php +++ b/tests/QueryBuilderTest.php @@ -204,6 +204,17 @@ public function testAlterColumn(): void ), ); + $this->assertSame( + <<alterColumn( + 'foo1', + 'bar', + (new Column(SchemaInterface::TYPE_STRING, 30))->unique() + ), + ); + $db->close(); } From 16c4eee947f499db65823f1c2514a8f1a20eb65c Mon Sep 17 00:00:00 2001 From: Sergei Tigrov Date: Fri, 28 Jul 2023 15:50:31 +0700 Subject: [PATCH 07/21] Refactor ArrayExpressionBuilder.php (#300) * Refactor ArrayExpressionBuilder.php * Update * Update `InvalidArgumentException` message * Remove extra check, PDO will throw an exception * Change type of params from `ArrayExpression` to `ExpressionInterface` * Update * Update * Correct `getTypehint` to `getTypeHint` * Change ExpressionInterface to ArrayExpression * Change @param ArrayExpression $expression and add changelog * Remove @psalm-param ArrayExpression $expression * Update CHANGELOG.md --------- Co-authored-by: Sergei Predvoditelev --- CHANGELOG.md | 2 +- src/Builder/ArrayExpressionBuilder.php | 32 ++++++++++---------------- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8012aa30d..29e3932ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## 1.1.1 under development -- no changes in this release. +- Enh #300: Refactor `ArrayExpressionBuilder` (@Tigrov) ## 1.1.0 July 24, 2023 diff --git a/src/Builder/ArrayExpressionBuilder.php b/src/Builder/ArrayExpressionBuilder.php index 21a35092e..66b5f634a 100644 --- a/src/Builder/ArrayExpressionBuilder.php +++ b/src/Builder/ArrayExpressionBuilder.php @@ -4,7 +4,6 @@ namespace Yiisoft\Db\Pgsql\Builder; -use Traversable; use Yiisoft\Db\Exception\Exception; use Yiisoft\Db\Exception\InvalidArgumentException; use Yiisoft\Db\Exception\InvalidConfigException; @@ -19,7 +18,7 @@ use function implode; use function in_array; -use function is_array; +use function is_iterable; use function str_repeat; /** @@ -34,7 +33,7 @@ public function __construct(private QueryBuilderInterface $queryBuilder) /** * The Method builds the raw SQL from the expression that won't be additionally escaped or quoted. * - * @param ExpressionInterface $expression The expression build. + * @param ArrayExpression $expression The expression build. * @param array $params The binding parameters. * * @throws Exception @@ -43,8 +42,6 @@ public function __construct(private QueryBuilderInterface $queryBuilder) * @throws NotSupportedException * * @return string The raw SQL that won't be additionally escaped or quoted. - * - * @psalm-param ArrayExpression $expression */ public function build(ExpressionInterface $expression, array &$params = []): string { @@ -63,7 +60,7 @@ public function build(ExpressionInterface $expression, array &$params = []): str /** @psalm-var string[] $placeholders */ $placeholders = $this->buildPlaceholders($expression, $params); - return 'ARRAY[' . implode(', ', $placeholders) . ']' . $this->getTypehint($expression); + return 'ARRAY[' . implode(', ', $placeholders) . ']' . $this->getTypeHint($expression); } /** @@ -75,22 +72,20 @@ public function build(ExpressionInterface $expression, array &$params = []): str * @throws InvalidArgumentException * @throws InvalidConfigException * @throws NotSupportedException - * - * @psalm-param ArrayExpression $expression */ - protected function buildPlaceholders(ExpressionInterface $expression, array &$params): array + private function buildPlaceholders(ArrayExpression $expression, array &$params): array { $placeholders = []; /** @psalm-var mixed $value */ $value = $expression->getValue(); - if (!is_array($value) && !$value instanceof Traversable) { + if (!is_iterable($value)) { return $placeholders; } if ($expression->getDimension() > 1) { - /** @psalm-var ExpressionInterface|int $item */ + /** @psalm-var mixed $item */ foreach ($value as $item) { $placeholders[] = $this->build($this->unnestArrayExpression($expression, $item), $params); } @@ -109,10 +104,9 @@ protected function buildPlaceholders(ExpressionInterface $expression, array &$pa if ($item instanceof ExpressionInterface) { $placeholders[] = $this->queryBuilder->buildExpression($item, $params); - continue; + } else { + $placeholders[] = $this->queryBuilder->bindParam($item, $params); } - - $placeholders[] = $this->queryBuilder->bindParam($item, $params); } return $placeholders; @@ -126,7 +120,7 @@ private function unnestArrayExpression(ArrayExpression $expression, mixed $value /** * @return string The typecast expression based on {@see type}. */ - protected function getTypeHint(ArrayExpression $expression): string + private function getTypeHint(ArrayExpression $expression): string { $type = $expression->getType(); @@ -135,10 +129,8 @@ protected function getTypeHint(ArrayExpression $expression): string } $dimension = $expression->getDimension(); - $result = '::' . $type; - $result .= str_repeat('[]', $dimension); - return $result; + return '::' . $type . str_repeat('[]', $dimension); } /** @@ -149,7 +141,7 @@ protected function getTypeHint(ArrayExpression $expression): string * * @return string The sub-query array expression. */ - protected function buildSubqueryArray(string $sql, ArrayExpression $expression): string + private function buildSubqueryArray(string $sql, ArrayExpression $expression): string { return 'ARRAY(' . $sql . ')' . $this->getTypeHint($expression); } @@ -157,7 +149,7 @@ protected function buildSubqueryArray(string $sql, ArrayExpression $expression): /** * @return array|bool|ExpressionInterface|float|int|JsonExpression|string|null The cast value or expression. */ - protected function typecastValue( + private function typecastValue( ArrayExpression $expression, array|bool|float|int|string|ExpressionInterface|null $value ): array|bool|float|int|string|JsonExpression|ExpressionInterface|null { From 79527decacfc10930d0d71d6106653f3a87e8717 Mon Sep 17 00:00:00 2001 From: Sergei Tigrov Date: Fri, 28 Jul 2023 15:52:21 +0700 Subject: [PATCH 08/21] Refactor JsonExpressionBuilder.php (#301) --- CHANGELOG.md | 1 + src/Builder/JsonExpressionBuilder.php | 14 +++++--------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29e3932ea..e85fe6fda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## 1.1.1 under development +- Enh #301: Refactor `JsonExpressionBuilder` (@Tigrov) - Enh #300: Refactor `ArrayExpressionBuilder` (@Tigrov) ## 1.1.0 July 24, 2023 diff --git a/src/Builder/JsonExpressionBuilder.php b/src/Builder/JsonExpressionBuilder.php index f8562eebb..e86fda354 100644 --- a/src/Builder/JsonExpressionBuilder.php +++ b/src/Builder/JsonExpressionBuilder.php @@ -29,7 +29,7 @@ public function __construct(private QueryBuilderInterface $queryBuilder) /** * The Method builds the raw SQL from the $expression that won't be additionally escaped or quoted. * - * @param ExpressionInterface $expression The expression to build. + * @param JsonExpression $expression The expression to build. * @param array $params The binding parameters. * * @throws Exception @@ -39,19 +39,15 @@ public function __construct(private QueryBuilderInterface $queryBuilder) * @throws NotSupportedException * * @return string The raw SQL that won't be additionally escaped or quoted. - * - * @psalm-param JsonExpression $expression */ public function build(ExpressionInterface $expression, array &$params = []): string { - /** - * @psalm-var array|mixed|QueryInterface $value - */ + /** @psalm-var mixed $value */ $value = $expression->getValue(); if ($value instanceof QueryInterface) { [$sql, $params] = $this->queryBuilder->build($value, $params); - return "($sql)" . $this->getTypecast($expression); + return "($sql)" . $this->getTypeHint($expression); } if ($value instanceof ArrayExpression) { @@ -60,13 +56,13 @@ public function build(ExpressionInterface $expression, array &$params = []): str $placeholder = $this->queryBuilder->bindParam(Json::encode($value), $params); } - return $placeholder . $this->getTypecast($expression); + return $placeholder . $this->getTypeHint($expression); } /** * @return string The typecast expression based on {@see JsonExpression::getType()}. */ - protected function getTypecast(JsonExpression $expression): string + private function getTypeHint(JsonExpression $expression): string { $type = $expression->getType(); From dfe9897b75ed515405f2c76c00c6d35e17f2961b Mon Sep 17 00:00:00 2001 From: Sergei Tigrov Date: Fri, 28 Jul 2023 16:10:48 +0700 Subject: [PATCH 09/21] Update CHANGELOG.md Co-authored-by: Sergei Predvoditelev --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 893bb4c72..0c87528fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,8 @@ ## 1.1.1 under development -- Chg #302: Refactor ColumnSchema (@Tigrov) +- Enh #302: Refactor `ColumnSchema` (@Tigrov) +- Bug #302: Fix incorrect convert string value for BIT type (@Tigrov) ## 1.1.0 July 24, 2023 From 6f01c613571054b8d84b77fa004d47a2899eb574 Mon Sep 17 00:00:00 2001 From: Tigrov Date: Tue, 25 Jul 2023 16:40:50 +0700 Subject: [PATCH 10/21] Refactor ColumnSchema.php --- src/ColumnSchema.php | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/ColumnSchema.php b/src/ColumnSchema.php index a40a6ab78..1f693c0a6 100644 --- a/src/ColumnSchema.php +++ b/src/ColumnSchema.php @@ -65,8 +65,7 @@ final class ColumnSchema extends AbstractColumnSchema * * @param mixed $value input value * - * @return mixed Converted value. This may also be an array containing the value as the first element and the PDO - * type as the second element. + * @return mixed Converted value. */ public function dbTypecast(mixed $value): mixed { @@ -87,7 +86,7 @@ public function dbTypecast(mixed $value): mixed Schema::TYPE_BIT => is_int($value) ? str_pad(decbin($value), (int) $this->getSize(), '0', STR_PAD_LEFT) - : $this->typecast($value), + : $value, default => $this->typecast($value), }; @@ -116,11 +115,11 @@ public function phpTypecast(mixed $value): mixed /** @psalm-var mixed $val */ $val = $this->phpTypecastValue($val); }); - } else { - return null; + + return $value; } - return $value; + return null; } return $this->phpTypecastValue($value); @@ -131,7 +130,7 @@ public function phpTypecast(mixed $value): mixed * * @throws JsonException */ - protected function phpTypecastValue(mixed $value): mixed + private function phpTypecastValue(mixed $value): mixed { if ($value === null) { return null; @@ -152,7 +151,7 @@ protected function phpTypecastValue(mixed $value): mixed /** * Creates instance of ArrayParser. */ - protected function getArrayParser(): ArrayParser + private function getArrayParser(): ArrayParser { return new ArrayParser(); } From 091b8a47acb524ccd2ea1ce411e2942a4929187a Mon Sep 17 00:00:00 2001 From: Tigrov Date: Tue, 25 Jul 2023 18:12:59 +0700 Subject: [PATCH 11/21] Update --- src/ColumnSchema.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ColumnSchema.php b/src/ColumnSchema.php index 1f693c0a6..c80e4a03a 100644 --- a/src/ColumnSchema.php +++ b/src/ColumnSchema.php @@ -110,16 +110,16 @@ public function phpTypecast(mixed $value): mixed $value = $this->getArrayParser()->parse($value); } - if (is_array($value)) { - array_walk_recursive($value, function (string|null &$val) { - /** @psalm-var mixed $val */ - $val = $this->phpTypecastValue($val); - }); - - return $value; + if (!is_array($value)) { + return null; } - return null; + array_walk_recursive($value, function (string|null &$val) { + /** @psalm-var mixed $val */ + $val = $this->phpTypecastValue($val); + }); + + return $value; } return $this->phpTypecastValue($value); From 855d3f89fe1d1d9c42c97eb29e323029d924c44c Mon Sep 17 00:00:00 2001 From: Tigrov Date: Tue, 25 Jul 2023 18:28:14 +0700 Subject: [PATCH 12/21] array with elements of any type can be passed to `phpTypecast()` --- src/ColumnSchema.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ColumnSchema.php b/src/ColumnSchema.php index c80e4a03a..950d0b552 100644 --- a/src/ColumnSchema.php +++ b/src/ColumnSchema.php @@ -114,7 +114,7 @@ public function phpTypecast(mixed $value): mixed return null; } - array_walk_recursive($value, function (string|null &$val) { + array_walk_recursive($value, function (mixed &$val) { /** @psalm-var mixed $val */ $val = $this->phpTypecastValue($val); }); From 0146eb5b11227f8fb6b930d74662a47f6216566e Mon Sep 17 00:00:00 2001 From: Tigrov Date: Tue, 25 Jul 2023 22:59:59 +0700 Subject: [PATCH 13/21] Add tests --- tests/ColumnSchemaTest.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/ColumnSchemaTest.php b/tests/ColumnSchemaTest.php index 01b8ed031..2c8195acb 100644 --- a/tests/ColumnSchemaTest.php +++ b/tests/ColumnSchemaTest.php @@ -188,4 +188,13 @@ public function testNegativeDefaultValues() $this->assertSame(-12345.6789, $tableSchema->getColumn('float_col')->getDefaultValue()); $this->assertSame(-33.22, $tableSchema->getColumn('numeric_col')->getDefaultValue()); } + + public function testDbTypeCastBit() + { + $db = $this->getConnection(true); + $schema = $db->getSchema(); + $tableSchema = $schema->getTableSchema('type'); + + $this->assertSame('01100100', $tableSchema->getColumn('bit_col')->dbTypecast('01100100')); + } } From 17ebdf6334cdec05abcd7ab47c412e54bd740ff7 Mon Sep 17 00:00:00 2001 From: Tigrov Date: Thu, 27 Jul 2023 14:19:40 +0700 Subject: [PATCH 14/21] Add line to CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e85fe6fda..7721be69a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Enh #301: Refactor `JsonExpressionBuilder` (@Tigrov) - Enh #300: Refactor `ArrayExpressionBuilder` (@Tigrov) +- Chg #302: Refactor ColumnSchema (@Tigrov) ## 1.1.0 July 24, 2023 From 9bedac317039aaa1719d9d1cb7a1c49db8e2ed3f Mon Sep 17 00:00:00 2001 From: Sergei Tigrov Date: Fri, 28 Jul 2023 16:10:48 +0700 Subject: [PATCH 15/21] Update CHANGELOG.md Co-authored-by: Sergei Predvoditelev --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7721be69a..a6217fe2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ - Enh #301: Refactor `JsonExpressionBuilder` (@Tigrov) - Enh #300: Refactor `ArrayExpressionBuilder` (@Tigrov) - Chg #302: Refactor ColumnSchema (@Tigrov) +- Enh #302: Refactor `ColumnSchema` (@Tigrov) +- Bug #302: Fix incorrect convert string value for BIT type (@Tigrov) ## 1.1.0 July 24, 2023 From 6d4e121331e426ecd45526e0036443893d96b210 Mon Sep 17 00:00:00 2001 From: Tigrov Date: Fri, 28 Jul 2023 16:17:34 +0700 Subject: [PATCH 16/21] Change to `(string) $value` --- CHANGELOG.md | 1 - src/ColumnSchema.php | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6217fe2b..094958f1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,6 @@ - Enh #301: Refactor `JsonExpressionBuilder` (@Tigrov) - Enh #300: Refactor `ArrayExpressionBuilder` (@Tigrov) -- Chg #302: Refactor ColumnSchema (@Tigrov) - Enh #302: Refactor `ColumnSchema` (@Tigrov) - Bug #302: Fix incorrect convert string value for BIT type (@Tigrov) diff --git a/src/ColumnSchema.php b/src/ColumnSchema.php index 950d0b552..db39d788b 100644 --- a/src/ColumnSchema.php +++ b/src/ColumnSchema.php @@ -86,7 +86,7 @@ public function dbTypecast(mixed $value): mixed Schema::TYPE_BIT => is_int($value) ? str_pad(decbin($value), (int) $this->getSize(), '0', STR_PAD_LEFT) - : $value, + : (string) $value, default => $this->typecast($value), }; From de5cbac97b7c58e5bf518d55acc85c4c75c05ae4 Mon Sep 17 00:00:00 2001 From: Tigrov Date: Thu, 27 Jul 2023 14:19:40 +0700 Subject: [PATCH 17/21] Add line to CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 094958f1c..1e98e8a60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Enh #300: Refactor `ArrayExpressionBuilder` (@Tigrov) - Enh #302: Refactor `ColumnSchema` (@Tigrov) - Bug #302: Fix incorrect convert string value for BIT type (@Tigrov) +- Chg #302: Refactor ColumnSchema (@Tigrov) ## 1.1.0 July 24, 2023 From d48ea19071dc756fbec253a9472dd5ae37f229a2 Mon Sep 17 00:00:00 2001 From: Sergei Tigrov Date: Fri, 28 Jul 2023 16:10:48 +0700 Subject: [PATCH 18/21] Update CHANGELOG.md Co-authored-by: Sergei Predvoditelev --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e98e8a60..a511d516b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ - Enh #302: Refactor `ColumnSchema` (@Tigrov) - Bug #302: Fix incorrect convert string value for BIT type (@Tigrov) - Chg #302: Refactor ColumnSchema (@Tigrov) +- Enh #302: Refactor `ColumnSchema` (@Tigrov) +- Bug #302: Fix incorrect convert string value for BIT type (@Tigrov) ## 1.1.0 July 24, 2023 From b05a6f48876805604d340b5c179d5844f6ef9cd0 Mon Sep 17 00:00:00 2001 From: Tigrov Date: Fri, 28 Jul 2023 16:27:57 +0700 Subject: [PATCH 19/21] Update --- CHANGELOG.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a511d516b..094958f1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,6 @@ - Enh #300: Refactor `ArrayExpressionBuilder` (@Tigrov) - Enh #302: Refactor `ColumnSchema` (@Tigrov) - Bug #302: Fix incorrect convert string value for BIT type (@Tigrov) -- Chg #302: Refactor ColumnSchema (@Tigrov) -- Enh #302: Refactor `ColumnSchema` (@Tigrov) -- Bug #302: Fix incorrect convert string value for BIT type (@Tigrov) ## 1.1.0 July 24, 2023 From 68622992025995be1676a239885188a2092717d9 Mon Sep 17 00:00:00 2001 From: Sergei Tigrov Date: Sat, 29 Jul 2023 13:37:28 +0700 Subject: [PATCH 20/21] Refresh --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 094958f1c..3041cef9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ - Enh #301: Refactor `JsonExpressionBuilder` (@Tigrov) - Enh #300: Refactor `ArrayExpressionBuilder` (@Tigrov) - Enh #302: Refactor `ColumnSchema` (@Tigrov) -- Bug #302: Fix incorrect convert string value for BIT type (@Tigrov) +- Bug #302: Fix incorrect convert string value for BIT type. (@Tigrov) ## 1.1.0 July 24, 2023 From f2dddb80096c4ba68f6a8ea7c1245aad75e1d584 Mon Sep 17 00:00:00 2001 From: Sergei Predvoditelev Date: Sat, 29 Jul 2023 22:41:20 +0300 Subject: [PATCH 21/21] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3041cef9b..094958f1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ - Enh #301: Refactor `JsonExpressionBuilder` (@Tigrov) - Enh #300: Refactor `ArrayExpressionBuilder` (@Tigrov) - Enh #302: Refactor `ColumnSchema` (@Tigrov) -- Bug #302: Fix incorrect convert string value for BIT type. (@Tigrov) +- Bug #302: Fix incorrect convert string value for BIT type (@Tigrov) ## 1.1.0 July 24, 2023