Skip to content

Is querying maps supported ? #286

@siemiatj

Description

@siemiatj

I have this item in my table:

"id","testList","testMap"
"1","[{""S"":""stringInList""},{""L"":[{""S"":""listItemInList""}]},{""M"":{""numberInMapInList"":{""N"":""2137""}}}]","{""listInMap"":{""L"":[{""N"":""25""}]},""stringInMap"":{""S"":""\""test\""""},""boolInMap"":{""BOOL"":false}}"

When I try to query for nested map fields I get nils. Lists seem to be working fine. Is this supported by the driver atm ?
Here's my test script:

package main

import (
	"database/sql"
	"fmt"

	_ "github.com/btnguyen2k/godynamo" // import driver
)

func main() {
	// build connection string
	driver := "godynamo"
	dsn := "Region=eu-north-1;AkId=;SecretKey="
	// create the sql.DB instance
	db, err := sql.Open(driver, dsn)
	if err != nil {
		panic(err)
	}
	defer db.Close()

	// use SQL statement via the sql.DB instance
	dbRows, err := db.Query(`SELECT testList[2].numberInMapInList from "Router1Test"`)
	if err != nil {
		panic(err)
	}
	for dbRows.Next() {
		var val interface{}
		err := dbRows.Scan(&val)
		if err != nil {
			panic(err)
		}
		fmt.Println(val)
	}
}

Querying in the PartiQL editor returns result as expected:

Screenshot 2025-01-14 at 14 32 09

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions