ScriptDom does not fill Clustered property even if it was explicitly provided on HASH index
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 38/100
Línea de trabajo
Comienza analizando la sentencia CREATE TABLE proporcionada con ScriptDOM e inspecciona la propiedad Clustered del nodo de clave primaria. Compara el resultado con la declaración NONCLUSTERED HASH explícita; el issue estará terminado cuando esa propiedad sea false en lugar de null para este caso.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
ScriptDom version: 161.8919.0
Compatibility level used for parsing: 150
Parser did not fill Clustered property and because it is a PRIMARY KEY which are CLUSTERED by default unless explicitly defined as NONCLUSTERED, I resolved this case in my code as implicitly clustered. However it is clearly explicitly NONCLUSTERED. I think Clustered property should be false in this case.
CREATE TABLE dbo.foo
(
bar VARCHAR(512) NOT NULL
, far VARCHAR(20) NULL
, CONSTRAINT PK PRIMARY KEY NONCLUSTERED HASH (bar) WITH (BUCKET_COUNT = 500000)
, INDEX IX_2 NONCLUSTERED HASH (far)
WITH (BUCKET_COUNT = 500000)
)
WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA);
GO
Here are object properties for PK node:
So to check if index is clustered with respect to property nullability one has to do something like that:
bool isClustered;
if (node.Clustered.HasValue)
{
isClustered = node.Clustered.Value;
}
else if (node.IndexType != null && node.IndexType.IndexTypeKind.HasValue)
{
isClustered = node.IndexType.IndexTypeKind.Value == IndexTypeKind.Clustered
|| node.IndexType.IndexTypeKind.Value == IndexTypeKind.ClusteredColumnStore;
}
else
{
isClustered = node.IsPrimaryKey;
}
feels like it could be more straightforward
- Lenguaje dominante
- GAP
- Estrellas
- 277
- Forks
- 43
- Merge medio
- 6 d 17 h
- PR fusionados (30 d)
- 3
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/SqlScriptDOM
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
microsoft/SqlScriptDOM#228 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
microsoft/SqlScriptDOM#183 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 56/100
microsoft/SqlScriptDOM#226 · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
microsoft/SqlScriptDOM#225 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
microsoft/SqlScriptDOM#224 ·
Todos los issues de microsoft/SqlScriptDOM
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
splunk/token-meter#56 ·
-
Doc: Oppdater README Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
bug status: needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100