diff --git a/.gitignore b/.gitignore index 1fb6ad7..5e84101 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ web/howto/pgloader.1.html web/howto/quickstart.html web/howto/sqlite.html .DS_Store +system-index.txt diff --git a/src/sources/mssql/sql/list-all-columns.sql b/src/sources/mssql/sql/list-all-columns.sql index 057e9c2..c1b8445 100644 --- a/src/sources/mssql/sql/list-all-columns.sql +++ b/src/sources/mssql/sql/list-all-columns.sql @@ -4,31 +4,31 @@ -- filter-list-to-where-clause including -- excluding -- filter-list-to-where-clause excluding - select c.table_schema, - c.table_name, - c.column_name, - c.data_type, + select c.TABLE_SCHEMA, + c.TABLE_NAME, + c.COLUMN_NAME, + c.DATA_TYPE, CASE - WHEN c.column_default LIKE '((%' AND c.column_default LIKE '%))' THEN + WHEN c.COLUMN_DEFAULT LIKE '((%' AND c.COLUMN_DEFAULT LIKE '%))' THEN CASE - WHEN SUBSTRING(c.column_default,3,len(c.column_default)-4) = 'newid()' THEN 'generate_uuid_v4()' - WHEN SUBSTRING(c.column_default,3,len(c.column_default)-4) LIKE 'convert(%varchar%,getdate(),%)' THEN 'today' - WHEN SUBSTRING(c.column_default,3,len(c.column_default)-4) = 'getdate()' THEN 'CURRENT_TIMESTAMP' - WHEN SUBSTRING(c.column_default,3,len(c.column_default)-4) LIKE '''%''' THEN SUBSTRING(c.column_default,4,len(c.column_default)-6) - ELSE SUBSTRING(c.column_default,3,len(c.column_default)-4) + WHEN SUBSTRING(c.COLUMN_DEFAULT,3,len(c.COLUMN_DEFAULT)-4) = 'newid()' THEN 'generate_uuid_v4()' + WHEN SUBSTRING(c.COLUMN_DEFAULT,3,len(c.COLUMN_DEFAULT)-4) LIKE 'convert(%varchar%,getdate(),%)' THEN 'today' + WHEN SUBSTRING(c.COLUMN_DEFAULT,3,len(c.COLUMN_DEFAULT)-4) = 'getdate()' THEN 'CURRENT_TIMESTAMP' + WHEN SUBSTRING(c.COLUMN_DEFAULT,3,len(c.COLUMN_DEFAULT)-4) LIKE '''%''' THEN SUBSTRING(c.COLUMN_DEFAULT,4,len(c.COLUMN_DEFAULT)-6) + ELSE SUBSTRING(c.COLUMN_DEFAULT,3,len(c.COLUMN_DEFAULT)-4) END - WHEN c.column_default LIKE '(%' AND c.column_default LIKE '%)' THEN + WHEN c.COLUMN_DEFAULT LIKE '(%' AND c.COLUMN_DEFAULT LIKE '%)' THEN CASE - WHEN SUBSTRING(c.column_default,2,len(c.column_default)-2) = 'newid()' THEN 'generate_uuid_v4()' - WHEN SUBSTRING(c.column_default,2,len(c.column_default)-2) LIKE 'convert(%varchar%,getdate(),%)' THEN 'today' - WHEN SUBSTRING(c.column_default,2,len(c.column_default)-2) = 'getdate()' THEN 'CURRENT_TIMESTAMP' - WHEN SUBSTRING(c.column_default,2,len(c.column_default)-2) LIKE '''%''' THEN SUBSTRING(c.column_default,3,len(c.column_default)-4) - ELSE SUBSTRING(c.column_default,2,len(c.column_default)-2) + WHEN SUBSTRING(c.COLUMN_DEFAULT,2,len(c.COLUMN_DEFAULT)-2) = 'newid()' THEN 'generate_uuid_v4()' + WHEN SUBSTRING(c.COLUMN_DEFAULT,2,len(c.COLUMN_DEFAULT)-2) LIKE 'convert(%varchar%,getdate(),%)' THEN 'today' + WHEN SUBSTRING(c.COLUMN_DEFAULT,2,len(c.COLUMN_DEFAULT)-2) = 'getdate()' THEN 'CURRENT_TIMESTAMP' + WHEN SUBSTRING(c.COLUMN_DEFAULT,2,len(c.COLUMN_DEFAULT)-2) LIKE '''%''' THEN SUBSTRING(c.COLUMN_DEFAULT,3,len(c.COLUMN_DEFAULT)-4) + ELSE SUBSTRING(c.COLUMN_DEFAULT,2,len(c.COLUMN_DEFAULT)-2) END - ELSE c.column_default + ELSE c.COLUMN_DEFAULT END, - c.is_nullable, - COLUMNPROPERTY(object_id(c.table_name), c.column_name, 'IsIdentity'), + c.IS_NULLABLE, + COLUMNPROPERTY(object_id(c.TABLE_NAME), c.COLUMN_NAME, 'IsIdentity'), c.CHARACTER_MAXIMUM_LENGTH, c.NUMERIC_PRECISION, c.NUMERIC_PRECISION_RADIX, @@ -37,13 +37,13 @@ c.CHARACTER_SET_NAME, c.COLLATION_NAME - from information_schema.columns c - join information_schema.tables t - on c.table_schema = t.table_schema - and c.table_name = t.table_name + from INFORMATION_SCHEMA.COLUMNS c + join INFORMATION_SCHEMA.TABLES t + on c.TABLE_SCHEMA = t.TABLE_SCHEMA + and c.TABLE_NAME = t.TABLE_NAME - where c.table_catalog = '~a' - and t.table_type = '~a' + where c.TABLE_CATALOG = '~a' + and t.TABLE_TYPE = '~a' ~:[~*~;and (~{~a~^~&~10t or ~})~] ~:[~*~;and (~{~a~^~&~10t and ~})~]