Skip to content

Commit 17ada40

Browse files
authored
Merge pull request #180 from keboola/PST-2403-ondra
change BigQuery backend basetypes
2 parents 0326fec + f6b24e9 commit 17ada40

2 files changed

Lines changed: 18 additions & 26 deletions

File tree

src/Definition/Bigquery.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ public function getSQLDefinition(): string
192192
$definition = $this->getTypeOnlySQLDefinition();
193193

194194
if (strtoupper($this->getType()) === self::TYPE_ARRAY
195-
|| strtoupper($this->getType()) === self::TYPE_STRUCT
195+
|| strtoupper($this->getType()) === self::TYPE_STRUCT
196196
) {
197197
return $definition;
198198
}
@@ -287,12 +287,12 @@ public static function getTypeByBasetype(string $basetype): string
287287
public function getBackendBasetype(): string
288288
{
289289
return match (strtoupper($this->type)) {
290-
self::TYPE_INT => self::TYPE_INT64,
291-
self::TYPE_SMALLINT => self::TYPE_INT64,
292-
self::TYPE_INTEGER => self::TYPE_INT64,
293-
self::TYPE_BIGINT => self::TYPE_INT64,
294-
self::TYPE_TINYINT => self::TYPE_INT64,
295-
self::TYPE_BYTEINT => self::TYPE_INT64,
290+
self::TYPE_INT64 => self::TYPE_INTEGER,
291+
self::TYPE_INT => self::TYPE_INTEGER,
292+
self::TYPE_SMALLINT => self::TYPE_INTEGER,
293+
self::TYPE_BIGINT => self::TYPE_INTEGER,
294+
self::TYPE_TINYINT => self::TYPE_INTEGER,
295+
self::TYPE_BYTEINT => self::TYPE_INTEGER,
296296
self::TYPE_DECIMAL => self::TYPE_NUMERIC,
297297
self::TYPE_BIGDECIMAL => self::TYPE_BIGNUMERIC,
298298
default => $this->type

tests/BigqueryDatatypeTest.php

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -489,25 +489,17 @@ public static function provideTestGetDefinitionForBasetype(): Generator
489489
public function provideTestGetTypeFromAlias(): Generator
490490
{
491491
foreach (Bigquery::TYPES as $type) {
492-
switch ($type) {
493-
case Bigquery::TYPE_INT:
494-
case Bigquery::TYPE_SMALLINT:
495-
case Bigquery::TYPE_INTEGER:
496-
case Bigquery::TYPE_BIGINT:
497-
case Bigquery::TYPE_TINYINT:
498-
case Bigquery::TYPE_BYTEINT:
499-
$expectedType = Bigquery::TYPE_INT64;
500-
break;
501-
case Bigquery::TYPE_DECIMAL:
502-
$expectedType = Bigquery::TYPE_NUMERIC;
503-
break;
504-
case Bigquery::TYPE_BIGDECIMAL:
505-
$expectedType = Bigquery::TYPE_BIGNUMERIC;
506-
break;
507-
default:
508-
$expectedType = $type;
509-
break;
510-
}
492+
$expectedType = match ($type) {
493+
Bigquery::TYPE_INT64,
494+
Bigquery::TYPE_INT,
495+
Bigquery::TYPE_SMALLINT,
496+
Bigquery::TYPE_BIGINT,
497+
Bigquery::TYPE_TINYINT,
498+
Bigquery::TYPE_BYTEINT => Bigquery::TYPE_INTEGER,
499+
Bigquery::TYPE_DECIMAL => Bigquery::TYPE_NUMERIC,
500+
Bigquery::TYPE_BIGDECIMAL => Bigquery::TYPE_BIGNUMERIC,
501+
default => $type,
502+
};
511503

512504
yield $type => [
513505
'type' => $type,

0 commit comments

Comments
 (0)