watermill icon indicating copy to clipboard operation
watermill copied to clipboard

PGX Subscriber InvalidIfaceAssign

Open TeddyLourson opened this issue 1 year ago • 3 comments

I'm getting an error when trying to create an SQL subscriber with pgx. I can't find any example of a Postgres subscriber so I've followed the simple MySQL forwarder example to no success.

Here's the code :

func InitSQLSubscriber(db *pgxpool.Pool, logger watermill.LoggerAdapter) (*sql.Subscriber, error) {
	sqlSubscriber, err := sql.NewSubscriber(
		db,
		sql.SubscriberConfig{
			SchemaAdapter:    sql.DefaultPostgreSQLSchema{},
			OffsetsAdapter:   sql.DefaultPostgreSQLOffsetsAdapter{},
			InitializeSchema: true,
		},
		logger,
	)
	if err != nil {
		return nil, fmt.Errorf("could not create subscriber: %s", err)
	}
	return sqlSubscriber, nil
}

The error :

cannot use db (variable of type *pgxpool.Pool) as "github.com/ThreeDotsLabs/watermill-sql/v2/pkg/sql".Beginner value in argument to sql.NewSubscriber: *pgxpool.Pool does not implement "github.com/ThreeDotsLabs/watermill-sql/v2/pkg/sql".Beginner (wrong type for method BeginTx) have BeginTx(context.Context, pgx.TxOptions) (pgx.Tx, error) want BeginTx(context.Context, "database/sql".TxOptions) ("database/sql".Tx, error)compilerInvalidIfaceAssign

TeddyLourson avatar Nov 02 '23 13:11 TeddyLourson

Any response to this?

amansx avatar Feb 29 '24 20:02 amansx