Skip to content

Commit

Permalink
several fixes to support Neo4j Aura
Browse files Browse the repository at this point in the history
  • Loading branch information
circles-arrows committed Sep 8, 2021
1 parent 5f5c95c commit ae3f2e4
Show file tree
Hide file tree
Showing 33 changed files with 1,074 additions and 1,070 deletions.
886 changes: 443 additions & 443 deletions Blueprint41/DatastoreTemplates/Domain_Data_Entity.cs

Large diffs are not rendered by default.

218 changes: 109 additions & 109 deletions Blueprint41/DatastoreTemplates/Domain_Data_Entity_Abstract.cs

Large diffs are not rendered by default.

116 changes: 58 additions & 58 deletions Blueprint41/DatastoreTemplates/Domain_Data_GraphEvents.cs

Large diffs are not rendered by default.

362 changes: 181 additions & 181 deletions Blueprint41/DatastoreTemplates/Domain_Data_Node.cs

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions Blueprint41/DatastoreTemplates/Domain_Data_Register.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ namespace Blueprint41.DatastoreTemplates
/// Class to produce the template output
/// </summary>

#line 1 "C:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
#line 1 "D:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "16.0.0.0")]
public partial class Domain_Data_Register : GeneratorBase
{
Expand All @@ -30,7 +30,7 @@ public override string TransformText()
{
this.Write("using System;\r\nusing Blueprint41.Core;\r\n\r\nnamespace ");

#line 8 "C:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
#line 8 "D:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Settings.FullCRUDNamespace));

#line default
Expand All @@ -55,7 +55,7 @@ public static void Types()
");

#line 26 "C:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
#line 26 "D:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"

foreach (var DALModel in Datastore.Entities.OrderBy(item => item.Name))
{
Expand All @@ -65,35 +65,35 @@ public static void Types()
#line hidden
this.Write("\t\t\t\t((ISetRuntimeType)");

#line 30 "C:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
#line 30 "D:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Datastore.GetType().FullName));

#line default
#line hidden
this.Write(".Model.Entities[\"");

#line 30 "C:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
#line 30 "D:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(DALModel.Name));

#line default
#line hidden
this.Write("\"]).SetRuntimeTypes(typeof(");

#line 30 "C:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
#line 30 "D:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(DALModel.ClassName));

#line default
#line hidden
this.Write("), typeof(");

#line 30 "C:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
#line 30 "D:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(DALModel.Name));

#line default
#line hidden
this.Write("));\r\n");

#line 31 "C:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"
#line 31 "D:\_CirclesArrows\blueprint41\Blueprint41\DatastoreTemplates\Domain_Data_Register.tt"

}

Expand Down
214 changes: 107 additions & 107 deletions Blueprint41/DatastoreTemplates/Domain_Data_Relationship.cs

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,8 @@ public override void Insert(OGM item)
}
else
{
entity.FunctionalId.SeenUid(key.ToString()!);
if (entity.FunctionalId.Label != "Guid")
entity.FunctionalId.SeenUid(key.ToString()!);
}
}

