Skip to content

Commit f8c6459

Browse files
authored
Revert "Implement RTDB Query get (#7110)" (#7262)
This reverts commit 55f27b5.
1 parent 60e10d2 commit f8c6459

File tree

11 files changed

+40
-424
lines changed

11 files changed

+40
-424
lines changed

FirebaseDatabase/CHANGELOG.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# v7.2.0
22
- [added] Made emulator connection API consistent between Auth, Database, Firestore, and Functions (#5916).
3-
- [added] Added `DatabaseQuery#getData` which returns data from the server when cache is stale (#7110).
43

54
# v7.0.0
65
- [fixed] Disabled a deprecation warning. (#6502)

FirebaseDatabase/Sources/Api/FIRDatabaseQuery.m

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -581,13 +581,6 @@ - (void)keepSynced:(BOOL)keepSynced {
581581
});
582582
}
583583

584-
- (void)getDataWithCompletionBlock:(void (^)(NSError *__nullable error,
585-
FIRDataSnapshot *snapshot))block {
586-
dispatch_async([FIRDatabaseQuery sharedQueue], ^{
587-
[self.repo getData:self withCompletionBlock:block];
588-
});
589-
}
590-
591584
- (void)observeSingleEventOfType:(FIRDataEventType)eventType
592585
withBlock:(fbt_void_datasnapshot)block {
593586

FirebaseDatabase/Sources/Api/Private/FTypedefs_Private.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ typedef BOOL (^fbt_bool_nsstring_node)(NSString *, id<FNode>);
4646
typedef void (^fbt_void_path_node_marray)(FPath *, id<FNode>, NSMutableArray *);
4747
typedef BOOL (^fbt_bool_void)(void);
4848
typedef void (^fbt_void_nsstring_nsstring)(NSString *str1, NSString *str2);
49-
typedef void (^fbt_void_nsstring_id_nsstring)(NSString *str1, id dict1,
50-
NSString *str2);
5149
typedef void (^fbt_void_nsstring_nserror)(NSString *str, NSError *error);
5250
typedef BOOL (^fbt_bool_path)(FPath *str);
5351
typedef void (^fbt_void_id)(id data);

FirebaseDatabase/Sources/Constants/FConstants.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ FOUNDATION_EXPORT NSString *const kFWPRequestAction;
3232
FOUNDATION_EXPORT NSString *const kFWPResponseForRNData;
3333
FOUNDATION_EXPORT NSString *const kFWPResponseForActionStatus;
3434
FOUNDATION_EXPORT NSString *const kFWPResponseForActionStatusOk;
35-
FOUNDATION_EXPORT NSString *const kFWPResponseForActionStatusFailed;
3635
FOUNDATION_EXPORT NSString *const kFWPResponseForActionStatusDataStale;
3736
FOUNDATION_EXPORT NSString *const kFWPResponseForActionData;
3837
FOUNDATION_EXPORT NSString *const kFWPResponseDataWarnings;
@@ -76,7 +75,6 @@ FOUNDATION_EXPORT NSString *const kFWPAsyncServerControlMessageReset;
7675

7776
FOUNDATION_EXPORT NSString *const kFWPRequestActionPut;
7877
FOUNDATION_EXPORT NSString *const kFWPRequestActionMerge;
79-
FOUNDATION_EXPORT NSString *const kFWPRequestActionGet;
8078
FOUNDATION_EXPORT NSString *const kFWPRequestActionTaggedListen;
8179
FOUNDATION_EXPORT NSString *const kFWPRequestActionTaggedUnlisten;
8280
FOUNDATION_EXPORT NSString
@@ -107,11 +105,9 @@ FOUNDATION_EXPORT NSString *const kFWPRequestStatus;
107105
FOUNDATION_EXPORT NSString *const kWireProtocolVersionParam;
108106
FOUNDATION_EXPORT NSString *const kWebsocketProtocolVersion;
109107
FOUNDATION_EXPORT NSString *const kWebsocketServerKillPacket;
110-
FOUNDATION_EXPORT NSString *const kPersistentConnectionOffline;
111108
FOUNDATION_EXPORT const int kWebsocketMaxFrameSize;
112109
FOUNDATION_EXPORT NSUInteger const kWebsocketKeepaliveInterval;
113110
FOUNDATION_EXPORT NSUInteger const kWebsocketConnectTimeout;
114-
FOUNDATION_EXPORT UInt64 const kPersistentConnectionGetConnectTimeout;
115111

116112
FOUNDATION_EXPORT float const kPersistentConnReconnectMinDelay;
117113
FOUNDATION_EXPORT float const kPersistentConnReconnectMaxDelay;

FirebaseDatabase/Sources/Constants/FConstants.m

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
NSString *const kFWPResponseForRNData = @"b";
3030
NSString *const kFWPResponseForActionStatus = @"s";
3131
NSString *const kFWPResponseForActionStatusOk = @"ok";
32-
NSString *const kFWPResponseForActionStatusFailed = @"failed";
3332
NSString *const kFWPResponseForActionStatusDataStale = @"datastale";
3433
NSString *const kFWPResponseForActionData = @"d";
3534
NSString *const kFWPResponseDataWarnings = @"w";
@@ -71,7 +70,6 @@
7170

7271
NSString *const kFWPRequestActionPut = @"p";
7372
NSString *const kFWPRequestActionMerge = @"m";
74-
NSString *const kFWPRequestActionGet = @"g";
7573
NSString *const kFWPRequestActionListen =
7674
@"l"; // {"t": "d", "d": {"r": 1, "a": "l", "b": { "p": "/" } } }
7775
NSString *const kFWPRequestActionUnlisten = @"u";
@@ -101,11 +99,9 @@
10199
NSString *const kWireProtocolVersionParam = @"v";
102100
NSString *const kWebsocketProtocolVersion = @"5";
103101
NSString *const kWebsocketServerKillPacket = @"kill";
104-
NSString *const kPersistentConnectionOffline = @"Client is offline.";
105102
const int kWebsocketMaxFrameSize = 16384;
106103
NSUInteger const kWebsocketKeepaliveInterval = 45;
107104
NSUInteger const kWebsocketConnectTimeout = 30;
108-
UInt64 const kPersistentConnectionGetConnectTimeout = 3 * NSEC_PER_SEC;
109105

110106
float const kPersistentConnReconnectMinDelay = 1.0;
111107
float const kPersistentConnReconnectMaxDelay = 30.0;

FirebaseDatabase/Sources/Core/FPersistentConnection.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,6 @@
6060
- (void)onDisconnectCancelPath:(FPath *)path
6161
withCallback:(fbt_void_nsstring_nsstring)callback;
6262
- (void)ackPuts;
63-
- (void)getDataAtPath:(NSString *)pathString
64-
withParams:(NSDictionary *)queryWireProtocolParams
65-
withCallback:(fbt_void_nsstring_id_nsstring)onComplete;
6663
- (void)purgeOutstandingWrites;
6764

6865
- (void)interruptForReason:(NSString *)reason;

FirebaseDatabase/Sources/Core/FPersistentConnection.m

Lines changed: 4 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,6 @@ @implementation FOutstandingPut
6464

6565
@end
6666

67-
@interface FOutstandingGet : NSObject
68-
69-
@property(nonatomic, strong) NSDictionary *request;
70-
@property(nonatomic, copy) fbt_void_nsstring_id_nsstring onCompleteBlock;
71-
@property(nonatomic) BOOL sent;
72-
73-
@end
74-
75-
@implementation FOutstandingGet
76-
77-
@end
78-
7967
typedef enum {
8068
ConnectionStateDisconnected,
8169
ConnectionStateGettingToken,
@@ -104,11 +92,9 @@ - (void)sendOnDisconnectAction:(NSString *)action
10492
@property(nonatomic, strong) FConnection *realtime;
10593
@property(nonatomic, strong) NSMutableDictionary *listens;
10694
@property(nonatomic, strong) NSMutableDictionary *outstandingPuts;
107-
@property(nonatomic, strong) NSMutableDictionary *outstandingGets;
10895
@property(nonatomic, strong) NSMutableArray *onDisconnectQueue;
10996
@property(nonatomic, strong) FRepoInfo *repoInfo;
11097
@property(nonatomic, strong) FAtomicNumber *putCounter;
111-
@property(nonatomic, strong) FAtomicNumber *getCounter;
11298
@property(nonatomic, strong) FAtomicNumber *requestNumber;
11399
@property(nonatomic, strong) NSMutableDictionary *requestCBHash;
114100
@property(nonatomic, strong) FIRDatabaseConfig *config;
@@ -142,10 +128,8 @@ - (id)initWithRepoInfo:(FRepoInfo *)repoInfo
142128

143129
self.listens = [[NSMutableDictionary alloc] init];
144130
self.outstandingPuts = [[NSMutableDictionary alloc] init];
145-
self.outstandingGets = [[NSMutableDictionary alloc] init];
146131
self.onDisconnectQueue = [[NSMutableArray alloc] init];
147132
self.putCounter = [[FAtomicNumber alloc] init];
148-
self.getCounter = [[FAtomicNumber alloc] init];
149133
self.requestNumber = [[FAtomicNumber alloc] init];
150134
self.requestCBHash = [[NSMutableDictionary alloc] init];
151135
self.unackedListensCount = 0;
@@ -325,10 +309,6 @@ - (BOOL)canSendWrites {
325309
return self->connectionState == ConnectionStateConnected;
326310
}
327311

328-
- (BOOL)canSendReads {
329-
return self->connectionState == ConnectionStateConnected;
330-
}
331-
332312
#pragma mark -
333313
#pragma mark FConnection delegate methods
334314

@@ -727,43 +707,6 @@ - (void)sendPut:(NSNumber *)index {
727707
}];
728708
}
729709

730-
- (void)sendGet:(NSNumber *)index {
731-
NSAssert([self canSendReads],
732-
@"sendGet called when not able to send reads");
733-
FOutstandingGet *get = self.outstandingGets[index];
734-
NSAssert(get != nil, @"sendGet found no outstanding get at index %@",
735-
index);
736-
if ([get sent]) {
737-
return;
738-
}
739-
get.sent = YES;
740-
[self sendAction:kFWPRequestActionGet
741-
body:get.request
742-
sensitive:NO
743-
callback:^(NSDictionary *data) {
744-
FOutstandingGet *currentGet = self.outstandingGets[index];
745-
if (currentGet == get) {
746-
[self.outstandingGets removeObjectForKey:index];
747-
NSString *status =
748-
[data objectForKey:kFWPResponseForActionStatus];
749-
id resultData = [data objectForKey:kFWPResponseForActionData];
750-
if (resultData == (id)[NSNull null]) {
751-
resultData = nil;
752-
}
753-
if ([status isEqualToString:kFWPResponseForActionStatusOk]) {
754-
get.onCompleteBlock(status, resultData, nil);
755-
return;
756-
}
757-
get.onCompleteBlock(status, nil, resultData);
758-
} else {
759-
FFLog(@"I-RDB034045",
760-
@"Ignoring on complete for get %@ because it was "
761-
@"already removed",
762-
index);
763-
}
764-
}];
765-
}
766-
767710
- (void)sendUnlisten:(FPath *)path
768711
queryParams:(FQueryParams *)queryParams
769712
tagId:(NSNumber *)tagId {
@@ -816,46 +759,6 @@ - (void)putInternal:(id)data
816759
}
817760
}
818761

819-
- (void)getDataAtPath:(NSString *)pathString
820-
withParams:(NSDictionary *)queryWireProtocolParams
821-
withCallback:(fbt_void_nsstring_id_nsstring)onComplete {
822-
NSMutableDictionary *request = [NSMutableDictionary
823-
dictionaryWithObjectsAndKeys:pathString, kFWPRequestPath,
824-
queryWireProtocolParams,
825-
kFWPRequestQueries, nil];
826-
FOutstandingGet *get = [[FOutstandingGet alloc] init];
827-
get.request = request;
828-
get.onCompleteBlock = onComplete;
829-
get.sent = NO;
830-
831-
NSNumber *index = [self.getCounter getAndIncrement];
832-
self.outstandingGets[index] = get;
833-
834-
if (![self connected]) {
835-
dispatch_after(dispatch_time(DISPATCH_TIME_NOW,
836-
kPersistentConnectionGetConnectTimeout),
837-
self.dispatchQueue, ^{
838-
FOutstandingGet *get = self.outstandingGets[index];
839-
if ([get sent]) {
840-
return;
841-
}
842-
FFLog(@"I-RDB034045",
843-
@"get %@ timed out waiting for a connection",
844-
index);
845-
get.sent = YES;
846-
[self.outstandingGets removeObjectForKey:index];
847-
get.onCompleteBlock(kFWPResponseForActionStatusFailed,
848-
nil, kPersistentConnectionOffline);
849-
});
850-
return;
851-
}
852-
853-
if ([self canSendReads]) {
854-
FFLog(@"I-RDB034024", @"Sending get: %@", index);
855-
[self sendGet:index];
856-
}
857-
}
858-
859762
- (void)sendListen:(FOutstandingQuery *)listenSpec {
860763
FQuerySpec *query = listenSpec.query;
861764
FFLog(@"I-RDB034026", @"Listen for %@", query);
@@ -1095,30 +998,17 @@ - (void)restoreState {
1095998
[self sendListen:outstandingListen];
1096999
}];
10971000

1098-
NSArray *putKeys = [[self.outstandingPuts allKeys]
1001+
NSArray *keys = [[self.outstandingPuts allKeys]
10991002
sortedArrayUsingSelector:@selector(compare:)];
1100-
for (int i = 0; i < [putKeys count]; i++) {
1101-
if ([self.outstandingPuts objectForKey:[putKeys objectAtIndex:i]] !=
1102-
nil) {
1003+
for (int i = 0; i < [keys count]; i++) {
1004+
if ([self.outstandingPuts objectForKey:[keys objectAtIndex:i]] != nil) {
11031005
FFLog(@"I-RDB034037", @"Restoring put: %d", i);
1104-
[self sendPut:[putKeys objectAtIndex:i]];
1006+
[self sendPut:[keys objectAtIndex:i]];
11051007
} else {
11061008
FFLog(@"I-RDB034038", @"Restoring put: skipped nil: %d", i);
11071009
}
11081010
}
11091011

1110-
NSArray *getKeys = [[self.outstandingGets allKeys]
1111-
sortedArrayUsingSelector:@selector(compare:)];
1112-
for (int i = 0; i < [getKeys count]; i++) {
1113-
if ([self.outstandingGets objectForKey:[getKeys objectAtIndex:i]] !=
1114-
nil) {
1115-
FFLog(@"I-RDB034037", @"Restoring get: %d", i);
1116-
[self sendGet:[getKeys objectAtIndex:i]];
1117-
} else {
1118-
FFLog(@"I-RDB034038", @"Restoring get: skipped nil: %d", i);
1119-
}
1120-
}
1121-
11221012
for (FTupleOnDisconnect *tuple in self.onDisconnectQueue) {
11231013
[self sendOnDisconnectAction:tuple.action
11241014
forPath:tuple.pathString

FirebaseDatabase/Sources/Core/FRepo.h

Lines changed: 36 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#import "FirebaseDatabase/Sources/Core/FPersistentConnection.h"
1818
#import "FirebaseDatabase/Sources/Core/FRepoInfo.h"
1919
#import "FirebaseDatabase/Sources/Public/FirebaseDatabase/FIRDataEventType.h"
20-
#import "FirebaseDatabase/Sources/Public/FirebaseDatabase/FIRDatabaseQuery.h"
2120
#import "FirebaseDatabase/Sources/Utilities/Tuples/FTupleUserCallback.h"
2221
#import <Foundation/Foundation.h>
2322

@@ -32,71 +31,63 @@
3231

3332
@interface FRepo : NSObject <FPersistentConnectionDelegate>
3433

35-
@property(nonatomic, strong) FIRDatabaseConfig *_Nullable config;
34+
@property(nonatomic, strong) FIRDatabaseConfig *config;
3635

37-
- (id _Nonnull)initWithRepoInfo:(FRepoInfo *_Nullable)info
38-
config:(FIRDatabaseConfig *_Nullable)config
39-
database:(FIRDatabase *_Nullable)database;
36+
- (id)initWithRepoInfo:(FRepoInfo *)info
37+
config:(FIRDatabaseConfig *)config
38+
database:(FIRDatabase *)database;
4039

41-
- (void)set:(FPath *_Nullable)path
42-
withNode:(id _Nullable)node
43-
withCallback:(fbt_void_nserror_ref _Nullable)onComplete;
44-
- (void)update:(FPath *_Nullable)path
45-
withNodes:(FCompoundWrite *_Nullable)compoundWrite
46-
withCallback:(fbt_void_nserror_ref _Nullable)callback;
40+
- (void)set:(FPath *)path
41+
withNode:(id)node
42+
withCallback:(fbt_void_nserror_ref)onComplete;
43+
- (void)update:(FPath *)path
44+
withNodes:(FCompoundWrite *)compoundWrite
45+
withCallback:(fbt_void_nserror_ref)callback;
4746
- (void)purgeOutstandingWrites;
4847

49-
- (void)getData:(FIRDatabaseQuery *_Nullable)query
50-
withCompletionBlock:
51-
(void (^_Nonnull)(NSError *_Nullable error,
52-
FIRDataSnapshot *_Nullable snapshot))block;
48+
- (void)addEventRegistration:(id<FEventRegistration>)eventRegistration
49+
forQuery:(FQuerySpec *)query;
50+
- (void)removeEventRegistration:(id<FEventRegistration>)eventRegistration
51+
forQuery:(FQuerySpec *)query;
52+
- (void)keepQuery:(FQuerySpec *)query synced:(BOOL)synced;
5353

54-
- (void)addEventRegistration:(id<FEventRegistration> _Nullable)eventRegistration
55-
forQuery:(FQuerySpec *_Nullable)query;
56-
- (void)removeEventRegistration:
57-
(id<FEventRegistration> _Nullable)eventRegistration
58-
forQuery:(FQuerySpec *_Nullable)query;
59-
- (void)keepQuery:(FQuerySpec *_Nullable)query synced:(BOOL)synced;
60-
61-
- (NSString *_Nullable)name;
54+
- (NSString *)name;
6255
- (NSTimeInterval)serverTime;
6356

64-
- (void)onDataUpdate:(FPersistentConnection *_Nullable)fpconnection
65-
forPath:(NSString *_Nullable)pathString
66-
message:(id _Nullable)message
57+
- (void)onDataUpdate:(FPersistentConnection *)fpconnection
58+
forPath:(NSString *)pathString
59+
message:(id)message
6760
isMerge:(BOOL)isMerge
68-
tagId:(NSNumber *_Nullable)tagId;
69-
- (void)onConnect:(FPersistentConnection *_Nullable)fpconnection;
70-
- (void)onDisconnect:(FPersistentConnection *_Nullable)fpconnection;
61+
tagId:(NSNumber *)tagId;
62+
- (void)onConnect:(FPersistentConnection *)fpconnection;
63+
- (void)onDisconnect:(FPersistentConnection *)fpconnection;
7164

7265
// Disconnect methods
73-
- (void)onDisconnectCancel:(FPath *_Nullable)path
74-
withCallback:(fbt_void_nserror_ref _Nullable)callback;
75-
- (void)onDisconnectSet:(FPath *_Nullable)path
76-
withNode:(id<FNode> _Nullable)node
77-
withCallback:(fbt_void_nserror_ref _Nullable)callback;
78-
- (void)onDisconnectUpdate:(FPath *_Nullable)path
79-
withNodes:(FCompoundWrite *_Nullable)compoundWrite
80-
withCallback:(fbt_void_nserror_ref _Nullable)callback;
66+
- (void)onDisconnectCancel:(FPath *)path
67+
withCallback:(fbt_void_nserror_ref)callback;
68+
- (void)onDisconnectSet:(FPath *)path
69+
withNode:(id<FNode>)node
70+
withCallback:(fbt_void_nserror_ref)callback;
71+
- (void)onDisconnectUpdate:(FPath *)path
72+
withNodes:(FCompoundWrite *)compoundWrite
73+
withCallback:(fbt_void_nserror_ref)callback;
8174

8275
// Connection Management.
8376
- (void)interrupt;
8477
- (void)resume;
8578

8679
// Transactions
87-
- (void)startTransactionOnPath:(FPath *_Nullable)path
88-
update:
89-
(fbt_transactionresult_mutabledata _Nullable)update
90-
onComplete:
91-
(fbt_void_nserror_bool_datasnapshot _Nullable)onComplete
80+
- (void)startTransactionOnPath:(FPath *)path
81+
update:(fbt_transactionresult_mutabledata)update
82+
onComplete:(fbt_void_nserror_bool_datasnapshot)onComplete
9283
withLocalEvents:(BOOL)applyLocally;
9384

9485
// Testing methods
95-
- (NSDictionary *_Nullable)dumpListens;
86+
- (NSDictionary *)dumpListens;
9687
- (void)dispose;
9788
- (void)setHijackHash:(BOOL)hijack;
9889

99-
@property(nonatomic, strong, readonly) FAuthenticationManager *_Nullable auth;
100-
@property(nonatomic, strong, readonly) FIRDatabase *_Nullable database;
90+
@property(nonatomic, strong, readonly) FAuthenticationManager *auth;
91+
@property(nonatomic, strong, readonly) FIRDatabase *database;
10192

10293
@end

0 commit comments

Comments
 (0)