diff --git a/src/Core/Resolvers/DWSqlQueryBuilder.cs b/src/Core/Resolvers/DWSqlQueryBuilder.cs index cb0159154b..e1768a97df 100644 --- a/src/Core/Resolvers/DWSqlQueryBuilder.cs +++ b/src/Core/Resolvers/DWSqlQueryBuilder.cs @@ -324,10 +324,10 @@ public string BuildStoredProcedureResultDetailsQuery(string databaseObjectName) public string BuildQueryToGetReadOnlyColumns(string schemaParamName, string tableParamName) { // For 'timestamp' columns sc.is_computed = 0. - string query = "SELECT ifsc.column_name from sys.columns as sc INNER JOIN INFORMATION_SCHEMA.COLUMNS as ifsc " + - "ON (sc.is_computed = 1 or ifsc.data_type = 'timestamp') " + - $"AND sc.object_id = object_id({schemaParamName}+'.'+{tableParamName}) and ifsc.table_name = {tableParamName} " + - $"AND ifsc.table_schema = {schemaParamName} and ifsc.column_name = sc.name;"; + string query = "SELECT ifsc.COLUMN_NAME from sys.columns as sc INNER JOIN INFORMATION_SCHEMA.COLUMNS as ifsc " + + "ON (sc.is_computed = 1 or ifsc.DATA_TYPE = 'timestamp') " + + $"AND sc.object_id = object_id({schemaParamName}+'.'+{tableParamName}) AND ifsc.TABLE_SCHEMA = {schemaParamName} " + + $"AND ifsc.TABLE_NAME = {tableParamName} AND ifsc.COLUMN_NAME = sc.name;"; return query; } diff --git a/src/Core/Resolvers/MsSqlQueryBuilder.cs b/src/Core/Resolvers/MsSqlQueryBuilder.cs index 493b7bc51d..43e7fd775f 100644 --- a/src/Core/Resolvers/MsSqlQueryBuilder.cs +++ b/src/Core/Resolvers/MsSqlQueryBuilder.cs @@ -509,10 +509,10 @@ public string BuildStoredProcedureResultDetailsQuery(string databaseObjectName) public string BuildQueryToGetReadOnlyColumns(string schemaParamName, string tableParamName) { // For 'timestamp' columns sc.is_computed = 0. - string query = "SELECT ifsc.column_name from sys.columns as sc INNER JOIN information_schema.columns as ifsc " + - "ON (sc.is_computed = 1 or ifsc.data_type = 'timestamp') " + - $"AND sc.object_id = object_id({schemaParamName}+'.'+{tableParamName}) and ifsc.table_name = {tableParamName} " + - $"AND ifsc.table_schema = {schemaParamName} and ifsc.column_name = sc.name;"; + string query = "SELECT ifsc.COLUMN_NAME from sys.columns as sc INNER JOIN INFORMATION_SCHEMA.COLUMNS as ifsc " + + "ON (sc.is_computed = 1 or ifsc.DATA_TYPE = 'timestamp') " + + $"AND sc.object_id = object_id({schemaParamName}+'.'+{tableParamName}) AND ifsc.TABLE_SCHEMA = {schemaParamName} " + + $"AND ifsc.TABLE_NAME = {tableParamName} AND ifsc.COLUMN_NAME = sc.name;"; return query; } diff --git a/src/Core/Resolvers/MySqlQueryBuilder.cs b/src/Core/Resolvers/MySqlQueryBuilder.cs index 3893000ff9..96f4444a26 100644 --- a/src/Core/Resolvers/MySqlQueryBuilder.cs +++ b/src/Core/Resolvers/MySqlQueryBuilder.cs @@ -356,8 +356,8 @@ private static string GetMySQLDefaultValue(ColumnDefinition column) /// public string BuildQueryToGetReadOnlyColumns(string schemaParamName, string tableParamName) { - string query = "select column_name as column_name from information_schema.columns " + - $"where table_schema = {schemaParamName} and table_name = {tableParamName} and generation_expression != '';"; + string query = "select COLUMN_NAME as COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS " + + $"where TABLE_SCHEMA = {schemaParamName} and TABLE_NAME = {tableParamName} and GENERATION_EXPRESSION != '';"; return query; } diff --git a/src/Core/Resolvers/PostgresQueryBuilder.cs b/src/Core/Resolvers/PostgresQueryBuilder.cs index c779252cfe..ebb77d4487 100644 --- a/src/Core/Resolvers/PostgresQueryBuilder.cs +++ b/src/Core/Resolvers/PostgresQueryBuilder.cs @@ -228,7 +228,7 @@ public string BuildStoredProcedureResultDetailsQuery(string databaseObjectName) /// public string BuildQueryToGetReadOnlyColumns(string schemaParamName, string tableParamName) { - string query = "SELECT attname AS column_name FROM pg_attribute " + + string query = $"SELECT attname AS {QuoteIdentifier("COLUMN_NAME")} FROM pg_attribute " + $"WHERE attrelid = ({schemaParamName} || '.' || {tableParamName})::regclass AND attgenerated = 's';"; return query; } diff --git a/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs b/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs index 839ac05785..1e6e61edf0 100644 --- a/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs +++ b/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs @@ -1841,7 +1841,7 @@ private async Task> foreach (DbResultSetRow readOnlyFieldRowWithProperties in readOnlyFieldRowsWithProperties.Rows) { Dictionary readOnlyFieldInfo = readOnlyFieldRowWithProperties.Columns; - string fieldName = (string)readOnlyFieldInfo["column_name"]!; + string fieldName = (string)readOnlyFieldInfo["COLUMN_NAME"]!; readOnlyFields.Add(fieldName); }