github.com/lologarithm/mattermost-server@v5.3.2-0.20181002060438-c82a84ed765b+incompatible/store/sqlstore/store.go (about)

     1  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
     2  // See License.txt for license information.
     3  
     4  package sqlstore
     5  
     6  import (
     7  	_ "github.com/go-sql-driver/mysql"
     8  	_ "github.com/lib/pq"
     9  	"github.com/mattermost/gorp"
    10  
    11  	"github.com/mattermost/mattermost-server/store"
    12  )
    13  
    14  /*type SqlStore struct {
    15  	master         *gorp.DbMap
    16  	replicas       []*gorp.DbMap
    17  	searchReplicas []*gorp.DbMap
    18  	team           TeamStore
    19  	channel        ChannelStore
    20  	post           PostStore
    21  	user           UserStore
    22  	audit          AuditStore
    23  	compliance     ComplianceStore
    24  	session        SessionStore
    25  	oauth          OAuthStore
    26  	system         SystemStore
    27  	webhook        WebhookStore
    28  	command        CommandStore
    29  	preference     PreferenceStore
    30  	license        LicenseStore
    31  	token          TokenStore
    32  	emoji          EmojiStore
    33  	status         StatusStore
    34  	fileInfo       FileInfoStore
    35  	reaction       ReactionStore
    36  	jobStatus      JobStatusStore
    37  	SchemaVersion  string
    38  	rrCounter      int64
    39  	srCounter      int64
    40  }*/
    41  
    42  type SqlStore interface {
    43  	DriverName() string
    44  	GetCurrentSchemaVersion() string
    45  	GetMaster() *gorp.DbMap
    46  	GetSearchReplica() *gorp.DbMap
    47  	GetReplica() *gorp.DbMap
    48  	TotalMasterDbConnections() int
    49  	TotalReadDbConnections() int
    50  	TotalSearchDbConnections() int
    51  	MarkSystemRanUnitTests()
    52  	DoesTableExist(tablename string) bool
    53  	DoesColumnExist(tableName string, columName string) bool
    54  	DoesTriggerExist(triggerName string) bool
    55  	CreateColumnIfNotExists(tableName string, columnName string, mySqlColType string, postgresColType string, defaultValue string) bool
    56  	CreateColumnIfNotExistsNoDefault(tableName string, columnName string, mySqlColType string, postgresColType string) bool
    57  	RemoveColumnIfExists(tableName string, columnName string) bool
    58  	RemoveTableIfExists(tableName string) bool
    59  	RenameColumnIfExists(tableName string, oldColumnName string, newColumnName string, colType string) bool
    60  	GetMaxLengthOfColumnIfExists(tableName string, columnName string) string
    61  	AlterColumnTypeIfExists(tableName string, columnName string, mySqlColType string, postgresColType string) bool
    62  	CreateUniqueIndexIfNotExists(indexName string, tableName string, columnName string) bool
    63  	CreateIndexIfNotExists(indexName string, tableName string, columnName string) bool
    64  	CreateCompositeIndexIfNotExists(indexName string, tableName string, columnNames []string) bool
    65  	CreateFullTextIndexIfNotExists(indexName string, tableName string, columnName string) bool
    66  	RemoveIndexIfExists(indexName string, tableName string) bool
    67  	GetAllConns() []*gorp.DbMap
    68  	Close()
    69  	LockToMaster()
    70  	UnlockFromMaster()
    71  	Team() store.TeamStore
    72  	Channel() store.ChannelStore
    73  	Post() store.PostStore
    74  	User() store.UserStore
    75  	Audit() store.AuditStore
    76  	ClusterDiscovery() store.ClusterDiscoveryStore
    77  	Compliance() store.ComplianceStore
    78  	Session() store.SessionStore
    79  	OAuth() store.OAuthStore
    80  	System() store.SystemStore
    81  	Webhook() store.WebhookStore
    82  	Command() store.CommandStore
    83  	CommandWebhook() store.CommandWebhookStore
    84  	Preference() store.PreferenceStore
    85  	License() store.LicenseStore
    86  	Token() store.TokenStore
    87  	Emoji() store.EmojiStore
    88  	Status() store.StatusStore
    89  	FileInfo() store.FileInfoStore
    90  	Reaction() store.ReactionStore
    91  	Job() store.JobStore
    92  	Plugin() store.PluginStore
    93  	UserAccessToken() store.UserAccessTokenStore
    94  	Role() store.RoleStore
    95  	Scheme() store.SchemeStore
    96  	ServiceTerms() store.ServiceTermsStore
    97  }