@@ -289,7 +289,6 @@ package main
289289
290290import (
291291 "fmt"
292- "os"
293292 "time"
294293
295294 "github.com/oracle/nosql-go-sdk/nosqldb"
@@ -376,7 +375,9 @@ func createClient() (*nosqldb.Client, error) {
376375
377376 sp, err := iam.NewRawSignatureProvider(tenancy, user, region, fingerprint,
378377 compartmentID, privateKey, &privateKeyPassphrase)
379- exitOnError(err, "Cannot create a Signature Provider")
378+ if err != nil {
379+ return nil, fmt.Errorf("cannot create a Signature Provider: %v", err)
380+ }
380381
381382 cfg = nosqldb.Config{
382383 Mode: "cloud",
@@ -396,7 +397,9 @@ func createClient() (*nosqldb.Client, error) {
396397 // pass_phrase=<optional-passphrase>
397398 //
398399 sp, err := iam.NewSignatureProviderFromFile("~/.oci/config", "", "", compartmentID)
399- exitOnError(err, "Cannot create a Signature Provider")
400+ if err != nil {
401+ return nil, fmt.Errorf("cannot create a Signature Provider: %v", err)
402+ }
400403 cfg = nosqldb.Config{
401404 Mode: "cloud",
402405 Region: nosqldb.Region(region),
@@ -409,17 +412,12 @@ func createClient() (*nosqldb.Client, error) {
409412 return client, err
410413}
411414
412- func exitOnError(err error, msg string) {
413- if err == nil {
414- return
415- }
416- fmt.Fprintln(os.Stderr, msg+": ", err)
417- os.Exit(1)
418- }
419-
420415func main() {
421416 client, err := createClient()
422- exitOnError(err, "Can' t create NoSQL DB client" )
417+ if err != nil {
418+ fmt.Printf("cannot create NoSQL client: %v\n", err)
419+ return
420+ }
423421 defer client.Close()
424422
425423 // Creates a simple table with a LONG key and a single STRING field.
@@ -438,11 +436,17 @@ func main() {
438436 },
439437 }
440438 tableRes, err := client.DoTableRequest(tableReq)
441- exitOnError(err, " Can' t initiate CREATE TABLE request")
439+ if err != nil {
440+ fmt.Printf("cannot initiate CREATE TABLE request: %v\n", err)
441+ return
442+ }
442443
443444 // The create table request is asynchronous, wait for table creation to complete.
444445 _, err = tableRes.WaitForCompletion(client, 60*time.Second, time.Second)
445- exitOnError(err, "Error finishing CREATE TABLE request")
446+ if err != nil {
447+ fmt.Printf("Error finishing CREATE TABLE request: %v\n", err)
448+ return
449+ }
446450 fmt.Println("Created table ", tableName)
447451
448452 // put a simple set of string data
@@ -453,7 +457,10 @@ func main() {
453457 Value: mapVals,
454458 }
455459 putRes, err := client.Put(putReq)
456- exitOnError(err, "Can' t put single row" )
460+ if err != nil {
461+ fmt.Printf("failed to put single row: %v\n", err)
462+ return
463+ }
457464 fmt.Printf("Put row: %v\nresult: %v\n", putReq.Value.Map(), putRes)
458465
459466 // get data back
@@ -464,7 +471,11 @@ func main() {
464471 Key: key,
465472 }
466473 getRes, err := client.Get(getReq)
467- exitOnError(err, " Can' t get single row")
474+ if err != nil {
475+ fmt.Printf("failed to get single row: %v\n", err)
476+ return
477+ }
478+
468479 if getRes.RowExists() {
469480 fmt.Printf("Got row: %v\n", getRes.ValueAsJSON())
470481 } else {
@@ -477,7 +488,11 @@ func main() {
477488 Key: key,
478489 }
479490 delRes, err := client.Delete(delReq)
480- exitOnError(err, "Can' t delete single row" )
491+ if err != nil {
492+ fmt.Printf("failed to delete single row: %v\n", err)
493+ return
494+ }
495+
481496 if delRes.Success {
482497 fmt.Printf("Deleted key: %v\nresult: %v\n", jsonutil.AsJSON(delReq.Key.Map()), delRes)
483498 }
@@ -487,9 +502,13 @@ func main() {
487502 Statement: "DROP TABLE IF EXISTS " + tableName,
488503 }
489504 tableRes, err = client.DoTableRequestAndWait(dropReq, 60*time.Second, time.Second)
490- exitOnError(err, " Can' t drop created table")
505+ if err != nil {
506+ fmt.Printf("failed to drop table: %v\n", err)
507+ return
508+ }
491509 fmt.Println("Dropped table ", tableName)
492510}
511+
493512```
494513
495514Create a directory `quickstart`, save the example program as `quickstart.go` in the directory.
0 commit comments