Skip to content

Commit ae5c585

Browse files
authored
Merge pull request #121 from LowlyDBA/development
Only show Table of Content types that exist
2 parents b5e6a6a + 0f9d7a5 commit ae5c585

File tree

10 files changed

+556
-501
lines changed

10 files changed

+556
-501
lines changed

appveyor/appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: 1.0.{build}
1+
version: 1.1.{build}
22

33
pull_requests:
44
do_not_increment_build_number: false

appveyor/sqlcover/Coverage.opencoverxml

Lines changed: 334 additions & 368 deletions
Large diffs are not rendered by default.

appveyor/sqlcover/[dbo].[sp_doc]

Lines changed: 63 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
CREATE PROCEDURE [dbo].[sp_doc]
33
@DatabaseName SYSNAME = NULL
44
,@ExtendedPropertyName SYSNAME = 'Description'
5-
/* Parameters defined here for testing only */
6-
,@SqlMajorVersion TINYINT = 0
7-
,@SqlMinorVersion SMALLINT = 0
8-
WITH RECOMPILE
5+
/* Parameters defined here for testing only */
6+
,@SqlMajorVersion TINYINT = 0
7+
,@SqlMinorVersion SMALLINT = 0
8+
WITH RECOMPILE
99
AS
1010

1111
/*
@@ -48,13 +48,13 @@ BEGIN
4848

4949
-- Find Version
5050
IF (@SqlMajorVersion = 0)
51-
BEGIN;
52-
SET @SqlMajorVersion = CAST(SERVERPROPERTY('ProductMajorVersion') AS TINYINT);
53-
END;
51+
BEGIN;
52+
SET @SqlMajorVersion = CAST(SERVERPROPERTY('ProductMajorVersion') AS TINYINT);
53+
END;
5454
IF (@SqlMinorVersion = 0)
55-
BEGIN;
56-
SET @SqlMinorVersion = CAST(SERVERPROPERTY('ProductMinorVersion') AS TINYINT);
57-
END;
55+
BEGIN;
56+
SET @SqlMinorVersion = CAST(SERVERPROPERTY('ProductMinorVersion') AS TINYINT);
57+
END;
5858

5959
-- Validate Version
6060
IF (@SqlMajorVersion < 11)
@@ -106,12 +106,15 @@ BEGIN
106106
/***********************
107107
Generate markdown for tables
108108
************************/
109+
--Build table of contents
109110
SET @Sql = @Sql + N'
110-
INSERT INTO #markdown (value)
111-
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Tables''))
112-
,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>'', CHAR(13), CHAR(10)));' +
111+
IF EXISTS (SELECT 1 FROM [sys].[all_objects] WHERE [type] = ''U'' AND [is_ms_shipped] = 0)
112+
BEGIN
113+
INSERT INTO #markdown (value)
114+
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Tables''))
115+
,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>'', CHAR(13), CHAR(10)));
116+
END;' +
113117

114-
--Build table of contents
115118
+ N'INSERT INTO #markdown (value)
116119
SELECT CONCAT(''* ['', OBJECT_SCHEMA_NAME(object_id), ''.'', OBJECT_NAME(object_id), ''](#'', LOWER(OBJECT_SCHEMA_NAME(object_id)), LOWER(OBJECT_NAME(object_id)), '')'')
117120
FROM [sys].[all_objects]
@@ -163,7 +166,9 @@ BEGIN
163166
THEN CONCAT(N''('',CAST([c].scale AS varchar(5)), N'')'')
164167
WHEN TYPE_NAME([c].user_type_id) in (N''float'')
165168
THEN CASE WHEN [c].precision = 53 THEN N'''' ELSE CONCAT(N''('',CAST([c].precision AS varchar(5)),N'')'') END
166-
WHEN TYPE_NAME([c].user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
169+
WHEN TYPE_NAME([c].user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
170+
N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',
171+
N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
167172
THEN N''''
168173
ELSE CONCAT(N''('',CASE
169174
WHEN [c].max_length = -1
@@ -302,12 +307,14 @@ BEGIN
302307
/***********************
303308
Generate markdown for views
304309
************************/
310+
--Build table of contents
305311
SET @Sql = @Sql + N'
306-
INSERT INTO #markdown (value)
307-
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Views''))
308-
,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>'', CHAR(13), CHAR(10)));' +
312+
IF EXISTS (SELECT 1 FROM [sys].[views] WHERE [is_ms_shipped] = 0)
313+
BEGIN;
314+
INSERT INTO #markdown (value)
315+
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Views'')) ,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>'', CHAR(13), CHAR(10)));
316+
END;' +
309317

