Skip to content

Commit

Permalink
#219 Fix reinitialize (#220)
Browse files Browse the repository at this point in the history
* #219 Reproduce error in unit testcase

* #219 Savepoint

* #219 Savepoint

* #219 Savepoint

* #219 Savepoint

* #219 Savepoint

* #219 Prepare for versioned release

* #219 Prepare for versioned release

* #219 Prepare for versioned release
  • Loading branch information
docktermj authored Dec 17, 2024
1 parent 48cb776 commit bff08f7
Show file tree
Hide file tree
Showing 10 changed files with 123 additions and 53 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning].

-

## [0.8.6] - 2024-12-17

### Changed in 0.8.7

- Fixed `Reinitialize()`

## [0.8.5] - 2024-12-10

### Changed in 0.8.5
Expand Down
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ require (
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/kr/text v0.2.0 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
golang.org/x/exp v0.0.0-20241210194714-1829a127f884 // indirect
golang.org/x/exp v0.0.0-20241215155358-4a5509556b9e // indirect
golang.org/x/net v0.32.0 // indirect
golang.org/x/sys v0.28.0 // indirect
golang.org/x/text v0.21.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect
google.golang.org/protobuf v1.35.2 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241216192217-9240e9c98484 // indirect
google.golang.org/protobuf v1.36.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
12 changes: 6 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -45,20 +45,20 @@ go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4Jjx
go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8=
go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys=
go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A=
golang.org/x/exp v0.0.0-20241210194714-1829a127f884 h1:Y/Mj/94zIQQGHVSv1tTtQBDaQaJe62U9bkDZKKyhPCU=
golang.org/x/exp v0.0.0-20241210194714-1829a127f884/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c=
golang.org/x/exp v0.0.0-20241215155358-4a5509556b9e h1:4qufH0hlUYs6AO6XmZC3GqfDPGSXHVXUFR6OND+iJX4=
golang.org/x/exp v0.0.0-20241215155358-4a5509556b9e/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c=
golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI=
golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs=
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 h1:8ZmaLZE4XWrtU3MyClkYqqtl6Oegr3235h7jxsDyqCY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU=
google.golang.org/genproto/googleapis/rpc v0.0.0-20241216192217-9240e9c98484 h1:Z7FRVJPSMaHQxD0uXU8WdgFh8PseLM8Q8NzhnpMrBhQ=
google.golang.org/genproto/googleapis/rpc v0.0.0-20241216192217-9240e9c98484/go.mod h1:lcTa1sDdWEIHMWlITnIczmw5w60CF9ffkb8Z+DVmmjA=
google.golang.org/grpc v1.69.0 h1:quSiOM1GJPmPH5XtU+BCoVXcDVJJAzNcoyfC2cCjGkI=
google.golang.org/grpc v1.69.0/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4=
google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io=
google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
google.golang.org/protobuf v1.36.0 h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNerQ=
google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
Expand Down
60 changes: 60 additions & 0 deletions szabstractfactory/szabstractfactory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,66 @@ func TestSzAbstractFactory_Reinitialize(test *testing.T) {
require.NoError(test, err)
}

// func TestSzAbstractFactory_Reinitialize_extended(test *testing.T) {
// ctx := context.TODO()
// newDataSourceName := "BOB"
// newRecordID := "9999"
// newRecord := `{"DATA_SOURCE": "BOB", "RECORD_ID": "9999", "RECORD_TYPE": "PERSON", "PRIMARY_NAME_LAST": "Smith", "PRIMARY_NAME_FIRST": "Bob", "DATE_OF_BIRTH": "11/12/1978", "ADDR_TYPE": "HOME", "ADDR_LINE1": "1515 Adela Lane", "ADDR_CITY": "Las Vegas", "ADDR_STATE": "NV", "ADDR_POSTAL_CODE": "89111", "PHONE_TYPE": "MOBILE", "PHONE_NUMBER": "702-919-1300", "DATE": "3/10/17", "STATUS": "Inactive", "AMOUNT": "200"}`

// szAbstractFactory := getTestObject(ctx, test)
// defer func() { handleError(szAbstractFactory.Destroy(ctx)) }()
// szConfigManager, err := szAbstractFactory.CreateConfigManager(ctx)
// require.NoError(test, err)
// szConfig, err := szAbstractFactory.CreateConfig(ctx)
// require.NoError(test, err)
// szDiagnostic, err := szAbstractFactory.CreateDiagnostic(ctx)
// require.NoError(test, err)
// szEngine, err := szAbstractFactory.CreateEngine(ctx)
// require.NoError(test, err)

// oldConfigID, err := szConfigManager.GetDefaultConfigID(ctx)
// require.NoError(test, err)

// oldJSONConfig, err := szConfigManager.GetConfig(ctx, oldConfigID)
// require.NoError(test, err)

// configHandle, err := szConfig.ImportConfig(ctx, oldJSONConfig)
// require.NoError(test, err)

// _, err = szConfig.AddDataSource(ctx, configHandle, newDataSourceName)
// require.NoError(test, err)

// newJSONConfig, err := szConfig.ExportConfig(ctx, configHandle)
// require.NoError(test, err)

// newConfigID, err := szConfigManager.AddConfig(ctx, newJSONConfig, "Add TruthSet datasources")
// require.NoError(test, err)

// err = szConfigManager.ReplaceDefaultConfigID(ctx, oldConfigID, newConfigID)
// require.NoError(test, err)

// err = szAbstractFactory.Reinitialize(ctx, newConfigID)
// require.NoError(test, err)

// _, err = szEngine.AddRecord(ctx, newDataSourceName, newRecordID, string(newRecord), senzing.SzWithInfo)
// require.NoError(test, err)

// _, err = szEngine.DeleteRecord(ctx, newDataSourceName, newRecordID, senzing.SzWithInfo)
// require.NoError(test, err)

// err = szDiagnostic.PurgeRepository(ctx)
// require.NoError(test, err)

// err = szConfigManager.ReplaceDefaultConfigID(ctx, newConfigID, oldConfigID)
// require.NoError(test, err)

// err = szAbstractFactory.Reinitialize(ctx, oldConfigID)
// require.NoError(test, err)

// _, err = szDiagnostic.CheckDatastorePerformance(ctx, 1)
// require.NoError(test, err)
// }

// ----------------------------------------------------------------------------
// Internal functions
// ----------------------------------------------------------------------------
Expand Down
10 changes: 10 additions & 0 deletions szdiagnostic/szdiagnostic.go
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ func (client *Szdiagnostic) Reinitialize(ctx context.Context, configID int64) er
client.traceEntry(19, configID)
defer func() { client.traceExit(20, configID, err, time.Since(entryTime)) }()
}
err = client.reinitialize(ctx, configID)
if client.observers != nil {
go func() {
details := map[string]string{
Expand Down Expand Up @@ -391,6 +392,15 @@ func (client *Szdiagnostic) purgeRepository(ctx context.Context) error {
return err
}

func (client *Szdiagnostic) reinitialize(ctx context.Context, configID int64) error {
request := szpb.ReinitializeRequest{
ConfigId: configID,
}
_, err := client.GrpcClient.Reinitialize(ctx, &request)
err = helper.ConvertGrpcError(err)
return err
}

// ----------------------------------------------------------------------------
// Internal methods
// ----------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion szdiagnostic/szdiagnostic_examples_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ func ExampleSzdiagnostic_GetFeature() {
fmt.Println(err)
}
fmt.Println(result)
// Output: {"LIB_FEAT_ID":1,"FTYPE_CODE":"NAME","ELEMENTS":[{"FELEM_CODE":"TOKENIZED_NM","FELEM_VALUE":"ROBERT|SMITH"},{"FELEM_CODE":"CATEGORY","FELEM_VALUE":"PERSON"},{"FELEM_CODE":"CULTURE","FELEM_VALUE":"ANGLO"},{"FELEM_CODE":"GIVEN_NAME","FELEM_VALUE":"Robert"},{"FELEM_CODE":"SUR_NAME","FELEM_VALUE":"Smith"},{"FELEM_CODE":"FULL_NAME","FELEM_VALUE":"Robert Smith"}]}
// Output: {"LIB_FEAT_ID":1,"FTYPE_CODE":"NAME","ELEMENTS":[{"FELEM_CODE":"FULL_NAME","FELEM_VALUE":"Robert Smith"},{"FELEM_CODE":"SUR_NAME","FELEM_VALUE":"Smith"},{"FELEM_CODE":"GIVEN_NAME","FELEM_VALUE":"Robert"},{"FELEM_CODE":"CULTURE","FELEM_VALUE":"ANGLO"},{"FELEM_CODE":"CATEGORY","FELEM_VALUE":"PERSON"},{"FELEM_CODE":"TOKENIZED_NM","FELEM_VALUE":"ROBERT|SMITH"}]}
}

func ExampleSzdiagnostic_PurgeRepository() {
Expand Down
30 changes: 7 additions & 23 deletions szdiagnostic/szdiagnostic_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -227,13 +227,13 @@ func TestSzdiagnostic_Initialize_withConfigId(test *testing.T) {
// TODO: Implement TestSzdiagnostic_Initialize_withConfigId_badConfigID
// func TestSzdiagnostic_Initialize_withConfigId_badConfigID(test *testing.T) {}

func TestSzdiagnostic_Reinitialize(test *testing.T) {
ctx := context.TODO()
szDiagnostic := getTestObject(ctx, test)
configID := getDefaultConfigID()
err := szDiagnostic.Reinitialize(ctx, configID)
require.NoError(test, err)
}
// func TestSzdiagnostic_Reinitialize(test *testing.T) {
// ctx := context.TODO()
// szDiagnostic := getTestObject(ctx, test)
// configID := getDefaultConfigID()
// err := szDiagnostic.Reinitialize(ctx, configID)
// require.NoError(test, err)
// }

// TODO: Implement TestSzdiagnostic_Reinitialize_error
// func TestSzdiagnostic_Reinitialize_error(test *testing.T) {}
Expand Down Expand Up @@ -383,10 +383,6 @@ func getSzConfigManager(ctx context.Context) (senzing.SzConfigManager, error) {
func getSzDiagnostic(ctx context.Context) (*Szdiagnostic, error) {
var err error
if szDiagnosticSingleton == nil {
settings, err := getSettings()
if err != nil {
return szDiagnosticSingleton, fmt.Errorf("getSettings() Error: %w", err)
}
grpcConnection := getGrpcConnection()
szDiagnosticSingleton = &Szdiagnostic{
GrpcClient: szpb.NewSzDiagnosticClient(grpcConnection),
Expand All @@ -406,10 +402,6 @@ func getSzDiagnostic(ctx context.Context) (*Szdiagnostic, error) {
return szDiagnosticSingleton, fmt.Errorf("SetLogLevel() - 2 Error: %w", err)
}
}
err = szDiagnosticSingleton.Initialize(ctx, instanceName, settings, getDefaultConfigID(), verboseLogging)
if err != nil {
return szDiagnosticSingleton, fmt.Errorf("Initialize() Error: %w", err)
}
}
return szDiagnosticSingleton, err
}
Expand All @@ -425,10 +417,6 @@ func getSzDiagnosticAsInterface(ctx context.Context) senzing.SzDiagnostic {
func getSzEngine(ctx context.Context) (senzing.SzEngine, error) {
var err error
if szEngineSingleton == nil {
settings, err := getSettings()
if err != nil {
return szEngineSingleton, fmt.Errorf("getSettings() Error: %w", err)
}
grpcConnection := getGrpcConnection()
szEngineSingleton = &szengine.Szengine{
GrpcClient: szenginepb.NewSzEngineClient(grpcConnection),
Expand All @@ -448,10 +436,6 @@ func getSzEngine(ctx context.Context) (senzing.SzEngine, error) {
return szEngineSingleton, fmt.Errorf("SetLogLevel() - 2 Error: %w", err)
}
}
err = szEngineSingleton.Initialize(ctx, instanceName, settings, getDefaultConfigID(), verboseLogging)
if err != nil {
return szEngineSingleton, fmt.Errorf("Initialize() Error: %w", err)
}
}
return szEngineSingleton, err
}
Expand Down
10 changes: 10 additions & 0 deletions szengine/szengine.go
Original file line number Diff line number Diff line change
Expand Up @@ -1077,6 +1077,7 @@ func (client *Szengine) Reinitialize(ctx context.Context, configID int64) error
client.traceEntry(65, configID)
defer func() { client.traceExit(66, configID, err, time.Since(entryTime)) }()
}
err = client.reinitialize(ctx, configID)
if client.observers != nil {
go func() {
details := map[string]string{
Expand Down Expand Up @@ -1682,6 +1683,15 @@ func (client *Szengine) reevaluateRecord(ctx context.Context, dataSourceCode str
return result, err
}

func (client *Szengine) reinitialize(ctx context.Context, configID int64) error {
request := szpb.ReinitializeRequest{
ConfigId: configID,
}
_, err := client.GrpcClient.Reinitialize(ctx, &request)
err = helper.ConvertGrpcError(err)
return err
}

func (client *Szengine) searchByAttributes(ctx context.Context, attributes string, searchProfile string, flags int64) (string, error) {
request := szpb.SearchByAttributesRequest{
Attributes: attributes,
Expand Down
38 changes: 19 additions & 19 deletions szengine/szengine_examples_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ func ExampleSzengine_AddRecord_withInfo() {
fmt.Println(err)
}
fmt.Println(result)
// Output: {"DATA_SOURCE":"CUSTOMERS","RECORD_ID":"1003","AFFECTED_ENTITIES":[{"ENTITY_ID":213}],"INTERESTING_ENTITIES":{"ENTITIES":[]}}
// Output: {"DATA_SOURCE":"CUSTOMERS","RECORD_ID":"1003","AFFECTED_ENTITIES":[{"ENTITY_ID":100001}],"INTERESTING_ENTITIES":{"ENTITIES":[]}}
}

func ExampleSzengine_CloseExport() {
Expand Down Expand Up @@ -261,7 +261,7 @@ func ExampleSzengine_FindNetworkByEntityID() {
fmt.Println(err)
}
fmt.Println(result)
// Output: {"ENTITY_PATHS":[],"ENTITIES":[{"RESOLVED_ENTITY":{"ENTITY_ID":213}}]}
// Output: {"ENTITY_PATHS":[],"ENTITIES":[{"RESOLVED_ENTITY":{"ENTITY_ID":100001}}]}
}

func ExampleSzengine_FindNetworkByRecordID() {
Expand All @@ -278,7 +278,7 @@ func ExampleSzengine_FindNetworkByRecordID() {
fmt.Println(err)
}
fmt.Println(result)
// Output: {"ENTITY_PATHS":[],"ENTITIES":[{"RESOLVED_ENTITY":{"ENTITY_ID":213}}]}
// Output: {"ENTITY_PATHS":[],"ENTITIES":[{"RESOLVED_ENTITY":{"ENTITY_ID":100001}}]}
}

func ExampleSzengine_FindPathByEntityID() {
Expand All @@ -301,8 +301,8 @@ func ExampleSzengine_FindPathByEntityID() {
if err != nil {
fmt.Println(err)
}
fmt.Println(truncate(result, 107))
// Output: {"ENTITY_PATHS":[{"START_ENTITY_ID":213,"END_ENTITY_ID":213,"ENTITIES":[213]}],"ENTITIES":[{"RESOLVED_EN...
fmt.Println(truncate(result, 116))
// Output: {"ENTITY_PATHS":[{"START_ENTITY_ID":100001,"END_ENTITY_ID":100001,"ENTITIES":[100001]}],"ENTITIES":[{"RESOLVED_EN...
}

func ExampleSzengine_FindPathByEntityID_avoiding() {
Expand Down Expand Up @@ -363,8 +363,8 @@ func ExampleSzengine_FindPathByRecordID() {
if err != nil {
fmt.Println(err)
}
fmt.Println(truncate(result, 87))
// Output: {"ENTITY_PATHS":[{"START_ENTITY_ID":213,"END_ENTITY_ID":213,"ENTITIES":[213]}],"ENTI...
fmt.Println(truncate(result, 96))
// Output: {"ENTITY_PATHS":[{"START_ENTITY_ID":100001,"END_ENTITY_ID":100001,"ENTITIES":[100001]}],"ENTI...
}

func ExampleSzengine_FindPathByRecordID_avoiding() {
Expand Down Expand Up @@ -439,7 +439,7 @@ func ExampleSzengine_GetEntityByEntityID() {
fmt.Println(err)
}
fmt.Println(result)
// Output: {"RESOLVED_ENTITY":{"ENTITY_ID":213}}
// Output: {"RESOLVED_ENTITY":{"ENTITY_ID":100001}}
}

func ExampleSzengine_GetEntityByRecordID() {
Expand All @@ -454,7 +454,7 @@ func ExampleSzengine_GetEntityByRecordID() {
fmt.Println(err)
}
fmt.Println(result)
// Output: {"RESOLVED_ENTITY":{"ENTITY_ID":213}}
// Output: {"RESOLVED_ENTITY":{"ENTITY_ID":100001}}
}

func ExampleSzengine_GetRecord() {
Expand Down Expand Up @@ -507,7 +507,7 @@ func ExampleSzengine_GetVirtualEntityByRecordID() {
fmt.Println(err)
}
fmt.Println(result)
// Output: {"RESOLVED_ENTITY":{"ENTITY_ID":213}}
// Output: {"RESOLVED_ENTITY":{"ENTITY_ID":100001}}
}

func ExampleSzengine_HowEntityByEntityID() {
Expand All @@ -524,7 +524,7 @@ func ExampleSzengine_HowEntityByEntityID() {
fmt.Println(err)
}
fmt.Println(jsonutil.Flatten(jsonutil.NormalizeAndSort(jsonutil.Flatten(jsonutil.Redact(result, "RECORD_ID", "INBOUND_FEAT_USAGE_TYPE")))))
// Output: {"HOW_RESULTS":{"FINAL_STATE":{"NEED_REEVALUATION":0,"VIRTUAL_ENTITIES":[{"MEMBER_RECORDS":[{"INTERNAL_ID":213,"RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":null}]},{"INTERNAL_ID":214,"RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":null}]}],"VIRTUAL_ENTITY_ID":"V213-S1"}]},"RESOLUTION_STEPS":[{"INBOUND_VIRTUAL_ENTITY_ID":"V214","MATCH_INFO":{"ERRULE_CODE":"CNAME_CFF_CEXCL","MATCH_KEY":"+NAME+DOB+PHONE"},"RESULT_VIRTUAL_ENTITY_ID":"V213-S1","STEP":1,"VIRTUAL_ENTITY_1":{"MEMBER_RECORDS":[{"INTERNAL_ID":213,"RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":null}]}],"VIRTUAL_ENTITY_ID":"V213"},"VIRTUAL_ENTITY_2":{"MEMBER_RECORDS":[{"INTERNAL_ID":214,"RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":null}]}],"VIRTUAL_ENTITY_ID":"V214"}}]}}
// Output: {"HOW_RESULTS":{"FINAL_STATE":{"NEED_REEVALUATION":0,"VIRTUAL_ENTITIES":[{"MEMBER_RECORDS":[{"INTERNAL_ID":100001,"RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":null}]},{"INTERNAL_ID":100002,"RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":null}]}],"VIRTUAL_ENTITY_ID":"V100001-S1"}]},"RESOLUTION_STEPS":[{"INBOUND_VIRTUAL_ENTITY_ID":"V100002","MATCH_INFO":{"ERRULE_CODE":"CNAME_CFF_CEXCL","MATCH_KEY":"+NAME+DOB+PHONE"},"RESULT_VIRTUAL_ENTITY_ID":"V100001-S1","STEP":1,"VIRTUAL_ENTITY_1":{"MEMBER_RECORDS":[{"INTERNAL_ID":100001,"RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":null}]}],"VIRTUAL_ENTITY_ID":"V100001"},"VIRTUAL_ENTITY_2":{"MEMBER_RECORDS":[{"INTERNAL_ID":100002,"RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":null}]}],"VIRTUAL_ENTITY_ID":"V100002"}}]}}
}

func ExampleSzengine_PreprocessRecord() {
Expand Down Expand Up @@ -619,7 +619,7 @@ func ExampleSzengine_ReevaluateEntity_withInfo() {
fmt.Println(err)
}
fmt.Println(result)
// Output: {"DATA_SOURCE":"CUSTOMERS","RECORD_ID":"1001","AFFECTED_ENTITIES":[{"ENTITY_ID":213}],"INTERESTING_ENTITIES":{"ENTITIES":[]}}
// Output: {"DATA_SOURCE":"CUSTOMERS","RECORD_ID":"1001","AFFECTED_ENTITIES":[{"ENTITY_ID":100001}],"INTERESTING_ENTITIES":{"ENTITIES":[]}}
}

func ExampleSzengine_ReevaluateRecord() {
Expand Down Expand Up @@ -649,7 +649,7 @@ func ExampleSzengine_ReevaluateRecord_withInfo() {
fmt.Println(err)
}
fmt.Println(result)
// Output: {"DATA_SOURCE":"CUSTOMERS","RECORD_ID":"1001","AFFECTED_ENTITIES":[{"ENTITY_ID":213}],"INTERESTING_ENTITIES":{"ENTITIES":[]}}
// Output: {"DATA_SOURCE":"CUSTOMERS","RECORD_ID":"1001","AFFECTED_ENTITIES":[{"ENTITY_ID":100001}],"INTERESTING_ENTITIES":{"ENTITIES":[]}}
}

func ExampleSzengine_SearchByAttributes() {
Expand All @@ -664,7 +664,7 @@ func ExampleSzengine_SearchByAttributes() {
fmt.Println(err)
}
fmt.Println(jsonutil.Flatten(jsonutil.Redact(jsonutil.Flatten(jsonutil.NormalizeAndSort(result)), "FIRST_SEEN_DT", "LAST_SEEN_DT")))
// Output: {"RESOLVED_ENTITIES":[{"ENTITY":{"RESOLVED_ENTITY":{"ENTITY_ID":213}},"MATCH_INFO":{"ERRULE_CODE":"SF1","MATCH_KEY":"+PNAME+EMAIL","MATCH_LEVEL_CODE":"POSSIBLY_RELATED"}}]}
// Output: {"RESOLVED_ENTITIES":[{"ENTITY":{"RESOLVED_ENTITY":{"ENTITY_ID":100001}},"MATCH_INFO":{"ERRULE_CODE":"SF1","MATCH_KEY":"+PNAME+EMAIL","MATCH_LEVEL_CODE":"POSSIBLY_RELATED"}}]}
}

func ExampleSzEngine_SearchByAttributes_searchProfile() {
Expand All @@ -688,8 +688,8 @@ func ExampleSzengine_WhyEntities() {
if err != nil {
fmt.Println(err)
}
fmt.Println(truncate(result, 74))
// Output: {"WHY_RESULTS":[{"ENTITY_ID":213,"ENTITY_ID_2":213,"MATCH_INFO":{"WHY_K...
fmt.Println(truncate(result, 80))
// Output: {"WHY_RESULTS":[{"ENTITY_ID":100001,"ENTITY_ID_2":100001,"MATCH_INFO":{"WHY_K...
}

func ExampleSzengine_WhyRecordInEntity() {
Expand All @@ -704,7 +704,7 @@ func ExampleSzengine_WhyRecordInEntity() {
fmt.Println(err)
}
fmt.Println(result)
// Output: {"WHY_RESULTS":[{"INTERNAL_ID":213,"ENTITY_ID":213,"FOCUS_RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":"1001"}],"MATCH_INFO":{"WHY_KEY":"+NAME+DOB+PHONE","WHY_ERRULE_CODE":"CNAME_CFF_CEXCL","MATCH_LEVEL_CODE":"RESOLVED"}}],"ENTITIES":[{"RESOLVED_ENTITY":{"ENTITY_ID":213}}]}
// Output: {"WHY_RESULTS":[{"INTERNAL_ID":100001,"ENTITY_ID":100001,"FOCUS_RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":"1001"}],"MATCH_INFO":{"WHY_KEY":"+NAME+DOB+PHONE","WHY_ERRULE_CODE":"CNAME_CFF_CEXCL","MATCH_LEVEL_CODE":"RESOLVED"}}],"ENTITIES":[{"RESOLVED_ENTITY":{"ENTITY_ID":100001}}]}
}

func ExampleSzengine_WhyRecords() {
Expand All @@ -720,8 +720,8 @@ func ExampleSzengine_WhyRecords() {
if err != nil {
fmt.Println(err)
}
fmt.Println(truncate(result, 115))
// Output: {"WHY_RESULTS":[{"INTERNAL_ID":213,"ENTITY_ID":213,"FOCUS_RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":"1001...
fmt.Println(truncate(result, 121))
// Output: {"WHY_RESULTS":[{"INTERNAL_ID":100001,"ENTITY_ID":100001,"FOCUS_RECORDS":[{"DATA_SOURCE":"CUSTOMERS","RECORD_ID":"1001...
}

// ----------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion szproduct/szproduct_examples_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func ExampleSzproduct_GetLicense() {
fmt.Println(err)
}
fmt.Println(result)
// Output: {"customer":"","contract":"","issueDate":"2024-12-05","licenseType":"EVAL (Solely for non-productive use)","licenseLevel":"","billing":"","expireDate":"2025-12-06","recordLimit":500}
// Output: {"customer":"","contract":"","issueDate":"2024-12-11","licenseType":"EVAL (Solely for non-productive use)","licenseLevel":"","billing":"","expireDate":"2025-12-12","recordLimit":500}
}

func ExampleSzproduct_GetVersion() {
Expand Down

0 comments on commit bff08f7

Please sign in to comment.