microsoft / microsoft/sqlmanagementobjects

Replace some SMO enumerations with string constants

Aperta
#102 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C#
Stelle
143
Fork
28
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

One source of continuous maintenance in SMO is adding new enumeration values as Azure SQL Database and SQL Server evolve over time.
Unless we update the enumerations SMO is unable to generate scripts for objects that use the new values. For the most part, there's very little value in having an enumeration for these identifiers instead of string constants. SMO should be able to store any value returned from the server and use it in script generation without converting it from string to enum value. We can continue to facilitate C# programming by replacing the enumerations with static classes of string constants that have C#-style names for the values SMO knows about.

Here's an incomplete list of candidate enumerations to replace with strings in the next major version bump:

ExternalDataSourceType
ExternalFileFormatType
ExternalStreamingJobStatusType
ExternalTableRejectType
DwTableDistributionType
DwViewDistributionType
ExternalLanguageFilePlatform
AuditDestinationType
OnFailureAction
SensitivityRank
AuditActionType
DatabaseScopedConfigurationOnOff
TemporalHistoryRetentionPeriodUnit
DataRetentionPeriodUnit
CatalogCollationType
AgentSubSystem
JobExecutionStatus

Another enum that needs some re-design to allow SSMS to support new permission values without a SMO update is DatabasePermissionSetValue

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia individuando le dichiarazioni e gli utilizzi delle enumerazioni candidate elencate nell’issue, incluse ExternalDataSourceType, AuditActionType e DatabasePermissionSetValue. Determina la riprogettazione necessaria e il relativo impatto sul supporto di SMO e SSMS prima di proporre l’ambito; il lavoro sarà completato quando i valori selezionati potranno accettare nuovi identificatori restituiti dal server senza un aggiornamento di SMO.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
azure, csharp, sql
Ambito
database
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.