310-
--Build table of contents
311318
+ N'INSERT INTO #markdown (value)
312319
SELECT CONCAT(''* ['', OBJECT_SCHEMA_NAME(object_id), ''.'', OBJECT_NAME(object_id), ''](#'', LOWER(OBJECT_SCHEMA_NAME(object_id)), LOWER(OBJECT_NAME(object_id)), '')'')
313320
FROM [sys].[views]
@@ -358,7 +365,9 @@ BEGIN
358365
THEN CONCAT(N''('',CAST([c].scale AS varchar(5)), N'')'')
359366
WHEN TYPE_NAME([c].user_type_id) in (N''float'')
360367
THEN CASE WHEN [c].precision = 53 THEN N'''' ELSE CONCAT(N''('',CAST([c].precision AS varchar(5)),N'')'') END
361-
WHEN TYPE_NAME([c].user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
368+
WHEN TYPE_NAME([c].user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
369+
N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',N''date'',
370+
N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
362371
THEN N''''
363372
ELSE CONCAT(N''('',CASE
364373
WHEN [c].max_length = -1
@@ -416,12 +425,14 @@ BEGIN
416425
/***********************
417426
Generate markdown for procedures
418427
************************/
428+
--Build table of contents
419429
SET @Sql = @Sql + N'
420-
INSERT INTO #markdown
421-
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Stored Procedures''))
422-
,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>'', CHAR(13), CHAR(10)));' +
430+
IF EXISTS (SELECT 1 FROM [sys].[procedures] WHERE [is_ms_shipped] = 0)
431+
BEGIN;
432+
INSERT INTO #markdown
433+
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Stored Procedures'')) ,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>'', CHAR(13), CHAR(10)));
434+
END;' +
423435

424-
--Build table of contents
425436
+ N'INSERT INTO #markdown
426437
SELECT CONCAT(''* ['', OBJECT_SCHEMA_NAME([object_id]), ''.'', OBJECT_NAME([object_id]), ''](#'', LOWER(OBJECT_SCHEMA_NAME([object_id])), LOWER(OBJECT_NAME([object_id])), '')'')
427438
FROM [sys].[procedures]
@@ -473,7 +484,9 @@ BEGIN
473484
THEN CONCAT(N''('',CAST(scale AS varchar(5)), N'')'')
474485
WHEN TYPE_NAME(user_type_id) in (N''float'')
475486
THEN CASE WHEN precision = 53 THEN N'''' ELSE CONCAT(N''('',CAST(precision AS varchar(5)),N'')'') END
476-
WHEN TYPE_NAME(user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
487+
WHEN TYPE_NAME(user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
488+
N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',
489+
N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
477490
THEN N''''
478491
ELSE CONCAT(N''('',CASE
479492
WHEN max_length = -1
@@ -525,12 +538,14 @@ BEGIN
525538
/***********************
526539
Generate markdown for scalar functions
527540
************************/
541+
--Build table of contents
528542
SET @Sql = @Sql + N'
529-
INSERT INTO #markdown (value)
530-
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Scalar Functions''))
531-
,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>'', CHAR(13), CHAR(10)));' +
543+
IF EXISTS (SELECT 1 FROM [sys].[objects] WHERE [is_ms_shipped] = 0 AND [type] = ''FN'')
544+
BEGIN;
545+
INSERT INTO #markdown (value)
546+
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Scalar Functions'')) ,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>'', CHAR(13), CHAR(10)));
547+
END;' +
532548

