github.com/turbot/steampipe@v1.7.0-rc.0.0.20240517123944-7cef272d4458/pkg/introspection/plugin_table_sql.go (about) 1 package introspection 2 3 import ( 4 "fmt" 5 6 "github.com/turbot/steampipe/pkg/constants" 7 "github.com/turbot/steampipe/pkg/db/db_common" 8 "github.com/turbot/steampipe/pkg/steampipeconfig/modconfig" 9 ) 10 11 func GetPluginTableCreateSql() db_common.QueryWithArgs { 12 return db_common.QueryWithArgs{ 13 Query: fmt.Sprintf(`CREATE TABLE IF NOT EXISTS %s.%s ( 14 plugin_instance TEXT, 15 plugin TEXT NOT NULL, 16 version TEXT , 17 memory_max_mb INTEGER, 18 limiters JSONB, 19 file_name TEXT, 20 start_line_number INTEGER, 21 end_line_number INTEGER 22 );`, constants.InternalSchema, constants.PluginInstanceTable), 23 } 24 } 25 26 func GetPluginTablePopulateSql(plugin *modconfig.Plugin) db_common.QueryWithArgs { 27 return db_common.QueryWithArgs{ 28 Query: fmt.Sprintf(`INSERT INTO %s.%s ( 29 plugin, 30 version, 31 plugin_instance, 32 memory_max_mb, 33 limiters, 34 file_name, 35 start_line_number, 36 end_line_number 37 ) 38 VALUES($1,$2,$3,$4,$5,$6,$7,$8)`, constants.InternalSchema, constants.PluginInstanceTable), 39 Args: []any{ 40 plugin.Plugin, 41 plugin.Version, 42 plugin.Instance, 43 plugin.MemoryMaxMb, 44 plugin.Limiters, 45 plugin.FileName, 46 plugin.StartLineNumber, 47 plugin.EndLineNumber, 48 }, 49 } 50 } 51 52 func GetPluginTableDropSql() db_common.QueryWithArgs { 53 return db_common.QueryWithArgs{ 54 Query: fmt.Sprintf( 55 `DROP TABLE IF EXISTS %s.%s;`, 56 constants.InternalSchema, 57 constants.PluginInstanceTable, 58 ), 59 } 60 } 61 62 func GetPluginTableGrantSql() db_common.QueryWithArgs { 63 return db_common.QueryWithArgs{ 64 Query: fmt.Sprintf( 65 `GRANT SELECT ON TABLE %s.%s to %s;`, 66 constants.InternalSchema, 67 constants.PluginInstanceTable, 68 constants.DatabaseUsersRole, 69 ), 70 } 71 }