code: func PutExpToString(whereCondition sql.Expression, entity interface{}) (sqlStr string, bindings []interface{},
  	err error) {
  
  	whereCondtionStr := &toStringVisitor{entity: entity}
  	whereCondition.Accept(whereCondtionStr)
  
  	statement, _, err := updateSetExpToString(sql.EntityTableName(entity), /*TODO extract method / make customizable*/
  		entity /*, TODO TTL*/)
  	if err != nil {
  		return "", nil, err
  	}
  
  	_, bindings = structs.ListExportedFieldsPtrs(entity, cqlExported, filterOutPK)
  	whereBinding := whereCondtionStr.Binding()
  	if whereBinding != nil {
  		bindings = append(bindings, whereBinding...)
  	}
  
  	return strings.Trim(statement+" WHERE "+whereCondtionStr.String(), " "), bindings, nil
  }
docs: // PutExpToString converts expression to string & slice of bindings