533-
--Build table of contents
534549
+ N'INSERT INTO #markdown
535550
SELECT CONCAT(''* ['', OBJECT_SCHEMA_NAME(object_id), ''.'', OBJECT_NAME(object_id), ''](#'', LOWER(OBJECT_SCHEMA_NAME(object_id)), LOWER(OBJECT_NAME(object_id)), '')'')
536551
FROM [sys].[objects]
@@ -585,7 +600,9 @@ BEGIN
585600
THEN CONCAT(N''('',CAST(scale AS varchar(5)), N'')'')
586601
WHEN TYPE_NAME(user_type_id) in (N''float'')
587602
THEN CASE WHEN precision = 53 THEN N'''' ELSE CONCAT(N''('',CAST(precision AS varchar(5)),N'')'') END
588-
WHEN TYPE_NAME(user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
603+
WHEN TYPE_NAME(user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
604+
N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',
605+
N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
589606
THEN N''''
590607
ELSE CONCAT(N''('',CASE
591608
WHEN max_length = -1
@@ -637,12 +654,14 @@ BEGIN
637654
/***********************
638655
Generate markdown for table functions
639656
************************/
657+
--Build table of contents
640658
SET @Sql = @Sql + N'
641-
INSERT INTO #markdown
642-
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Table Functions''))
643-
,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>'', CHAR(13), CHAR(10)));' +
659+
IF EXISTS (SELECT 1 FROM [sys].[objects] WHERE [is_ms_shipped] = 0 AND [type] = ''IF'')
660+
BEGIN;
661+
INSERT INTO #markdown
662+
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Table Functions'')) ,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>'', CHAR(13), CHAR(10)));
663+
END;' +
644664

645-
--Build table of contents
646665
+ N'INSERT INTO #markdown
647666
SELECT CONCAT(''* ['', OBJECT_SCHEMA_NAME(object_id), ''.'', OBJECT_NAME(object_id), ''](#'', LOWER(OBJECT_SCHEMA_NAME(object_id)), LOWER(OBJECT_NAME(object_id)), '')'')
648667
FROM [sys].[objects]
@@ -748,17 +767,19 @@ BEGIN
748767
/***********************
749768
Generate markdown for synonyms
750769
************************/
770+
--Build table of contents
751771
SET @Sql = @Sql + N'
752-
INSERT INTO #markdown (value)
753-
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Synonyms''))
754-
,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>''));' +
772+
IF EXISTS (SELECT 1 FROM [sys].[synonyms] WHERE [is_ms_shipped] = 0)
773+
BEGIN;
774+
INSERT INTO #markdown ([value])
775+
VALUES (CONCAT(CHAR(13), CHAR(10), ''## Synonyms'')) ,(CONCAT(CHAR(13), CHAR(10), ''<details><summary>Click to expand</summary>''));
776+
END;' +
755777

756-
--Build table of contents
757778
+ N'INSERT INTO #markdown
758-
SELECT CONCAT(''* ['', OBJECT_SCHEMA_NAME(object_id), ''.'', OBJECT_NAME(object_id), ''](#'', LOWER(OBJECT_SCHEMA_NAME(object_id)), LOWER(OBJECT_NAME(object_id)), '')'')
759-
FROM sys.synonyms
760-
WHERE is_ms_shipped = 0
761-
ORDER BY OBJECT_SCHEMA_NAME(object_id), [name] ASC;' +
779+
SELECT CONCAT(''* ['', OBJECT_SCHEMA_NAME([object_id]), ''.'', OBJECT_NAME([object_id]), ''](#'', LOWER(OBJECT_SCHEMA_NAME([object_id])), LOWER(OBJECT_NAME([object_id])), '')'')
780+
FROM [sys].[synonyms]
781+
WHERE [is_ms_shipped] = 0
782+
ORDER BY OBJECT_SCHEMA_NAME([object_id]), [name] ASC;' +
762783

763784
--Object details
764785
+ N'DECLARE Obj_Cursor CURSOR

appveyor/sqlcover/[dbo].[sp_helpme]

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ AS
1010
/*
1111
sp_helpme - Part of the ExpressSQL Suite https://expresssql.lowlydba.com/
1212

13+
Version: 09112020
14+
1315
MIT License
1416

1517
Copyright (c) 2020 John McCall

appveyor/sqlcover/[dbo].[sp_sizeoptimiser]

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ AS
1717
/*
1818
sp_sizeoptimiser - Part of the ExpressSQL Suite https://expresssql.lowlydba.com/
1919

20+
Version: 09112020
21+
2022
MIT License
2123

2224
Copyright (c) 2020 John McCall

docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,6 @@ Tested on:
3333

3434
## Contributing
3535

36-
Missing a feature? Found a bug? Open an [issue][issue] to get some :heart:.
36+
Missing a feature? Found a bug? Open an [issue][issue] to get some :heart:
3737

3838
[issue]: https://github.com/LowlyDBA/ExpressSQL/issues

install_expsql.sql

6.83 KB
Binary file not shown.

0 commit comments

Comments
 (0)