Skip to content

Commit f5e5a00

Browse files
committed
add IsNotProperty Tag
1 parent 5287dcd commit f5e5a00

File tree

12 files changed

+144
-7
lines changed

12 files changed

+144
-7
lines changed

build/version.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<PropertyGroup>
33
<VersionMajor>4</VersionMajor>
44
<VersionMinor>0</VersionMinor>
5-
<VersionPatch>63</VersionPatch>
5+
<VersionPatch>65</VersionPatch>
66
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionPatch)</VersionPrefix>
77
</PropertyGroup>
88
</Project>

doc/Schema/SmartSql.Schema.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<metadata>
44
<id>SmartSql.Schema</id>
55
<title>SmartSql Schema for Intellisense(TM)</title>
6-
<version>4.0.42</version>
6+
<version>4.0.65</version>
77
<authors>Ahoo Wang</authors>
88
<owners>Ahoo Wang</owners>
99
<requireLicenseAcceptance>false</requireLicenseAcceptance>

doc/Schema/SmartSqlMap.xsd

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@
200200
<xs:element ref="IsFalse" />
201201
<xs:element ref="Range" />
202202
<xs:element ref="IsProperty" />
203+
<xs:element ref="IsNotProperty" />
203204
<xs:element ref="Script" />
204205
<xs:element ref="Placeholder" />
205206
<xs:element ref="Dynamic" />
@@ -229,6 +230,7 @@
229230
<xs:element ref="IsFalse" />
230231
<xs:element ref="Range" />
231232
<xs:element ref="IsProperty" />
233+
<xs:element ref="IsNotProperty" />
232234
<xs:element ref="Script" />
233235
<xs:element ref="Placeholder" />
234236
<xs:element ref="Dynamic" />
@@ -268,6 +270,7 @@
268270
<xs:element ref="IsFalse" />
269271
<xs:element ref="Range" />
270272
<xs:element ref="IsProperty" />
273+
<xs:element ref="IsNotProperty" />
271274
<xs:element ref="Script" />
272275
<xs:element ref="Placeholder" />
273276
<xs:element ref="Dynamic" />
@@ -299,6 +302,7 @@
299302
<xs:element ref="IsFalse" />
300303
<xs:element ref="Range" />
301304
<xs:element ref="IsProperty" />
305+
<xs:element ref="IsNotProperty" />
302306
<xs:element ref="Script" />
303307
<xs:element ref="Placeholder" />
304308
<xs:element ref="Dynamic" />
@@ -331,6 +335,7 @@
331335
<xs:element ref="IsFalse" />
332336
<xs:element ref="Range" />
333337
<xs:element ref="IsProperty" />
338+
<xs:element ref="IsNotProperty" />
334339
<xs:element ref="Script" />
335340
<xs:element ref="Placeholder" />
336341
<xs:element ref="Dynamic" />
@@ -363,6 +368,7 @@
363368
<xs:element ref="IsFalse" />
364369
<xs:element ref="Range" />
365370
<xs:element ref="IsProperty" />
371+
<xs:element ref="IsNotProperty" />
366372
<xs:element ref="Script" />
367373
<xs:element ref="Placeholder" />
368374
<xs:element ref="Dynamic" />
@@ -395,6 +401,7 @@
395401
<xs:element ref="IsFalse" />
396402
<xs:element ref="Range" />
397403
<xs:element ref="IsProperty" />
404+
<xs:element ref="IsNotProperty" />
398405
<xs:element ref="Script" />
399406
<xs:element ref="Placeholder" />
400407
<xs:element ref="Dynamic" />
@@ -427,6 +434,7 @@
427434
<xs:element ref="IsFalse" />
428435
<xs:element ref="Range" />
429436
<xs:element ref="IsProperty" />
437+
<xs:element ref="IsNotProperty" />
430438
<xs:element ref="Script" />
431439
<xs:element ref="Placeholder" />
432440
<xs:element ref="Dynamic" />
@@ -459,6 +467,7 @@
459467
<xs:element ref="IsFalse" />
460468
<xs:element ref="Range" />
461469
<xs:element ref="IsProperty" />
470+
<xs:element ref="IsNotProperty" />
462471
<xs:element ref="Script" />
463472
<xs:element ref="Placeholder" />
464473
<xs:element ref="Dynamic" />
@@ -490,6 +499,7 @@
490499
<xs:element ref="IsFalse" />
491500
<xs:element ref="Range" />
492501
<xs:element ref="IsProperty" />
502+
<xs:element ref="IsNotProperty" />
493503
<xs:element ref="Script" />
494504
<xs:element ref="Placeholder" />
495505
<xs:element ref="Dynamic" />
@@ -522,6 +532,7 @@
522532
<xs:element ref="IsFalse" />
523533
<xs:element ref="Range" />
524534
<xs:element ref="IsProperty" />
535+
<xs:element ref="IsNotProperty" />
525536
<xs:element ref="Script" />
526537
<xs:element ref="Placeholder" />
527538
<xs:element ref="Dynamic" />
@@ -553,6 +564,7 @@
553564
<xs:element ref="IsFalse" />
554565
<xs:element ref="Range" />
555566
<xs:element ref="IsProperty" />
567+
<xs:element ref="IsNotProperty" />
556568
<xs:element ref="Script" />
557569
<xs:element ref="Placeholder" />
558570
<xs:element ref="Dynamic" />
@@ -584,6 +596,7 @@
584596
<xs:element ref="IsFalse" />
585597
<xs:element ref="Range" />
586598
<xs:element ref="IsProperty" />
599+
<xs:element ref="IsNotProperty" />
587600
<xs:element ref="Script" />
588601
<xs:element ref="Placeholder" />
589602
<xs:element ref="Dynamic" />
@@ -615,6 +628,7 @@
615628
<xs:element ref="IsFalse" />
616629
<xs:element ref="Range" />
617630
<xs:element ref="IsProperty" />
631+
<xs:element ref="IsNotProperty" />
618632
<xs:element ref="Script" />
619633
<xs:element ref="Placeholder" />
620634
<xs:element ref="Dynamic" />
@@ -646,6 +660,7 @@
646660
<xs:element ref="IsFalse" />
647661
<xs:element ref="Range" />
648662
<xs:element ref="IsProperty" />
663+
<xs:element ref="IsNotProperty" />
649664
<xs:element ref="Placeholder" />
650665
<xs:element ref="Dynamic" />
651666
<xs:element ref="Where" />
@@ -678,6 +693,37 @@
678693
<xs:element ref="IsFalse" />
679694
<xs:element ref="Range" />
680695
<xs:element ref="IsProperty" />
696+
<xs:element ref="IsNotProperty" />
697+
<xs:element ref="Placeholder" />
698+
<xs:element ref="Dynamic" />
699+
<xs:element ref="Where" />
700+
<xs:element ref="For" />
701+
<xs:element ref="Env" />
702+
</xs:choice>
703+
<xs:attribute name="Prepend" type="xs:string" use="optional" />
704+
<xs:attribute name="Property" type="xs:string" use="required" />
705+
</xs:complexType>
706+
</xs:element>
707+
<xs:element name="IsNotProperty">
708+
<xs:complexType mixed="true">
709+
<xs:choice minOccurs="0" maxOccurs="unbounded">
710+
<xs:element ref="IsEmpty" />
711+
<xs:element ref="IsEqual" />
712+
<xs:element ref="IsGreaterEqual" />
713+
<xs:element ref="IsGreaterThan" />
714+
<xs:element ref="IsLessEqual" />
715+
<xs:element ref="IsLessThan" />
716+
<xs:element ref="IsNotEmpty" />
717+
<xs:element ref="IsNotEqual" />
718+
<xs:element ref="IsNotNull" />
719+
<xs:element ref="IsNull" />
720+
<xs:element ref="Include" />
721+
<xs:element ref="Switch" />
722+
<xs:element ref="IsTrue" />
723+
<xs:element ref="IsFalse" />
724+
<xs:element ref="Range" />
725+
<xs:element ref="IsProperty" />
726+
<xs:element ref="IsNotProperty" />
681727
<xs:element ref="Placeholder" />
682728
<xs:element ref="Dynamic" />
683729
<xs:element ref="Where" />
@@ -707,6 +753,7 @@
707753
<xs:element ref="IsFalse" />
708754
<xs:element ref="Range" />
709755
<xs:element ref="IsProperty" />
756+
<xs:element ref="IsNotProperty" />
710757
<xs:element ref="Script" />
711758
<xs:element ref="Placeholder" />
712759
<xs:element ref="Dynamic" />
@@ -744,6 +791,7 @@
744791
<xs:element ref="IsFalse" />
745792
<xs:element ref="Range" />
746793
<xs:element ref="IsProperty" />
794+
<xs:element ref="IsNotProperty" />
747795
<xs:element ref="Script" />
748796
<xs:element ref="Placeholder" />
749797
<xs:element ref="Dynamic" />
@@ -775,6 +823,7 @@
775823
<xs:element ref="IsFalse" />
776824
<xs:element ref="Range" />
777825
<xs:element ref="IsProperty" />
826+
<xs:element ref="IsNotProperty" />
778827
<xs:element ref="Script" />
779828
<xs:element ref="Placeholder" />
780829
<xs:element ref="Dynamic" />
@@ -804,6 +853,7 @@
804853
<xs:element ref="IsFalse" />
805854
<xs:element ref="Range" />
806855
<xs:element ref="IsProperty" />
856+
<xs:element ref="IsNotProperty" />
807857
<xs:element ref="Script" />
808858
<xs:element ref="Placeholder" />
809859
<xs:element ref="For" />
@@ -831,6 +881,7 @@
831881
<xs:element ref="IsFalse" />
832882
<xs:element ref="Range" />
833883
<xs:element ref="IsProperty" />
884+
<xs:element ref="IsNotProperty" />
834885
<xs:element ref="Script" />
835886
<xs:element ref="Placeholder" />
836887
<xs:element ref="Dynamic" />
@@ -866,6 +917,7 @@
866917
<xs:element ref="IsFalse" />
867918
<xs:element ref="Range" />
868919
<xs:element ref="IsProperty" />
920+
<xs:element ref="IsNotProperty" />
869921
<xs:element ref="Script" />
870922
<xs:element ref="Placeholder" />
871923
<xs:element ref="Dynamic" />
@@ -904,6 +956,7 @@
904956
<xs:element ref="IsFalse" />
905957
<xs:element ref="Range" />
906958
<xs:element ref="IsProperty" />
959+
<xs:element ref="IsNotProperty" />
907960
<xs:element ref="Script" />
908961
<xs:element ref="Placeholder" />
909962
<xs:element ref="Dynamic" />

