@@ -17,6 +17,11 @@ func init() {
1717 connectors.Register [Config ](func (cfg Config ) (connectors.Connector , error ) {
1818 connStr := cfg .ConnectionString ()
1919
20+ // Remove duckdb:// prefix if present to standardize
21+ connStr = strings .TrimPrefix (connStr , "duckdb://" )
22+
23+ safetyGuardRails := "allow_community_extensions=false"
24+
2025 // Special handling for memory database - don't modify memory connection strings
2126 if connStr == ":memory:" {
2227 // Leave it as is - the driver expects exactly ":memory:"
@@ -25,21 +30,19 @@ func init() {
2530 // convert to proper in-memory format
2631 connStr = ":memory:"
2732 } else {
28- // Remove duckdb:// prefix if present to standardize
29- connStr = strings .TrimPrefix (connStr , "duckdb://" )
30-
31- // Add safety guard rails for non-memory DB
32- safetyGuardRails := "access_mode=READ_ONLY&allow_community_extensions=false"
33- if strings .Contains (connStr , "?" ) {
34- connStr += "&" + safetyGuardRails
35- } else {
36- connStr += "?" + safetyGuardRails
37- }
3833
39- // Add prefix back
40- connStr = "duckdb://" + connStr
34+ safetyGuardRails = "access_mode=READ_ONLY&" + safetyGuardRails
4135 }
4236
37+ //Lets add some safety guard rails
38+ if strings .Contains (connStr , "?" ) {
39+ connStr += "&" + safetyGuardRails
40+ } else {
41+ connStr += "?" + safetyGuardRails
42+ }
43+
44+ print (connStr )
45+
4346 db , err := sqlx .Connect ("duckdb" , connStr )
4447 if err != nil {
4548 return nil , fmt .Errorf ("unable to connect to duckdb: %v" , err )
0 commit comments