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);
}