src/SmartSql.Test.Unit/Cache/RedisCacheProviderTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public RedisCacheProviderTest(SmartSqlFixture smartSqlFixture)
1616
{
1717
SqlMapper = smartSqlFixture.SqlMapper;
1818
}
19-
//[Fact]
19+
[Fact]
2020
public void QueryByRedisCache()
2121
{
2222
var list = SqlMapper.Query<AllPrimitive>(new RequestContext

src/SmartSql.Test.Unit/Maps/AllPrimitive.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,9 @@
119119

120120
</Where>
121121
</Statement>
122-
<!--<Statement Id="QueryByRedisCache" Cache="RedisCache">
122+
<Statement Id="QueryByRedisCache" Cache="RedisCache">
123123
SELECT Top 6 T.* From T_AllPrimitive T;
124-
</Statement>-->
124+
</Statement>
125125
<Statement Id="QueryByLruCache" Cache="LruCache">
126126
SELECT Top 6 T.* From T_AllPrimitive T;
127127
</Statement>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<!--
3+
//*******************************
4+
// Create By Ahoo Wang
5+
// Date 2019-01-24 17:54
6+
// Code Generate By SmartCode
7+
// Code Generate Github : https://github.com/Ahoo-Wang/SmartCode
8+
//*******************************-->
9+
10+
<SmartSqlMap Scope="IsNotPropertyTest" xmlns="http://SmartSql.net/schemas/SmartSqlMap.xsd">
11+
<Statements>
12+
<Statement Id="IsNotProperty_Test">
13+
<IsNotProperty Property="IsDelete">
14+
Select 'IsNotProperty IsDelete'
15+
</IsNotProperty>
16+
</Statement>
17+
</Statements>
18+
</SmartSqlMap>

src/SmartSql.Test.Unit/SmartSql.Test.Unit.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
<ItemGroup>
1010
<None Remove="Maps\User.xml" />
1111
<None Remove="SmartSqlMapConfig-Embedded.xml" />
12+
<None Update="Maps\IsNotPropertyTest.xml">
13+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
14+
</None>
1215
</ItemGroup>
1316

1417
<ItemGroup>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using System;
2+
using Xunit;
3+
4+
namespace SmartSql.Test.Unit.Tags
5+
{
6+
[Collection("GlobalSmartSql")]
7+
public class IsNotPropertyTest
8+
{
9+
protected ISqlMapper SqlMapper { get; }
10+
11+
public IsNotPropertyTest(SmartSqlFixture smartSqlFixture)
12+
{
13+
SqlMapper = smartSqlFixture.SqlMapper;
14+
}
15+
[Fact]
16+
public void IsNotProperty_Test()
17+
{
18+
var msg = SqlMapper.ExecuteScalar<String>(new RequestContext
19+
{
20+
Scope = nameof(IsNotPropertyTest),
21+
SqlId = "IsNotProperty_Test"
22+
});
23+
Assert.Equal("IsNotProperty IsDelete",msg);
24+
}
25+
}
26+
}

src/SmartSql.Test/Maps/User.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
<IsNotEmpty Prepend="And" Property="Status">
3030
T.Status = @Status
3131
</IsNotEmpty>
32+
<Switch Prepend="And" Property="Index">
33+
<Case CompareValue="1">1=1</Case>
34+
</Switch>
3235
</Where>
3336
</Statement>
3437

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace SmartSql.Configuration.Tags
2+
{
3+
public class IsNotProperty : Tag
4+
{
5+
public override bool IsCondition(AbstractRequestContext context)
6+
{
7+
return !context.Parameters.ContainsKey(Property);
8+
}
9+
}
10+
}

0 commit comments

Comments
 (0)