We are migrating from Apache Cassandra DB to Yugabyte DB
With Apache Cassandra, GoCQL driver(GitHub - gocql/gocql: Package gocql implements a fast and robust Cassandra client for the Go programming language.) provides the option to retrieve all columns upon failed INSERT using MapScanCAS()
api:
insertValuesString = "INSERT INTO my_table (col1,col2,col3) " + "VALUES (?, ?, ?) IF NOT EXISTS"
mapObj := map[string]interface{}{}
applied, err := gocql.Session.Query(insertValuesString,
col1,
col2,
col3).MapScanCAS(mapObj)
Using Yugabyte DB, ycql shell provides all columns with RETURN STATUS AS ROW
clause, as mentioned here(IF NOT EXISTS clause is not returning all columns, If the row already exists - #2 by dorian_yugabyte).
We are currently using driver: GitHub - yugabyte/gocql: The YugabyteDB database Go Driver for YCQL, based on the gocql Driver for YugabyteDB.
For YugabyteDB, what is the driver api to fetch all the columns, upon failed INSERT?