From c70eabca6e735910f191ed2b074f7c66bda8bc47 Mon Sep 17 00:00:00 2001 From: Aditya Dhamdhere Date: Wed, 3 Apr 2024 15:56:01 +0530 Subject: [PATCH 1/2] Changes for mongo db and couchbase db --- .../Database/NoSqlBase/GingerCouchbase.cs | 41 +++++++++++-------- .../Database/NoSqlBase/GingerMongoDb.cs | 2 +- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/Ginger/GingerCoreNET/Database/NoSqlBase/GingerCouchbase.cs b/Ginger/GingerCoreNET/Database/NoSqlBase/GingerCouchbase.cs index c11e40acd5..a282f5329d 100644 --- a/Ginger/GingerCoreNET/Database/NoSqlBase/GingerCouchbase.cs +++ b/Ginger/GingerCoreNET/Database/NoSqlBase/GingerCouchbase.cs @@ -153,25 +153,35 @@ public bool ConnectToBucket(string bucketName) private string GetBucketName(string inputSQL) { string bucketName = string.Empty; - string inputSQLLower = inputSQL.ToLower(); - int bucket1 = 0; - int bucket2 = 0; + string[] bucketNameArray = []; if (Action == ActDBValidation.eDBValidationType.RecordCount) { bucketName = inputSQL.Replace("`", ""); - }else + bucketNameArray = bucketName.Split('.'); + bucketName = bucketNameArray[0].Replace("'", ""); + } + else { - if (Action == ActDBValidation.eDBValidationType.UpdateDB){ - bucket1 = inputSQLLower.IndexOf("`"); - }else{ - bucket1 = inputSQLLower.IndexOf(" from ") + 6; + if (Action == ActDBValidation.eDBValidationType.UpdateDB) + { + bucketName = inputSQL.Substring(inputSQL.ToLower().IndexOf("Update ") + 7); + } + else + { + bucketName = inputSQL.Substring(inputSQL.ToLower().IndexOf(" from ") + 6); + } + bucketNameArray = bucketName.Split('.'); + bucketName = bucketNameArray[0].Trim(); + int index = bucketName.IndexOf(" "); + if (index != -1) + { + bucketName = bucketName.Substring(0, index).Replace("`", ""); + } + else + { + bucketName = bucketName.Substring(0, bucketName.Length - 1).Replace("`", ""); } - bucket2 = inputSQLLower.IndexOf("`", bucket1 + 1); - bucketName = inputSQL.Substring(bucket1, bucket2 - bucket1); - } - bucketName = bucketName.Replace("`", ""); - bucketName = bucketName.Replace("'", ""); return bucketName; } @@ -204,9 +214,8 @@ public override void PerformDBAction() } break; case Actions.ActDBValidation.eDBValidationType.RecordCount: - result = clusterCB.Query("Select Count(*) as RECORDCOUNT from `" + bucketName + "`"); - var count = result.Rows[0]; - Act.ParseJSONToOutputValues(count.ToString(), 1); + result = clusterCB.Query("Select Count(*) as RECORDCOUNT from " + SQLCalculated + ""); + Act.ParseJSONToOutputValues(result.Rows[0].ToString(), 1); break; case Actions.ActDBValidation.eDBValidationType.UpdateDB: result = clusterCB.Query(SQLCalculated); diff --git a/Ginger/GingerCoreNET/Database/NoSqlBase/GingerMongoDb.cs b/Ginger/GingerCoreNET/Database/NoSqlBase/GingerMongoDb.cs index dcf7d1efd0..a3bb0b6391 100644 --- a/Ginger/GingerCoreNET/Database/NoSqlBase/GingerMongoDb.cs +++ b/Ginger/GingerCoreNET/Database/NoSqlBase/GingerMongoDb.cs @@ -332,7 +332,7 @@ public override void PerformDBAction() else { var result = collection.Find(GetQueryParamater(SQLCalculated, "find")). - Project(GetQueryParamater(SQLCalculated, "project")). + //Project(GetQueryParamater(SQLCalculated, "project")). //Commented this to include _id colmun in output values Sort(BsonDocument.Parse(GetQueryParamater(SQLCalculated, "sort"))). Limit(Convert.ToInt32(GetQueryParamater(SQLCalculated, "limit"))). ToList(); From 0af7315094f66ab95fb933d8a1ad17931d30fdd3 Mon Sep 17 00:00:00 2001 From: Aditya Dhamdhere Date: Thu, 4 Apr 2024 16:11:31 +0530 Subject: [PATCH 2/2] changes --- Ginger/GingerCoreNET/Database/NoSqlBase/GingerCouchbase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ginger/GingerCoreNET/Database/NoSqlBase/GingerCouchbase.cs b/Ginger/GingerCoreNET/Database/NoSqlBase/GingerCouchbase.cs index a282f5329d..4e5c7b0329 100644 --- a/Ginger/GingerCoreNET/Database/NoSqlBase/GingerCouchbase.cs +++ b/Ginger/GingerCoreNET/Database/NoSqlBase/GingerCouchbase.cs @@ -153,7 +153,7 @@ public bool ConnectToBucket(string bucketName) private string GetBucketName(string inputSQL) { string bucketName = string.Empty; - string[] bucketNameArray = []; + string[] bucketNameArray; if (Action == ActDBValidation.eDBValidationType.RecordCount) { bucketName = inputSQL.Replace("`", "");