You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
COLUMNPROPERTY(c.object_id, c.name, 'ordinal') AS Ordinal,
1872
1867
c.name AS ColumnName,
1873
1868
c.is_nullable AS IsNullable,
@@ -1877,7 +1872,10 @@ SELECT TOP (0)
1877
1872
ISNULL(CONVERT(NVARCHAR(4000), OBJECT_DEFINITION(c.default_object_id)), '') AS [Default],
1878
1873
CAST(ISNULL(CONVERT(SMALLINT, CASE WHEN c.system_type_id IN (40, 41, 42, 43, 58, 61) THEN ODBCSCALE(c.system_type_id, c.scale) END), 0) AS INT) AS DateTimePrecision,
1879
1874
ISNULL(CONVERT(INT, CASE WHEN c.system_type_id IN (40, 41, 42, 43, 58, 61) THEN NULL ELSE ODBCSCALE(c.system_type_id, c.scale) END), 0) AS Scale,
1880
-
CAST(COLUMNPROPERTY(OBJECT_ID(sn.base_object_name), c.NAME, 'IsIdentity') AS BIT) AS IsIdentity,
1875
+
c.is_identity AS IsIdentity,
1876
+
c.is_rowguidcol AS IsRowGuid,
1877
+
c.is_computed AS IsComputed,
1878
+
CONVERT( tinyint, [c].[generated_always_type] ) AS GeneratedAlwaysType,
1881
1879
CAST(CASE
1882
1880
WHEN COLUMNPROPERTY(OBJECT_ID(QUOTENAME(sc.NAME) + '.' + QUOTENAME(o.NAME)), c.NAME, 'IsIdentity') = 1 THEN 1
1883
1881
WHEN COLUMNPROPERTY(OBJECT_ID(QUOTENAME(sc.NAME) + '.' + QUOTENAME(o.NAME)), c.NAME, 'IsComputed') = 1 THEN 1
@@ -1959,8 +1957,8 @@ SELECT
1959
1957
c.is_rowguidcol = 1 OR
1960
1958
c.is_computed = 1 OR
1961
1959
[c].[generated_always_type] <> 0 OR
1962
-
c.DATA_TYPE IN ( 'rowversion', 'timestamp' ) OR
1963
-
( c.DATA_TYPE = 'uniqueidentifier' AND c.COLUMN_DEFAULT LIKE '%newsequentialid%' )
1960
+
t.name IN ( ''rowversion'', ''timestamp'' ) OR
1961
+
( t.name = ''uniqueidentifier'' AND sd.definition LIKE ''%newsequentialid%'' )
1964
1962
THEN 1
1965
1963
ELSE 0
1966
1964
END
@@ -1975,6 +1973,8 @@ FROM
1975
1973
INNER JOIN sys.columns c ON c.[object_id] = st.base_object_id
1976
1974
1977
1975
LEFT JOIN sys.types t ON c.user_type_id = t.user_type_id
1976
+
1977
+
LEFT OUTER JOIN sys.default_constraints sd ON c.default_object_id = sd.object_id
1978
1978
1979
1979
INNER JOIN sys.objects o ON c.[object_id] = o.[object_id]
1980
1980
@@ -2049,13 +2049,13 @@ WHERE
2049
2049
-- Loop through synonyms and populate #SynonymDetails
2050
2050
DECLARE @synonmymDatabaseName sysname = (SELECT TOP (1) DatabaseName FROM #SynonymTargets)
2051
2051
DECLARE @synonmymDetailsSelect nvarchar(max)
2052
-
WHILE (@synonmymDatabaseName IS NOT NULL)
2052
+
WHILE (@synonmymDatabaseName IS NOT NULL)
2053
2053
BEGIN
2054
-
SET @synonmymDetailsSelect = REPLACE(@synonymDetailsQueryTemplate, '[@synonmymDatabaseName]', '[' + @synonmymDatabaseName + ']')
// Replace the column names (only present in SQL Server 2016 or later) with literal constants so the query works with older versions of SQL Server.
2691
+
sql = sql
2690
2692
.Replace("[sc].[generated_always_type]", "0" )
2691
2693
.Replace("[c].[generated_always_type]", "0" )
2692
2694
.Replace("[st].[temporal_type]", "0" );
2693
2695
}
2694
2696
2697
+
return sql;
2698
+
}
2699
+
2700
+
public override Tables ReadSchema()
2701
+
{
2702
+
var result = new Tables();
2703
+
if (Cmd == null)
2704
+
return result;
2705
+
2706
+
Cmd.CommandText = this.GetReadSchemaSql();
2707
+
2708
+
if (!Settings.IsSqlCe) Cmd.CommandTimeout = Settings.CommandTimeout;
2709
+
2695
2710
using(var rdr = Cmd.ExecuteReader())
2696
2711
{
2697
2712
var rxClean = new Regex("^(event|Equals|GetHashCode|GetType|ToString|repo|Save|IsNew|Insert|Update|Delete|Exists|SingleOrDefault|Single|First|FirstOrDefault|Fetch|Page|Query)$");
@@ -2713,12 +2728,15 @@ SELECT SERVERPROPERTY('Edition') AS Edition,
0 commit comments