appbaseio / appbaseio/abc

Error importing Postgres table with empty array column

Offen
#189 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Go
Sterne
471
Forks
47
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I am hitting the below error when trying to import data from a Postgres table, with a column of type "array" and empty value.

E.g. consider a PG table like this:

```
postgres@[local]/postgres
15:16:56 =# \d lbolla
Table "public.lbolla"
Column | Type | Collation | Nullable | Default
--------+--------+-----------+----------+---------
data | text[] | | |

```

with this values:

```
postgres@[local]/postgres
15:16:57 =# select * from lbolla;
data
-----------
{foo,bar}
{}
(2 rows)
```

I now try to import it:

```
abc import --src_type=postgres --src_uri="postgresql://postgres@localhost/postgres" --src_filter="lbolla" "http://localhost:9200/abc_test"

panic: runtime error: index out of range

goroutine 67 [running]:
github.com/appbaseio/abc/private/adaptor/postgres.casifyValue(0xc00047a5a2, 0x2, 0xc00047a4e0, 0x6, 0xc00047a5a2, 0x2)
/go/src/github.com/appbaseio/abc/private/adaptor/postgres/tailer.go:267 +0xdef
github.com/appbaseio/abc/private/adaptor/postgres.(*Reader).iterateTable.func1(0xc00046e480, 0xc00046e420, 0xc000131220, 0x8, 0xc000116180, 0xc0000a8b40)
/go/src/github.com/appbaseio/abc/private/adaptor/postgres/reader.go:170 +0xced
created by github.com/appbaseio/abc/private/adaptor/postgres.(*Reader).iterateTable
/go/src/github.com/appbaseio/abc/private/adaptor/postgres/reader.go:104 +0x91
```

The error is caused by the row with empty ('{}') value.

I am using:

```
abc versionVersion: 1.0.0-beta.1
Variant: !oss
Go version: go1.12.5
OS: linux
Arch: amd64
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.