@@ -400,14 +400,17 @@ - (BOOL)sjInsertOrUpdateDataWithModels:(NSArray<id<SJDBMapUseProtocol>> *)models
400
400
// 优先 插入自增主键类
401
401
[hasAutoPrimaryKeyModelsSetM enumerateObjectsUsingBlock: ^(id <SJDBMapUseProtocol> _Nonnull model, BOOL * _Nonnull stop) {
402
402
if ( [model class ] != uM.ownerCls ) uM = [self sjGetUnderstandingWithClass: [model class ]];
403
- [self sjInsertOrUpdateDataWithModel: model uM: uM];
403
+ result = [self sjInsertOrUpdateDataWithModel: model uM: uM];
404
+ if ( !result ) *stop = YES ;
404
405
}];
405
406
406
- // 插入 主键类
407
- [hasPrimaryKeyModelsSetM enumerateObjectsUsingBlock: ^(id <SJDBMapUseProtocol> _Nonnull model, BOOL * _Nonnull stop) {
408
- if ( [model class ] != uM.ownerCls ) uM = [self sjGetUnderstandingWithClass: [model class ]];
409
- [self sjInsertOrUpdateDataWithModel: model uM: uM];
410
- }];
407
+ if ( result ) {
408
+ // 插入 主键类
409
+ [hasPrimaryKeyModelsSetM enumerateObjectsUsingBlock: ^(id <SJDBMapUseProtocol> _Nonnull model, BOOL * _Nonnull stop) {
410
+ if ( [model class ] != uM.ownerCls ) uM = [self sjGetUnderstandingWithClass: [model class ]];
411
+ [self sjInsertOrUpdateDataWithModel: model uM: uM];
412
+ }];
413
+ }
411
414
412
415
if ( enableTransaction ) [self _sjCommitTransaction ];
413
416
return result;
@@ -658,9 +661,10 @@ - (BOOL)_sjCreateTab:(Class)cls {
658
661
_sjmystrcat (fieldSql, " " );
659
662
_sjmystrcat (fieldSql, fieldType);
660
663
661
- if ( NULL != strstr (sql, fieldSql) ) continue ;
664
+ if ( NULL != strstr (sql, fieldSql) ) { free (fieldSql); continue ;}
662
665
663
666
_sjmystrcat (sql, fieldSql);
667
+ free (fieldSql);
664
668
665
669
// 如果是自增主键
666
670
if ( NULL != model.autoincrementPrimaryKey &&
@@ -920,7 +924,7 @@ - (BOOL)_sjAlterFields:(Class)cls fields:(NSArray<NSString *> *)fields {
920
924
/* !
921
925
* 获取类中相关的私有变量
922
926
*/
923
- static NSMutableSet <NSString *> *_sjGetIvarNames (Class cls) {
927
+ inline static NSMutableSet <NSString *> *_sjGetIvarNames (Class cls) {
924
928
NSMutableSet <NSString *> *ivarListSetM = [NSMutableSet new ];
925
929
unsigned int outCount = 0 ;
926
930
Ivar *ivarList = class_copyIvarList (cls, &outCount);
@@ -934,7 +938,6 @@ - (BOOL)_sjAlterFields:(Class)cls fields:(NSArray<NSString *> *)fields {
934
938
return ivarListSetM;
935
939
}
936
940
937
-
938
941
@end
939
942
940
943
/* !
0 commit comments