mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-13 17:09:07 +02:00
Debug + Mysql JSON Query
This commit is contained in:
@@ -1383,6 +1383,8 @@ func (s *SqlStore) GetGroupByName(ctx context.Context, lockStrength LockingStren
|
|||||||
query := s.db.WithContext(ctx).Clauses(clause.Locking{Strength: string(lockStrength)}).Preload(clause.Associations)
|
query := s.db.WithContext(ctx).Clauses(clause.Locking{Strength: string(lockStrength)}).Preload(clause.Associations)
|
||||||
if s.storeEngine == PostgresStoreEngine {
|
if s.storeEngine == PostgresStoreEngine {
|
||||||
query = query.Order("json_array_length(peers::json) DESC")
|
query = query.Order("json_array_length(peers::json) DESC")
|
||||||
|
} else if s.storeEngine == MysqlStoreEngine {
|
||||||
|
query = query.Order("JSON_LENGTH(JSON_EXTRACT(peers, \"$\")) DESC")
|
||||||
} else {
|
} else {
|
||||||
query = query.Order("json_array_length(peers) DESC")
|
query = query.Order("json_array_length(peers) DESC")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -280,6 +280,8 @@ func NewTestStoreFromSQL(ctx context.Context, filename string, dataDir string) (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Printf("[DEBUG] Kind Type: %s", kind)
|
||||||
|
|
||||||
store, err := NewSqlStore(ctx, db, SqliteStoreEngine, nil)
|
store, err := NewSqlStore(ctx, db, SqliteStoreEngine, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, fmt.Errorf("failed to create test store: %v", err)
|
return nil, nil, fmt.Errorf("failed to create test store: %v", err)
|
||||||
@@ -290,6 +292,8 @@ func NewTestStoreFromSQL(ctx context.Context, filename string, dataDir string) (
|
|||||||
|
|
||||||
func getSqlStoreEngine(ctx context.Context, store *SqlStore, kind StoreEngine) (Store, func(), error) {
|
func getSqlStoreEngine(ctx context.Context, store *SqlStore, kind StoreEngine) (Store, func(), error) {
|
||||||
|
|
||||||
|
log.Printf("[DEBUG] Kind Type - 2: %s", kind)
|
||||||
|
|
||||||
if kind == PostgresStoreEngine {
|
if kind == PostgresStoreEngine {
|
||||||
cleanUp, err := testutil.CreatePGDB()
|
cleanUp, err := testutil.CreatePGDB()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -301,6 +305,8 @@ func getSqlStoreEngine(ctx context.Context, store *SqlStore, kind StoreEngine) (
|
|||||||
return nil, nil, fmt.Errorf("%s is not set", postgresDsnEnv)
|
return nil, nil, fmt.Errorf("%s is not set", postgresDsnEnv)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Printf("[DEBUG] PostgresStoreEngine DSN: %s", dsn)
|
||||||
|
|
||||||
store, err = NewPostgresqlStoreFromSqlStore(ctx, store, dsn, nil)
|
store, err = NewPostgresqlStoreFromSqlStore(ctx, store, dsn, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
@@ -316,13 +322,12 @@ func getSqlStoreEngine(ctx context.Context, store *SqlStore, kind StoreEngine) (
|
|||||||
}
|
}
|
||||||
|
|
||||||
dsn, ok := os.LookupEnv(mysqlDsnEnv)
|
dsn, ok := os.LookupEnv(mysqlDsnEnv)
|
||||||
|
|
||||||
log.WithContext(ctx).Warnf("MysqlStoreEngine DSN: %s", mysqlDsnEnv)
|
|
||||||
|
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, nil, fmt.Errorf("%s is not set", mysqlDsnEnv)
|
return nil, nil, fmt.Errorf("%s is not set", mysqlDsnEnv)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Printf("[DEBUG] MysqlStoreEngine DSN: %s", dsn)
|
||||||
|
|
||||||
store, err = NewMysqlStoreFromSqlStore(ctx, store, dsn, nil)
|
store, err = NewMysqlStoreFromSqlStore(ctx, store, dsn, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func CreatePGDB() (func(), error) {
|
func CreatePGDB() (func(), error) {
|
||||||
|
|
||||||
|
log.Printf("[DEBUG] CreatePGDB")
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
c, err := postgres.Run(ctx, "postgres:16-alpine", testcontainers.WithWaitStrategy(
|
c, err := postgres.Run(ctx, "postgres:16-alpine", testcontainers.WithWaitStrategy(
|
||||||
wait.ForLog("database system is ready to accept connections").
|
wait.ForLog("database system is ready to accept connections").
|
||||||
@@ -31,6 +34,9 @@ func CreatePGDB() (func(), error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func CreateMyDB() (func(), error) {
|
func CreateMyDB() (func(), error) {
|
||||||
|
|
||||||
|
log.Printf("[DEBUG] CreateMyDB")
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
c, err := mysql.Run(ctx, "mysql:5.7.34", testcontainers.WithWaitStrategy(
|
c, err := mysql.Run(ctx, "mysql:5.7.34", testcontainers.WithWaitStrategy(
|
||||||
wait.ForLog("database system is ready to accept connections").
|
wait.ForLog("database system is ready to accept connections").
|
||||||
|
|||||||
Reference in New Issue
Block a user