Monotone-Parent: 962a83d2b39bca57d666c58151e93ea62a7cd0d3
Monotone-Revision: 917b856310d41617cad0757859d22615b99fed50 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-11-20T22:18:30 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
parent
e636fc143e
commit
45deea7dfb
|
@ -1,204 +1,6 @@
|
||||||
Index: sope-gdl1/PostgreSQL/PostgreSQL72Channel.m
|
|
||||||
===================================================================
|
|
||||||
--- sope-gdl1/PostgreSQL/PostgreSQL72Channel.m (révision 1546)
|
|
||||||
+++ sope-gdl1/PostgreSQL/PostgreSQL72Channel.m (copie de travail)
|
|
||||||
@@ -713,6 +713,39 @@
|
|
||||||
return ms;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* GCSEOAdaptorChannel protocol */
|
|
||||||
+static NSString *sqlFolderFormat = (@"CREATE TABLE %@ (\n" \
|
|
||||||
+ @" c_name VARCHAR (256) NOT NULL,\n"
|
|
||||||
+ @" c_content VARCHAR (100000) NOT NULL,\n"
|
|
||||||
+ @" c_creationdate INT4 NOT NULL,\n"
|
|
||||||
+ @" c_lastmodified INT4 NOT NULL,\n"
|
|
||||||
+ @" c_version INT4 NOT NULL,\n"
|
|
||||||
+ @" c_deleted INT4 NULL\n"
|
|
||||||
+ @")");
|
|
||||||
+static NSString *sqlFolderACLFormat = (@"CREATE TABLE %@ (\n" \
|
|
||||||
+ @" c_uid VARCHAR (256) NOT NULL,\n"
|
|
||||||
+ @" c_object VARCHAR (256) NOT NULL,\n"
|
|
||||||
+ @" c_role VARCHAR (80) NOT NULL\n"
|
|
||||||
+ @")");
|
|
||||||
+
|
|
||||||
+- (NSException *) createGCSFolderTableWithName: (NSString *) tableName
|
|
||||||
+{
|
|
||||||
+ NSString *sql;
|
|
||||||
+
|
|
||||||
+ sql = [NSString stringWithFormat: sqlFolderFormat, tableName];
|
|
||||||
+
|
|
||||||
+ return [self evaluateExpressionX: sql];
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+- (NSException *) createGCSFolderACLTableWithName: (NSString *) tableName
|
|
||||||
+{
|
|
||||||
+ NSString *sql;
|
|
||||||
+
|
|
||||||
+ sql = [NSString stringWithFormat: sqlFolderACLFormat, tableName];
|
|
||||||
+
|
|
||||||
+ return [self evaluateExpressionX: sql];
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
@end /* PostgreSQL72Channel */
|
|
||||||
|
|
||||||
@implementation PostgreSQL72Channel(PrimaryKeyGeneration)
|
|
||||||
Index: sope-gdl1/Oracle8/GNUmakefile
|
|
||||||
===================================================================
|
|
||||||
--- sope-gdl1/Oracle8/GNUmakefile (révision 1546)
|
|
||||||
+++ sope-gdl1/Oracle8/GNUmakefile (copie de travail)
|
|
||||||
@@ -28,15 +28,23 @@
|
|
||||||
SOPE_ROOT=../..
|
|
||||||
ORACLE_VERSION=10.2.0.3
|
|
||||||
#ORACLE_VERSION=11.1.0.1
|
|
||||||
-ADDITIONAL_INCLUDE_DIRS += -I../GDLAccess -I.. -I/usr/include/oracle/$(ORACLE_VERSION)/client
|
|
||||||
+ADDITIONAL_INCLUDE_DIRS += -I../../sope-core -I../../sope-core/NGExtensions -I../GDLAccess -I.. -I/usr/include/oracle/$(ORACLE_VERSION)/client
|
|
||||||
|
|
||||||
+local_arch = $(subst 64,,$(shell uname -m))
|
|
||||||
+
|
|
||||||
+ifeq ($(local_arch),ppc)
|
|
||||||
+PPC_LDFLAGS=-L/opt/ibmcmp/lib -libmc++
|
|
||||||
+else
|
|
||||||
+PPC_LDFLAGS=
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
ifneq ($(frameworks),yes)
|
|
||||||
-Oracle8_BUNDLE_LIBS += -L/usr/lib/oracle/$(ORACLE_VERSION)/client/lib/ -locci -lociei -lclntsh -lnnz10 -lGDLAccess -lEOControl
|
|
||||||
-otest_TOOL_LIBS += -L/usr/lib/oracle/$(ORACLE_VERSION)/client/lib/ -locci -lociei -lclntsh -lnnz10 -lGDLAccess -lEOControl
|
|
||||||
+common_LIBS = -L/usr/lib/oracle/$(ORACLE_VERSION)/client/lib/ -locci -lociei -lclntsh -lnnz10 -L../GDLAccess/obj -lGDLAccess -L../../sope-core/EOControl/obj -lEOControl $(PPC_LDFLAGS)
|
|
||||||
else
|
|
||||||
-Oracle8_BUNDLE_LIBS += -L/usr/lib/oracle/$(ORACLE_VERSION)/client/lib/ -locci -lociei -lclntsh -lnnz10 -framework GDLAccess -framework EOControl
|
|
||||||
-otest_TOOL_LIBS += -L/usr/lib/oracle/$(ORACLE_VERSION)/client/lib/ -locci -lociei -lclntsh -lnnz10 -framework GDLAccess -framework EOControl
|
|
||||||
+common_LIBS = -L/usr/lib/oracle/$(ORACLE_VERSION)/client/lib/ -locci -lociei -lclntsh -lnnz10 -framework GDLAccess -framework EOControl $(PPC_LDFLAGS)
|
|
||||||
endif
|
|
||||||
+Oracle8_BUNDLE_LIBS += $(common_LIBS)
|
|
||||||
+otest_TOOL_LIBS += $(common_LIBS)
|
|
||||||
|
|
||||||
# Bundle
|
|
||||||
BUNDLE_NAME = Oracle8
|
|
||||||
Index: sope-gdl1/Oracle8/OracleAdaptorChannel.m
|
|
||||||
===================================================================
|
|
||||||
--- sope-gdl1/Oracle8/OracleAdaptorChannel.m (révision 1546)
|
|
||||||
+++ sope-gdl1/Oracle8/OracleAdaptorChannel.m (copie de travail)
|
|
||||||
@@ -53,14 +53,17 @@
|
|
||||||
while (c--)
|
|
||||||
{
|
|
||||||
info = [[_row_buffer objectAtIndex: c] pointerValue];
|
|
||||||
- [_row_buffer removeObjectAtIndex: c];
|
|
||||||
|
|
||||||
// We free our LOB object. If it fails, it likely mean it isn't a LOB
|
|
||||||
// so we just free the value instead.
|
|
||||||
- if (OCIDescriptorFree((dvoid *)info->value, (ub4)OCI_DTYPE_LOB) != OCI_SUCCESS)
|
|
||||||
- {
|
|
||||||
- free(info->value);
|
|
||||||
- }
|
|
||||||
+ if (info->value)
|
|
||||||
+ {
|
|
||||||
+ if (OCIDescriptorFree((dvoid *)info->value, (ub4)OCI_DTYPE_LOB) != OCI_SUCCESS)
|
|
||||||
+ free(info->value);
|
|
||||||
+ info->value = NULL;
|
|
||||||
+ }
|
|
||||||
+ free(info);
|
|
||||||
+ [_row_buffer removeObjectAtIndex: c];
|
|
||||||
}
|
|
||||||
|
|
||||||
OCIHandleFree(_current_stm, OCI_HTYPE_STMT);
|
|
||||||
@@ -75,6 +78,30 @@
|
|
||||||
//
|
|
||||||
@implementation OracleAdaptorChannel
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+DBTerminate()
|
|
||||||
+{
|
|
||||||
+ if (OCITerminate(OCI_DEFAULT))
|
|
||||||
+ NSLog(@"FAILED: OCITerminate()");
|
|
||||||
+ else
|
|
||||||
+ NSLog(@"Oracle8: environment shut down");
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
++ (void) initialize
|
|
||||||
+{
|
|
||||||
+ // We Initialize the OCI process environment.
|
|
||||||
+ if (OCIInitialize((ub4)OCI_DEFAULT, (dvoid *)0,
|
|
||||||
+ (dvoid * (*)(dvoid *, size_t)) 0,
|
|
||||||
+ (dvoid * (*)(dvoid *, dvoid *, size_t))0,
|
|
||||||
+ (void (*)(dvoid *, dvoid *)) 0 ))
|
|
||||||
+ NSLog(@"FAILED: OCIInitialize()");
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ NSLog(@"Oracle8: environment initialized");
|
|
||||||
+ atexit(DBTerminate);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
- (id) initWithAdaptorContext: (EOAdaptorContext *) theAdaptorContext
|
|
||||||
{
|
|
||||||
if ((self = [super initWithAdaptorContext: theAdaptorContext]))
|
|
||||||
@@ -134,10 +161,14 @@
|
|
||||||
NSLog(@"FAILED: OCILogoff()");
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (OCITerminate(OCI_DEFAULT))
|
|
||||||
- {
|
|
||||||
- NSLog(@"FAILED: OCITerminate()");
|
|
||||||
- }
|
|
||||||
+
|
|
||||||
+ OCIHandleFree(_oci_ctx, OCI_HTYPE_SVCCTX);
|
|
||||||
+ OCIHandleFree(_oci_err, OCI_HTYPE_ERROR);
|
|
||||||
+ // OCIHandleFree(_oci_env, OCI_HTYPE_ENV);
|
|
||||||
+
|
|
||||||
+ _oci_ctx = (OCISvcCtx *)0;
|
|
||||||
+ _oci_err = (OCIError *)0;
|
|
||||||
+ _oci_env = (OCIEnv *)0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -151,11 +182,6 @@
|
|
||||||
[self _cleanup];
|
|
||||||
|
|
||||||
RELEASE(_resultSetProperties);
|
|
||||||
-
|
|
||||||
- OCIHandleFree(_oci_ctx, OCI_HTYPE_SVCCTX);
|
|
||||||
- OCIHandleFree(_oci_err, OCI_HTYPE_ERROR);
|
|
||||||
- OCIHandleFree(_oci_env, OCI_HTYPE_ENV);
|
|
||||||
-
|
|
||||||
RELEASE(delegate);
|
|
||||||
|
|
||||||
[super dealloc];
|
|
||||||
@@ -368,16 +394,7 @@
|
|
||||||
return NO;
|
|
||||||
}
|
|
||||||
|
|
||||||
- // We Initialize the OCI process environment.
|
|
||||||
- if (OCIInitialize((ub4)OCI_DEFAULT, (dvoid *)0,
|
|
||||||
- (dvoid * (*)(dvoid *, size_t)) 0,
|
|
||||||
- (dvoid * (*)(dvoid *, dvoid *, size_t))0,
|
|
||||||
- (void (*)(dvoid *, dvoid *)) 0 ))
|
|
||||||
- {
|
|
||||||
- NSLog(@"FAILED: OCIInitialize()");
|
|
||||||
- return NO;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
+
|
|
||||||
if (OCIEnvInit((OCIEnv **)&_oci_env, (ub4)OCI_DEFAULT, (size_t)0, (dvoid **)0))
|
|
||||||
{
|
|
||||||
NSLog(@"FAILED: OCIEnvInit()");
|
|
||||||
Index: sope-gdl1/Oracle8/OracleAdaptorChannelController.m
|
|
||||||
===================================================================
|
|
||||||
--- sope-gdl1/Oracle8/OracleAdaptorChannelController.m (révision 1546)
|
|
||||||
+++ sope-gdl1/Oracle8/OracleAdaptorChannelController.m (copie de travail)
|
|
||||||
@@ -155,7 +155,9 @@
|
|
||||||
OCILobFreeTemporary([theChannel serviceContext], [theChannel errorHandle], info->value);
|
|
||||||
OCIDescriptorFree((dvoid *)info->value, (ub4)OCI_DTYPE_LOB);
|
|
||||||
}
|
|
||||||
+ free(info);
|
|
||||||
}
|
|
||||||
+ [theColumns release];
|
|
||||||
|
|
||||||
OCIHandleFree(theStatement, OCI_HTYPE_STMT);
|
|
||||||
}
|
|
||||||
Index: sope-mime/NGImap4/NGImap4Connection.m
|
Index: sope-mime/NGImap4/NGImap4Connection.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGImap4/NGImap4Connection.m (révision 1546)
|
--- sope-mime/NGImap4/NGImap4Connection.m (révision 1548)
|
||||||
+++ sope-mime/NGImap4/NGImap4Connection.m (copie de travail)
|
+++ sope-mime/NGImap4/NGImap4Connection.m (copie de travail)
|
||||||
@@ -381,7 +381,7 @@
|
@@ -381,7 +381,7 @@
|
||||||
|
|
||||||
|
@ -211,7 +13,7 @@ Index: sope-mime/NGImap4/NGImap4Connection.m
|
||||||
[self errorWithFormat:@"Could not list mailbox hierarchy!"];
|
[self errorWithFormat:@"Could not list mailbox hierarchy!"];
|
||||||
Index: sope-mime/NGImap4/NGImap4ResponseNormalizer.m
|
Index: sope-mime/NGImap4/NGImap4ResponseNormalizer.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGImap4/NGImap4ResponseNormalizer.m (révision 1546)
|
--- sope-mime/NGImap4/NGImap4ResponseNormalizer.m (révision 1548)
|
||||||
+++ sope-mime/NGImap4/NGImap4ResponseNormalizer.m (copie de travail)
|
+++ sope-mime/NGImap4/NGImap4ResponseNormalizer.m (copie de travail)
|
||||||
@@ -648,14 +648,13 @@
|
@@ -648,14 +648,13 @@
|
||||||
enumerator = [_flags objectEnumerator];
|
enumerator = [_flags objectEnumerator];
|
||||||
|
@ -237,7 +39,7 @@ Index: sope-mime/NGImap4/NGImap4ResponseNormalizer.m
|
||||||
if (objs) free(objs);
|
if (objs) free(objs);
|
||||||
Index: sope-mime/NGImap4/NGImap4ResponseParser.m
|
Index: sope-mime/NGImap4/NGImap4ResponseParser.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGImap4/NGImap4ResponseParser.m (révision 1546)
|
--- sope-mime/NGImap4/NGImap4ResponseParser.m (révision 1548)
|
||||||
+++ sope-mime/NGImap4/NGImap4ResponseParser.m (copie de travail)
|
+++ sope-mime/NGImap4/NGImap4ResponseParser.m (copie de travail)
|
||||||
@@ -84,6 +84,8 @@
|
@@ -84,6 +84,8 @@
|
||||||
static NSDictionary *_parseMultipartBody(NGImap4ResponseParser *self,
|
static NSDictionary *_parseMultipartBody(NGImap4ResponseParser *self,
|
||||||
|
@ -428,7 +230,7 @@ Index: sope-mime/NGImap4/NGImap4ResponseParser.m
|
||||||
{
|
{
|
||||||
Index: sope-mime/NGMail/NGSmtpClient.m
|
Index: sope-mime/NGMail/NGSmtpClient.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGMail/NGSmtpClient.m (révision 1546)
|
--- sope-mime/NGMail/NGSmtpClient.m (révision 1548)
|
||||||
+++ sope-mime/NGMail/NGSmtpClient.m (copie de travail)
|
+++ sope-mime/NGMail/NGSmtpClient.m (copie de travail)
|
||||||
@@ -442,10 +442,10 @@
|
@@ -442,10 +442,10 @@
|
||||||
[self->text flush];
|
[self->text flush];
|
||||||
|
@ -445,7 +247,7 @@ Index: sope-mime/NGMail/NGSmtpClient.m
|
||||||
reply = [self receiveReply];
|
reply = [self receiveReply];
|
||||||
Index: sope-mime/NGMail/NGMimeMessageGenerator.m
|
Index: sope-mime/NGMail/NGMimeMessageGenerator.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGMail/NGMimeMessageGenerator.m (révision 1546)
|
--- sope-mime/NGMail/NGMimeMessageGenerator.m (révision 1548)
|
||||||
+++ sope-mime/NGMail/NGMimeMessageGenerator.m (copie de travail)
|
+++ sope-mime/NGMail/NGMimeMessageGenerator.m (copie de travail)
|
||||||
@@ -86,37 +86,40 @@
|
@@ -86,37 +86,40 @@
|
||||||
char *des = NULL;
|
char *des = NULL;
|
||||||
|
@ -511,7 +313,7 @@ Index: sope-mime/NGMail/NGMimeMessageGenerator.m
|
||||||
unsigned isoEndLen = 2;
|
unsigned isoEndLen = 2;
|
||||||
Index: sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m
|
Index: sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m (révision 1546)
|
--- sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m (révision 1548)
|
||||||
+++ sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m (copie de travail)
|
+++ sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m (copie de travail)
|
||||||
@@ -285,24 +285,16 @@
|
@@ -285,24 +285,16 @@
|
||||||
- (id)parseValue:(id)_data ofHeaderField:(NSString *)_field {
|
- (id)parseValue:(id)_data ofHeaderField:(NSString *)_field {
|
||||||
|
@ -545,7 +347,7 @@ Index: sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m
|
||||||
bytes++;
|
bytes++;
|
||||||
Index: sope-mime/NGMime/NGMimeBodyPart.m
|
Index: sope-mime/NGMime/NGMimeBodyPart.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGMime/NGMimeBodyPart.m (révision 1546)
|
--- sope-mime/NGMime/NGMimeBodyPart.m (révision 1548)
|
||||||
+++ sope-mime/NGMime/NGMimeBodyPart.m (copie de travail)
|
+++ sope-mime/NGMime/NGMimeBodyPart.m (copie de travail)
|
||||||
@@ -31,18 +31,6 @@
|
@@ -31,18 +31,6 @@
|
||||||
return 2;
|
return 2;
|
||||||
|
@ -583,7 +385,7 @@ Index: sope-mime/NGMime/NGMimeBodyPart.m
|
||||||
- (NSString *)contentId {
|
- (NSString *)contentId {
|
||||||
Index: sope-mime/NGMime/NGMimeBodyParser.m
|
Index: sope-mime/NGMime/NGMimeBodyParser.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGMime/NGMimeBodyParser.m (révision 1546)
|
--- sope-mime/NGMime/NGMimeBodyParser.m (révision 1548)
|
||||||
+++ sope-mime/NGMime/NGMimeBodyParser.m (copie de travail)
|
+++ sope-mime/NGMime/NGMimeBodyParser.m (copie de travail)
|
||||||
@@ -67,7 +67,10 @@
|
@@ -67,7 +67,10 @@
|
||||||
if (_data == nil) return nil;
|
if (_data == nil) return nil;
|
||||||
|
@ -599,7 +401,7 @@ Index: sope-mime/NGMime/NGMimeBodyParser.m
|
||||||
|
|
||||||
Index: sope-mime/NGMime/NGMimePartParser.h
|
Index: sope-mime/NGMime/NGMimePartParser.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGMime/NGMimePartParser.h (révision 1546)
|
--- sope-mime/NGMime/NGMimePartParser.h (révision 1548)
|
||||||
+++ sope-mime/NGMime/NGMimePartParser.h (copie de travail)
|
+++ sope-mime/NGMime/NGMimePartParser.h (copie de travail)
|
||||||
@@ -117,6 +117,7 @@
|
@@ -117,6 +117,7 @@
|
||||||
BOOL parserParseRawBodyDataOfPart:1;
|
BOOL parserParseRawBodyDataOfPart:1;
|
||||||
|
@ -621,7 +423,7 @@ Index: sope-mime/NGMime/NGMimePartParser.h
|
||||||
@interface NSObject(NGMimePartParser)
|
@interface NSObject(NGMimePartParser)
|
||||||
Index: sope-mime/NGMime/NGMimePartParser.m
|
Index: sope-mime/NGMime/NGMimePartParser.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGMime/NGMimePartParser.m (révision 1546)
|
--- sope-mime/NGMime/NGMimePartParser.m (révision 1548)
|
||||||
+++ sope-mime/NGMime/NGMimePartParser.m (copie de travail)
|
+++ sope-mime/NGMime/NGMimePartParser.m (copie de travail)
|
||||||
@@ -227,7 +227,7 @@
|
@@ -227,7 +227,7 @@
|
||||||
}
|
}
|
||||||
|
@ -646,7 +448,7 @@ Index: sope-mime/NGMime/NGMimePartParser.m
|
||||||
: [NGMimeType mimeType:[ctype stringValue]];
|
: [NGMimeType mimeType:[ctype stringValue]];
|
||||||
Index: sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m
|
Index: sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m (révision 1546)
|
--- sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m (révision 1548)
|
||||||
+++ sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m (copie de travail)
|
+++ sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m (copie de travail)
|
||||||
@@ -49,80 +49,70 @@
|
@@ -49,80 +49,70 @@
|
||||||
|
|
||||||
|
@ -780,9 +582,53 @@ Index: sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m
|
||||||
}
|
}
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
Index: sope-gdl1/PostgreSQL/PostgreSQL72Channel.m
|
||||||
|
===================================================================
|
||||||
|
--- sope-gdl1/PostgreSQL/PostgreSQL72Channel.m (révision 1548)
|
||||||
|
+++ sope-gdl1/PostgreSQL/PostgreSQL72Channel.m (copie de travail)
|
||||||
|
@@ -713,6 +713,39 @@
|
||||||
|
return ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
+/* GCSEOAdaptorChannel protocol */
|
||||||
|
+static NSString *sqlFolderFormat = (@"CREATE TABLE %@ (\n" \
|
||||||
|
+ @" c_name VARCHAR (256) NOT NULL,\n"
|
||||||
|
+ @" c_content VARCHAR (100000) NOT NULL,\n"
|
||||||
|
+ @" c_creationdate INT4 NOT NULL,\n"
|
||||||
|
+ @" c_lastmodified INT4 NOT NULL,\n"
|
||||||
|
+ @" c_version INT4 NOT NULL,\n"
|
||||||
|
+ @" c_deleted INT4 NULL\n"
|
||||||
|
+ @")");
|
||||||
|
+static NSString *sqlFolderACLFormat = (@"CREATE TABLE %@ (\n" \
|
||||||
|
+ @" c_uid VARCHAR (256) NOT NULL,\n"
|
||||||
|
+ @" c_object VARCHAR (256) NOT NULL,\n"
|
||||||
|
+ @" c_role VARCHAR (80) NOT NULL\n"
|
||||||
|
+ @")");
|
||||||
|
+
|
||||||
|
+- (NSException *) createGCSFolderTableWithName: (NSString *) tableName
|
||||||
|
+{
|
||||||
|
+ NSString *sql;
|
||||||
|
+
|
||||||
|
+ sql = [NSString stringWithFormat: sqlFolderFormat, tableName];
|
||||||
|
+
|
||||||
|
+ return [self evaluateExpressionX: sql];
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+- (NSException *) createGCSFolderACLTableWithName: (NSString *) tableName
|
||||||
|
+{
|
||||||
|
+ NSString *sql;
|
||||||
|
+
|
||||||
|
+ sql = [NSString stringWithFormat: sqlFolderACLFormat, tableName];
|
||||||
|
+
|
||||||
|
+ return [self evaluateExpressionX: sql];
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
@end /* PostgreSQL72Channel */
|
||||||
|
|
||||||
|
@implementation PostgreSQL72Channel(PrimaryKeyGeneration)
|
||||||
Index: sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m
|
Index: sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m (révision 1546)
|
--- sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m (révision 1548)
|
||||||
+++ sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m (copie de travail)
|
+++ sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m (copie de travail)
|
||||||
@@ -140,8 +140,12 @@
|
@@ -140,8 +140,12 @@
|
||||||
|
|
||||||
|
@ -823,9 +669,69 @@ Index: sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *iconv_wrapper(id self, char *_src, unsigned _srcLen,
|
static char *iconv_wrapper(id self, char *_src, unsigned _srcLen,
|
||||||
|
Index: sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.h
|
||||||
|
===================================================================
|
||||||
|
--- sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.h (révision 1548)
|
||||||
|
+++ sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.h (copie de travail)
|
||||||
|
@@ -19,6 +19,8 @@
|
||||||
|
02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include <libxml/encoding.h>
|
||||||
|
+
|
||||||
|
#include <SaxObjC/SaxXMLReader.h>
|
||||||
|
#include <SaxObjC/SaxLexicalHandler.h>
|
||||||
|
#include <SaxObjC/SaxDeclHandler.h>
|
||||||
|
Index: sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.m
|
||||||
|
===================================================================
|
||||||
|
--- sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.m (révision 1548)
|
||||||
|
+++ sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.m (copie de travail)
|
||||||
|
@@ -30,6 +30,12 @@
|
||||||
|
#include <libxml/HTMLparser.h>
|
||||||
|
#include <libxml/HTMLtree.h>
|
||||||
|
|
||||||
|
+@interface NSObject (contentHandlerExtensions) <SaxContentHandler>
|
||||||
|
+
|
||||||
|
+- (xmlCharEncoding) contentEncoding;
|
||||||
|
+
|
||||||
|
+@end
|
||||||
|
+
|
||||||
|
@interface libxmlHTMLSAXDriver(PrivateMethods)
|
||||||
|
|
||||||
|
- (void)tearDownParser;
|
||||||
|
@@ -205,6 +211,7 @@
|
||||||
|
|
||||||
|
- (void)setupParserWithDocumentPath:(NSString *)_path {
|
||||||
|
xmlSAXHandler sax;
|
||||||
|
+ xmlCharEncoding charEncoding;
|
||||||
|
|
||||||
|
if (self->ctxt != NULL) {
|
||||||
|
NSLog(@"WARNING(%s): HTML parser context already setup !",
|
||||||
|
@@ -223,14 +230,18 @@
|
||||||
|
__PRETTY_FUNCTION__, self, activeDriver);
|
||||||
|
}
|
||||||
|
activeDriver = self;
|
||||||
|
-
|
||||||
|
+
|
||||||
|
+ if ([self->contentHandler respondsToSelector: @selector (contentEncoding)])
|
||||||
|
+ charEncoding = [self->contentHandler contentEncoding];
|
||||||
|
+ else
|
||||||
|
+ charEncoding = XML_CHAR_ENCODING_8859_1;
|
||||||
|
+
|
||||||
|
self->ctxt = htmlCreatePushParserCtxt(&sax /* sax */,
|
||||||
|
NULL /*self*/ /* userdata */,
|
||||||
|
NULL /* chunk */,
|
||||||
|
0 /* chunklen */,
|
||||||
|
[_path cString] /* filename */,
|
||||||
|
- XML_CHAR_ENCODING_8859_1
|
||||||
|
- /* encoding */);
|
||||||
|
+ charEncoding /* encoding */);
|
||||||
|
self->doc = NULL;
|
||||||
|
}
|
||||||
|
- (void)tearDownParser {
|
||||||
Index: sope-appserver/NGObjWeb/GNUmakefile.postamble
|
Index: sope-appserver/NGObjWeb/GNUmakefile.postamble
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-appserver/NGObjWeb/GNUmakefile.postamble (révision 1546)
|
--- sope-appserver/NGObjWeb/GNUmakefile.postamble (révision 1548)
|
||||||
+++ sope-appserver/NGObjWeb/GNUmakefile.postamble (copie de travail)
|
+++ sope-appserver/NGObjWeb/GNUmakefile.postamble (copie de travail)
|
||||||
@@ -23,14 +23,20 @@
|
@@ -23,14 +23,20 @@
|
||||||
|
|
||||||
|
@ -854,7 +760,7 @@ Index: sope-appserver/NGObjWeb/GNUmakefile.postamble
|
||||||
-endif
|
-endif
|
||||||
Index: sope-appserver/NGObjWeb/WOContext.m
|
Index: sope-appserver/NGObjWeb/WOContext.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-appserver/NGObjWeb/WOContext.m (révision 1546)
|
--- sope-appserver/NGObjWeb/WOContext.m (révision 1548)
|
||||||
+++ sope-appserver/NGObjWeb/WOContext.m (copie de travail)
|
+++ sope-appserver/NGObjWeb/WOContext.m (copie de travail)
|
||||||
@@ -64,11 +64,13 @@
|
@@ -64,11 +64,13 @@
|
||||||
static BOOL testNSURLs = NO;
|
static BOOL testNSURLs = NO;
|
||||||
|
@ -894,7 +800,7 @@ Index: sope-appserver/NGObjWeb/WOContext.m
|
||||||
serverURL = [@"http://" stringByAppendingString:host];
|
serverURL = [@"http://" stringByAppendingString:host];
|
||||||
Index: sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m
|
Index: sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m (révision 1546)
|
--- sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m (révision 1548)
|
||||||
+++ sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m (copie de travail)
|
+++ sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m (copie de travail)
|
||||||
@@ -216,6 +216,12 @@
|
@@ -216,6 +216,12 @@
|
||||||
assocCount++;
|
assocCount++;
|
||||||
|
@ -911,7 +817,7 @@ Index: sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m
|
||||||
|
|
||||||
Index: sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m
|
Index: sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m (révision 1546)
|
--- sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m (révision 1548)
|
||||||
+++ sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m (copie de travail)
|
+++ sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m (copie de travail)
|
||||||
@@ -40,6 +40,7 @@
|
@@ -40,6 +40,7 @@
|
||||||
WOAssociation *string;
|
WOAssociation *string;
|
||||||
|
@ -941,7 +847,7 @@ Index: sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m
|
||||||
return YES;
|
return YES;
|
||||||
Index: sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h
|
Index: sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h (révision 1546)
|
--- sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h (révision 1548)
|
||||||
+++ sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h (copie de travail)
|
+++ sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h (copie de travail)
|
||||||
@@ -41,7 +41,8 @@
|
@@ -41,7 +41,8 @@
|
||||||
WOAssociation *pageName;
|
WOAssociation *pageName;
|
||||||
|
@ -955,7 +861,7 @@ Index: sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h
|
||||||
/* 'ivar' associations */
|
/* 'ivar' associations */
|
||||||
Index: sope-appserver/NGObjWeb/SoObjects/SoObject.m
|
Index: sope-appserver/NGObjWeb/SoObjects/SoObject.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-appserver/NGObjWeb/SoObjects/SoObject.m (révision 1546)
|
--- sope-appserver/NGObjWeb/SoObjects/SoObject.m (révision 1548)
|
||||||
+++ sope-appserver/NGObjWeb/SoObjects/SoObject.m (copie de travail)
|
+++ sope-appserver/NGObjWeb/SoObjects/SoObject.m (copie de travail)
|
||||||
@@ -39,22 +39,34 @@
|
@@ -39,22 +39,34 @@
|
||||||
static int debugLookup = -1;
|
static int debugLookup = -1;
|
||||||
|
@ -1106,7 +1012,7 @@ Index: sope-appserver/NGObjWeb/SoObjects/SoObject.m
|
||||||
|
|
||||||
Index: sope-appserver/NGObjWeb/WOHttpAdaptor/WOHttpTransaction.m
|
Index: sope-appserver/NGObjWeb/WOHttpAdaptor/WOHttpTransaction.m
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-appserver/NGObjWeb/WOHttpAdaptor/WOHttpTransaction.m (révision 1546)
|
--- sope-appserver/NGObjWeb/WOHttpAdaptor/WOHttpTransaction.m (révision 1548)
|
||||||
+++ sope-appserver/NGObjWeb/WOHttpAdaptor/WOHttpTransaction.m (copie de travail)
|
+++ sope-appserver/NGObjWeb/WOHttpAdaptor/WOHttpTransaction.m (copie de travail)
|
||||||
@@ -31,6 +31,7 @@
|
@@ -31,6 +31,7 @@
|
||||||
#include <NGObjWeb/WOCookie.h>
|
#include <NGObjWeb/WOCookie.h>
|
Loading…
Reference in a new issue