Skip to content

Commit

Permalink
Update SqlServerRoutineModelFactory.cs
Browse files Browse the repository at this point in the history
  • Loading branch information
barnuri authored Oct 10, 2024
1 parent 3930eb0 commit 76d1fe1
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions src/Core/RevEng.Core.60/Routines/SqlServerRoutineModelFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -176,23 +176,24 @@ private static Dictionary<string, List<ModuleParameter>> GetParameters(SqlConnec
'Length' = CAST(p.max_length AS INT),
'Precision' = CASE
WHEN ts.name = 'uniqueidentifier' THEN p.precision
WHEN ts.name IN ('decimal', 'numeric') THEN p.precision
WHEN ts.name IN ('varchar', 'nvarchar') THEN p.max_length
ELSE NULL
END,
WHEN COALESCE(ts.name, tu.name) IN ('hierarchyid') THEN p.max_length
WHEN ts.name IN ('nvarchar', 'nchar', 'varchar') THEN p.max_length / 2
ELSE p.precision
END,
'Scale' = CAST(p.scale AS INT),
'Order' = CAST(p.parameter_id AS INT),
p.is_output AS output,
'TypeName' = QUOTENAME(s.name) + '.' + QUOTENAME(tu.name),
'TypeSchema' = tu.schema_id,
'TypeName' = QUOTENAME(st.name) + '.' + QUOTENAME(tu.name),
'TypeSchema' = st.schema_id,
'TypeId' = p.user_type_id,
'RoutineName' = o.name,
'RoutineSchema' = s.name
from sys.parameters p
inner join sys.objects AS o on o.object_id = p.object_id
inner JOIN sys.schemas AS s ON o.schema_id = s.schema_id
inner join sys.schemas AS s on o.schema_id = s.schema_id
inner join sys.types tu ON p.user_type_id = tu.user_type_id
LEFT JOIN sys.types ts ON tu.system_type_id = ts.user_type_id
left JOIN sys.schemas AS st ON tu.schema_id = st.schema_id and tu.system_type_id != tu.user_type_id
ORDER BY p.object_id, p.parameter_id;
";

Expand Down

0 comments on commit 76d1fe1

Please sign in to comment.