Expand Down
16 changes: 13 additions & 3 deletions Blueprint41/Neo4j/Persistence/Void/Neo4jPersistenceProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ public Neo4jPersistenceProvider(string? uri, string? username, string? password,
public string Version { get; private set; } = "0.0.0";
public int Major { get; private set; } = 0;
public int Minor { get; private set; } = 0;
public int Revision { get; private set; } = 0;
public int? Revision { get; private set; } = null;
public bool IsAura { get; set; } = false;
public bool IsEnterpriseEdition { get; private set; } = false;

public bool HasFunction(string function)
Expand Down Expand Up @@ -84,8 +85,17 @@ internal override QueryTranslator Translator

string[] parts = Version.Split('.');
Major = int.Parse(parts[0]);
Minor = int.Parse(parts[1]);
Revision = int.Parse(parts[2]);

if (parts[1].ToLower().Contains("-aura"))
{
parts[1] = parts[1].Replace("-aura", "");
IsAura = true;
}

Minor = int.Parse(parts[1]);

if (parts.Length > 2)
Revision = int.Parse(parts[2]);

functions = new HashSet<string>(Transaction.RunningTransaction.Run("call dbms.functions() yield name return name").Select(item => item.Values["name"].As<string>()));
procedures = new HashSet<string>(Transaction.RunningTransaction.Run("call dbms.procedures() yield name as name").Select(item => item.Values["name"].As<string>()));
Expand Down
14 changes: 7 additions & 7 deletions Blueprint41/Neo4j/Refactoring/Templates/ApplyFunctionalId.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ namespace Blueprint41.Neo4j.Refactoring.Templates
/// Class to produce the template output
/// </summary>

#line 1 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
#line 1 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "16.0.0.0")]
internal partial class ApplyFunctionalId : ApplyFunctionalIdBase
{
Expand All @@ -32,7 +32,7 @@ internal partial class ApplyFunctionalId : ApplyFunctionalIdBase
public override string TransformText()
{

#line 8 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
#line 8 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"

Debug.WriteLine(" executing {0} -> Apply FunctionalId on entity {1}", this.GetType().Name, Entity.Label.Name);

Expand All @@ -41,14 +41,14 @@ public override string TransformText()
#line hidden
this.Write("MATCH (node:");

#line 11 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
#line 11 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Entity.Label.Name));

#line default
#line hidden
this.Write(")\r\n");

#line 12 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
#line 12 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
if(! this.Full)
{

Expand All @@ -57,22 +57,22 @@ public override string TransformText()
#line hidden
this.Write("WHERE NOT node.Uid STARTS WITH \'");

#line 15 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
#line 15 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(FunctionalId.Prefix));

#line default
#line hidden
this.Write("\'\r\n");

#line 16 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
#line 16 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
}


#line default
#line hidden
this.Write("WITH node limit 10000 \r\nCALL blueprint41.functionalid.next(\'");

#line 19 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
#line 19 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\ApplyFunctionalId.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(FunctionalId.Label));

#line default
Expand Down
14 changes: 7 additions & 7 deletions Blueprint41/Neo4j/Refactoring/Templates/Convert.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ namespace Blueprint41.Neo4j.Refactoring.Templates
/// Class to produce the template output
/// </summary>

#line 1 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
#line 1 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "16.0.0.0")]
internal partial class Convert : ConvertBase
{
Expand All @@ -32,7 +32,7 @@ internal partial class Convert : ConvertBase
public override string TransformText()
{

#line 8 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
#line 8 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"


Debug.WriteLine(" executing {0} -> Convert value of {1}.{2} = '{3}'", this.GetType().Name, Entity.Name, Property.Name, string.Format(AssignScript, string.Concat(Entity.Name, ".", Property.Name)));
Expand All @@ -43,35 +43,35 @@ public override string TransformText()
#line hidden
this.Write("MATCH (node:");

#line 13 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
#line 13 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Entity.Label.Name));

#line default
#line hidden
this.Write(") WHERE node.");

#line 13 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
#line 13 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Property.Name));

#line default
#line hidden
this.Write(" <> ");

#line 13 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
#line 13 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(string.Format(WhereScript, string.Concat("node.", Property.Name))));

#line default
#line hidden
this.Write(" WITH node LIMIT 10000 SET node.");

#line 13 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
#line 13 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Property.Name));

#line default
#line hidden
this.Write(" = ");

#line 13 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
#line 13 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\Convert.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(string.Format(AssignScript, string.Concat("node.", Property.Name))));

#line default
Expand Down
16 changes: 8 additions & 8 deletions Blueprint41/Neo4j/Refactoring/Templates/CopyProperty.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ namespace Blueprint41.Neo4j.Refactoring.Templates
/// Class to produce the template output
/// </summary>

#line 1 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
#line 1 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "16.0.0.0")]
internal partial class CopyProperty : CopyPropertyBase
{
Expand All @@ -32,7 +32,7 @@ internal partial class CopyProperty : CopyPropertyBase
public override string TransformText()
{

#line 8 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
#line 8 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"


Debug.WriteLine(" executing {0} -> Copy properties from {1} to {2} for entity {3}", this.GetType().Name, From, To, Entity.Label.Name);
Expand All @@ -42,42 +42,42 @@ public override string TransformText()
#line hidden
this.Write("MATCH (node:");

#line 12 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
#line 12 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Entity.Label.Name));

#line default
#line hidden
this.Write(")\r\nWHERE NOT EXISTS(node.");

#line 13 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
#line 13 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(To));

#line default
#line hidden
this.Write(") OR node.");

#line 13 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
#line 13 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(From));

#line default
#line hidden
this.Write(" <> node.");

#line 13 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
#line 13 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(To));

#line default
#line hidden
this.Write("\r\nWITH node limit 10000 \r\nSET node.");

#line 15 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
#line 15 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(To));

#line default
#line hidden
this.Write(" = node.");

#line 15 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
#line 15 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CopyProperty.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(From));

#line default
Expand Down
8 changes: 4 additions & 4 deletions Blueprint41/Neo4j/Refactoring/Templates/CreateIndex.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ namespace Blueprint41.Neo4j.Refactoring.Templates
/// Class to produce the template output
/// </summary>

#line 1 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateIndex.tt"
#line 1 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateIndex.tt"
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "16.0.0.0")]
internal partial class CreateIndex : CreateIndexBase
{
Expand All @@ -31,7 +31,7 @@ internal partial class CreateIndex : CreateIndexBase
public override string TransformText()
{

#line 7 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateIndex.tt"
#line 7 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateIndex.tt"


Debug.WriteLine(" executing {0} -> Create INDEX for {1}.{2}", this.GetType().Name, Entity.Name, Property.Name);
Expand All @@ -41,14 +41,14 @@ public override string TransformText()
#line hidden
this.Write("CREATE INDEX ON :");

#line 11 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateIndex.tt"
#line 11 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateIndex.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Entity.Label.Name));

#line default
#line hidden
this.Write("(");

#line 11 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateIndex.tt"
#line 11 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateIndex.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Property.Name));

#line default
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ namespace Blueprint41.Neo4j.Refactoring.Templates
/// Class to produce the template output
/// </summary>

#line 1 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateUniqueConstraint.tt"
#line 1 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateUniqueConstraint.tt"
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "16.0.0.0")]
internal partial class CreateUniqueConstraint : CreateUniqueConstraintBase
{
Expand All @@ -31,7 +31,7 @@ internal partial class CreateUniqueConstraint : CreateUniqueConstraintBase
public override string TransformText()
{

#line 7 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateUniqueConstraint.tt"
#line 7 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateUniqueConstraint.tt"


Debug.WriteLine(" executing {0} -> Create unique constraint for {1}.{2}", this.GetType().Name, Entity.Name, Property.Name);
Expand All @@ -41,14 +41,14 @@ public override string TransformText()
#line hidden
this.Write("CREATE CONSTRAINT ON (node:");

#line 11 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateUniqueConstraint.tt"
#line 11 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateUniqueConstraint.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Entity.Label.Name));

#line default
#line hidden
this.Write(") ASSERT node.");

#line 11 "C:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateUniqueConstraint.tt"
#line 11 "D:\_CirclesArrows\blueprint41\Blueprint41\Neo4j\Refactoring\Templates\CreateUniqueConstraint.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Property.Name));

#line default
Expand Down
Loading

0 comments on commit ae3f2e4

Please sign in to comment.