Author: rfm
Date: Sat Jun 27 17:28:03 2015
New Revision: 38714
URL: http://svn.gna.org/viewcvs/gnustep?rev=38714&view=rev
Log:
implement -batch:
Modified:
libs/sqlclient/trunk/ChangeLog
libs/sqlclient/trunk/SQLClient.h
libs/sqlclient/trunk/SQLClient.m
libs/sqlclient/trunk/SQLClientPool.m
Modified: libs/sqlclient/trunk/ChangeLog
URL:
http://svn.gna.org/viewcvs/gnustep/libs/sqlclient/trunk/ChangeLog?rev=38714&r1=38713&r2=38714&view=diff
==============================================================================
--- libs/sqlclient/trunk/ChangeLog (original)
+++ libs/sqlclient/trunk/ChangeLog Sat Jun 27 17:28:03 2015
@@ -1,3 +1,10 @@
+2015-06-27 Richard Frith-Macdonald <[email protected]>
+
+ * SQLClient.h:
+ * SQLClient.m:
+ * SQLClientPool.m:
+ Implement -batch: method for client pools.
+
2015-06-26 Richard Frith-Macdonald <[email protected]>
* SQLClient.h:
Modified: libs/sqlclient/trunk/SQLClient.h
URL:
http://svn.gna.org/viewcvs/gnustep/libs/sqlclient/trunk/SQLClient.h?rev=38714&r1=38713&r2=38714&view=diff
==============================================================================
--- libs/sqlclient/trunk/SQLClient.h (original)
+++ libs/sqlclient/trunk/SQLClient.h Sat Jun 27 17:28:03 2015
@@ -1577,6 +1577,11 @@
*/
- (int) availableConnections;
+/** Creates and returns an autoreleased SQLTransaction instance which will
+ * use the receiver as the database connection to perform transactions.
+ */
+- (SQLTransaction*) batch: (BOOL)stopOnFailure;
+
/**
* Returns the cache used by clients in the pool for storing the results of
* requests made through them. Creates a new cache if necessary.
Modified: libs/sqlclient/trunk/SQLClient.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/sqlclient/trunk/SQLClient.m?rev=38714&r1=38713&r2=38714&view=diff
==============================================================================
--- libs/sqlclient/trunk/SQLClient.m (original)
+++ libs/sqlclient/trunk/SQLClient.m Sat Jun 27 17:28:03 2015
@@ -89,7 +89,9 @@
- (BOOL) _swallowClient: (SQLClient*)client withRetain: (BOOL)shouldRetain;
@end
@interface SQLTransaction (Creation)
-+ (SQLTransaction*) _transactionUsing: (id)clientOrPool;
++ (SQLTransaction*) _transactionUsing: (id)clientOrPool
+ batch: (BOOL)isBatched
+ stop: (BOOL)stopOnFailure;
@end
@implementation SQLRecordKeys
@@ -2783,16 +2785,9 @@
- (SQLTransaction*) batch: (BOOL)stopOnFailure
{
- SQLTransaction *transaction;
-
- transaction = (SQLTransaction*)NSAllocateObject([SQLTransaction class], 0,
- NSDefaultMallocZone());
-
- transaction->_db = [self retain];
- transaction->_info = [NSMutableArray new];
- transaction->_batch = YES;
- transaction->_stop = stopOnFailure;
- return [(SQLTransaction*)transaction autorelease];
+ return [SQLTransaction _transactionUsing: self
+ batch: YES
+ stop: stopOnFailure];
}
- (NSMutableArray*) columns: (NSMutableArray*)records
@@ -2864,7 +2859,7 @@
- (SQLTransaction*) transaction
{
- return [SQLTransaction _transactionUsing: self];
+ return [SQLTransaction _transactionUsing: self batch: NO stop: NO];
}
@end
@@ -3125,6 +3120,8 @@
@implementation SQLTransaction
+ (SQLTransaction*) _transactionUsing: (id)clientOrPool
+ batch: (BOOL)isBatched
+ stop: (BOOL)stopOnFailure
{
SQLTransaction *transaction;
@@ -3133,6 +3130,8 @@
transaction->_db = [clientOrPool retain];
transaction->_info = [NSMutableArray new];
+ transaction->_batch = isBatched;
+ transaction->_stop = stopOnFailure;
return [transaction autorelease];
}
Modified: libs/sqlclient/trunk/SQLClientPool.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/sqlclient/trunk/SQLClientPool.m?rev=38714&r1=38713&r2=38714&view=diff
==============================================================================
--- libs/sqlclient/trunk/SQLClientPool.m (original)
+++ libs/sqlclient/trunk/SQLClientPool.m Sat Jun 27 17:28:03 2015
@@ -62,7 +62,9 @@
@end
@interface SQLTransaction (Creation)
-+ (SQLTransaction*) _transactionUsing: (id)clientOrPool;
++ (SQLTransaction*) _transactionUsing: (id)clientOrPool
+ batch: (BOOL)isBatched
+ stop: (BOOL)stopOnFailure;
@end
@implementation SQLClientPool
@@ -83,6 +85,13 @@
}
[self _unlock];
return available;
+}
+
+- (SQLTransaction*) batch: (BOOL)stopOnFailure
+{
+ return [SQLTransaction _transactionUsing: self
+ batch: YES
+ stop: stopOnFailure];
}
- (GSCache*) cache
@@ -755,7 +764,9 @@
- (SQLTransaction*) transaction
{
- return [SQLTransaction _transactionUsing: self];
+ return [SQLTransaction _transactionUsing: self
+ batch: NO
+ stop: NO];
}
@end
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs