Monotone-Parent: 24ba5bd537bf1999f7443bca34f07358c1ea42d9

Monotone-Revision: 94d50c27be1b236681a2089a0eecac7c67e93f40

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-12-07T20:34:29
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2007-12-07 20:34:29 +00:00
parent 19720a645f
commit 60ae2b07af
6 changed files with 56 additions and 26 deletions

View File

@ -1,3 +1,9 @@
2007-12-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* Main/SOGo.m ([SOGo -run]): the table creation script now have a
@{tableName} substitution variable to be substitued with the real
table name obtained from the configuration variables.
2007-12-07 Ludovic Marcotte <ludovic@inverse.ca>
* UI/MailPartViewers/UIxMailRenderingContext.m

View File

@ -151,38 +151,62 @@ static BOOL debugObjectAllocation = NO;
[super dealloc];
}
- (NSString *) _sqlScriptFromTableFile: (NSString *) fileName
withTableName: (NSString *) tableName
{
NSString *script;
return script;
}
- (NSString *) _sqlScriptForTable: (NSString *) tableName
withType: (NSString *) tableType
andFileSuffix: (NSString *) fileSuffix
{
NSString *tableFile, *descFile;
NGBundleManager *bm;
NSBundle *bundle;
unsigned int length;
bm = [NGBundleManager defaultBundleManager];
bundle = [bm bundleWithName: @"MainUI" type: @"SOGo"];
length = [tableType length] - 3;
tableFile = [tableType substringToIndex: length];
descFile
= [bundle pathForResource: [NSString stringWithFormat: @"%@-%@",
tableFile, fileSuffix]
ofType: @"sql"];
if (!descFile)
descFile = [bundle pathForResource: tableFile ofType: @"sql"];
return [[NSString stringWithContentsOfFile: descFile]
stringByReplacingString: @"@{tableName}"
withString: tableName];
}
- (void) _checkTableWithCM: (GCSChannelManager *) cm
tableURL: (NSString *) url
andType: (NSString *) tableType
{
NSString *tableName, *descFile, *tableFile, *fileSuffix;
NSString *tableName, *fileSuffix, *tableScript;
EOAdaptorChannel *tc;
NGBundleManager *bm;
NSBundle *bundle;
unsigned int length;
NSURL *channelURL;
bm = [NGBundleManager defaultBundleManager];
channelURL = [NSURL URLWithString: url];
fileSuffix = [channelURL scheme];
tc = [cm acquireOpenChannelForURL: channelURL];
tableName = [url lastPathComponent];
if ([tc evaluateExpressionX:
[NSString stringWithFormat: @"SELECT count(*) FROM %@", tableName]])
[NSString stringWithFormat: @"SELECT count(*) FROM %@",
tableName]])
{
bundle = [bm bundleWithName: @"MainUI" type: @"SOGo"];
length = [tableType length] - 3;
tableFile = [tableType substringToIndex: length];
descFile
= [bundle pathForResource: [NSString stringWithFormat: @"%@-%@",
tableFile, fileSuffix]
ofType: @"sql"];
if (!descFile)
descFile = [bundle pathForResource: tableFile ofType: @"sql"];
if (![tc evaluateExpressionX:
[NSString stringWithContentsOfFile: descFile]])
tableScript = [self _sqlScriptForTable: tableName
withType: tableType
andFileSuffix: fileSuffix];
if (![tc evaluateExpressionX: tableScript])
[self logWithFormat: @"table '%@' successfully created!", tableName];
}
else

View File

@ -2,7 +2,7 @@
-- (C) 2007 Inverse groupe conseil
--
CREATE TABLE SOGo_user_profile (
CREATE TABLE @{tableName} (
c_uid VARCHAR(255) NOT NULL PRIMARY KEY,
c_defaults CLOB,
c_settings CLOB

View File

@ -3,7 +3,7 @@
-- (C) 2006-2007 Inverse groupe conseil
--
CREATE TABLE SOGo_user_profile (
CREATE TABLE @{tableName} (
c_uid VARCHAR(255) NOT NULL PRIMARY KEY,
c_defaults TEXT,
c_settings TEXT

View File

@ -2,7 +2,7 @@
-- (C) 2007 Inverse groupe conseil
--
CREATE TABLE SOGo_folder_info (
CREATE TABLE @{tableName} (
c_folder_id INTEGER PRIMARY KEY,
c_path VARCHAR(255) NOT NULL, -- the full path to the folder
c_path1 VARCHAR(255) NOT NULL, -- parts (for fast queries)
@ -16,12 +16,12 @@ CREATE TABLE SOGo_folder_info (
c_folder_type VARCHAR(255) NOT NULL -- the folder type ...
);
CREATE SEQUENCE SOGo_folder_info_seq;
CREATE OR REPLACE TRIGGER SOGo_folder_info_autonumber
BEFORE INSERT ON SOGo_folder_info FOR EACH ROW
CREATE SEQUENCE @{tableName}_seq;
CREATE OR REPLACE TRIGGER @{tableName}_autonumber
BEFORE INSERT ON @{tableName} FOR EACH ROW
BEGIN
IF :new.c_folder_id IS NULL THEN
SELECT SOGO_folder_info_seq.nextval INTO :new.c_folder_id FROM DUAL;
SELECT @{tableName}_seq.nextval INTO :new.c_folder_id FROM DUAL;
END IF;
END;
/

View File

@ -3,7 +3,7 @@
-- (C) 2006-2007 Inverse groupe conseil
--
CREATE TABLE SOGo_folder_info (
CREATE TABLE @{tableName} (
c_folder_id SERIAL,
c_path VARCHAR(255) NOT NULL, -- the full path to the folder
c_path1 VARCHAR(255) NOT NULL, -- parts (for fast queries)