mysql-cocoa-commits Mailing List for MySQL Objective C API for Cocoa (Page 2)
Brought to you by:
sergecohen
You can subscribe to this list here.
2002 |
Jan
(2) |
Feb
(6) |
Mar
(11) |
Apr
(2) |
May
(40) |
Jun
(17) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
|
Nov
(4) |
Dec
(11) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(44) |
Sep
|
Oct
(14) |
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
(7) |
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
(12) |
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Serge C. <ser...@us...> - 2003-10-11 22:32:45
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1:/tmp/cvs-serv21913/SMySQL.pbproj Modified Files: cohen.pbxuser project.pbxproj Log Message: Added first draft of classes to help making a GUI application using MySQL to store its 'document'. Start passing to version 2.2.2 (maybe should go to 2.3 when GUI part is checked). 2003-10-11; Serge Cohen. Index: cohen.pbxuser =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/cohen.pbxuser,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** cohen.pbxuser 11 Oct 2003 20:32:25 -0000 1.28 --- cohen.pbxuser 11 Oct 2003 22:32:40 -0000 1.29 *************** *** 7,10 **** --- 7,12 ---- addToTargets = ( 0DA7207E04EE8A99002E9126, + 0DA7208504EE8C3F002E9126, + 0867D69CFE84028FC02AAC07, ); executables = ( *************** *** 12,16 **** ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 87596635; PBXWorkspaceContents = ( { --- 14,18 ---- ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 87603395; PBXWorkspaceContents = ( { *************** *** 19,23 **** Split0 = { NavContent0 = { ! bookmark = 0DBDEEB305389FE50000000A; history = ( 0D82DD6C04F0FEC100B97554, --- 21,25 ---- Split0 = { NavContent0 = { ! bookmark = 0D516EBB0538BB280000000A; history = ( 0D82DD6C04F0FEC100B97554, *************** *** 41,51 **** 0DB9ADCE05388F320000000A, 0D9ECFF205389DCA0000000A, - 0DBDEEA405389FE50000000A, 0DBDEEA505389FE50000000A, - 0DBDEEA605389FE50000000A, - 0DBDEEA705389FE50000000A, 0DBDEEA805389FE50000000A, 0DBDEEA905389FE50000000A, ! 0DBDEEAA05389FE50000000A, ); prevStack = ( --- 43,59 ---- 0DB9ADCE05388F320000000A, 0D9ECFF205389DCA0000000A, 0DBDEEA505389FE50000000A, 0DBDEEA805389FE50000000A, 0DBDEEA905389FE50000000A, ! 0D516EA40538BB280000000A, ! 0D516EA50538BB280000000A, ! 0D516EA60538BB280000000A, ! 0D516EA70538BB280000000A, ! 0D516EA80538BB280000000A, ! 0D516EA90538BB280000000A, ! 0D516EAA0538BB280000000A, ! 0D516EAB0538BB280000000A, ! 0D516EAC0538BB280000000A, ! 0DBDEEA705389FE50000000A, ); prevStack = ( *************** *** 149,157 **** 0DBDEEB105389FE50000000A, 0DBDEEB205389FE50000000A, ); }; NavCount = 1; NavGeometry0 = { ! Frame = "{{0, 0}, {887, 346}}"; NavBarVisible = YES; }; --- 157,180 ---- 0DBDEEB105389FE50000000A, 0DBDEEB205389FE50000000A, + 0DDA3DA10538A08F0000000A, + 0D516EAD0538BB280000000A, + 0D516EAE0538BB280000000A, + 0D516EAF0538BB280000000A, + 0D516EB00538BB280000000A, + 0D516EB10538BB280000000A, + 0D516EB20538BB280000000A, + 0D516EB30538BB280000000A, + 0D516EB40538BB280000000A, + 0D516EB50538BB280000000A, + 0D516EB60538BB280000000A, + 0D516EB70538BB280000000A, + 0D516EB80538BB280000000A, + 0D516EB90538BB280000000A, + 0D516EBA0538BB280000000A, ); }; NavCount = 1; NavGeometry0 = { ! Frame = "{{0, 0}, {928, 641}}"; NavBarVisible = YES; }; *************** *** 188,202 **** ContentSize = "{1143, 688}"; LeftSlideOut = { ! ActiveTab = 0; ! ActiveTabName = PBXGroupTreeModule; Collapsed = NO; Frame = "{{0, 23}, {1143, 665}}"; Split0 = { - ActiveTab = 3; - ActiveTabName = PBXProjectFindModule; Collapsed = NO; ! Frame = "{{256, 0}, {887, 665}}"; Split0 = { ! Frame = "{{0, 319}, {887, 346}}"; }; SplitCount = 1; --- 211,223 ---- ContentSize = "{1143, 688}"; LeftSlideOut = { ! ActiveTab = 3; ! ActiveTabName = PBXTargetTreeModule; Collapsed = NO; Frame = "{{0, 23}, {1143, 665}}"; Split0 = { Collapsed = NO; ! Frame = "{{215, 0}, {928, 665}}"; Split0 = { ! Frame = "{{0, 24}, {928, 641}}"; }; SplitCount = 1; *************** *** 247,254 **** }; Tab3 = { ! BuildMessageFrame = "{{0, 0}, {889, 104}}"; ! BuildTranscriptFrame = "{{0, 113}, {889, 228}}"; BuildTranscriptFrameExpanded = YES; ! Frame = "{{0, 0}, {887, 363}}"; }; Tab4 = { --- 268,275 ---- }; Tab3 = { ! BuildMessageFrame = "{{0, 0}, {930, 104}}"; ! BuildTranscriptFrame = "{{0, 113}, {930, 228}}"; BuildTranscriptFrameExpanded = YES; ! Frame = "{{0, 0}, {928, 363}}"; }; Tab4 = { *************** *** 318,322 **** }, ); ! PBXWorkspaceStateSaveDate = 87596635; }; perUserProjectItems = { --- 339,343 ---- }, ); ! PBXWorkspaceStateSaveDate = 87603395; }; perUserProjectItems = { *************** *** 327,330 **** --- 348,375 ---- 0D13F24F05242FC500956BC3 = 0D13F24F05242FC500956BC3; 0D2108A70521F29900E58DA2 = 0D2108A70521F29900E58DA2; + 0D516EA40538BB280000000A = 0D516EA40538BB280000000A; + 0D516EA50538BB280000000A = 0D516EA50538BB280000000A; + 0D516EA60538BB280000000A = 0D516EA60538BB280000000A; + 0D516EA70538BB280000000A = 0D516EA70538BB280000000A; + 0D516EA80538BB280000000A = 0D516EA80538BB280000000A; + 0D516EA90538BB280000000A = 0D516EA90538BB280000000A; + 0D516EAA0538BB280000000A = 0D516EAA0538BB280000000A; + 0D516EAB0538BB280000000A = 0D516EAB0538BB280000000A; + 0D516EAC0538BB280000000A = 0D516EAC0538BB280000000A; + 0D516EAD0538BB280000000A = 0D516EAD0538BB280000000A; + 0D516EAE0538BB280000000A = 0D516EAE0538BB280000000A; + 0D516EAF0538BB280000000A = 0D516EAF0538BB280000000A; + 0D516EB00538BB280000000A = 0D516EB00538BB280000000A; + 0D516EB10538BB280000000A = 0D516EB10538BB280000000A; + 0D516EB20538BB280000000A = 0D516EB20538BB280000000A; + 0D516EB30538BB280000000A = 0D516EB30538BB280000000A; + 0D516EB40538BB280000000A = 0D516EB40538BB280000000A; + 0D516EB50538BB280000000A = 0D516EB50538BB280000000A; + 0D516EB60538BB280000000A = 0D516EB60538BB280000000A; + 0D516EB70538BB280000000A = 0D516EB70538BB280000000A; + 0D516EB80538BB280000000A = 0D516EB80538BB280000000A; + 0D516EB90538BB280000000A = 0D516EB90538BB280000000A; + 0D516EBA0538BB280000000A = 0D516EBA0538BB280000000A; + 0D516EBB0538BB280000000A = 0D516EBB0538BB280000000A; 0D6DC6FD04F03FE40025C233 = 0D6DC6FD04F03FE40025C233; 0D7C23E404F505B300A8C863 = 0D7C23E404F505B300A8C863; *************** *** 420,430 **** 0DB9ADE605388F320000000A = 0DB9ADE605388F320000000A; 0DB9ADE705388F320000000A = 0DB9ADE705388F320000000A; - 0DBDEEA405389FE50000000A = 0DBDEEA405389FE50000000A; 0DBDEEA505389FE50000000A = 0DBDEEA505389FE50000000A; - 0DBDEEA605389FE50000000A = 0DBDEEA605389FE50000000A; 0DBDEEA705389FE50000000A = 0DBDEEA705389FE50000000A; 0DBDEEA805389FE50000000A = 0DBDEEA805389FE50000000A; 0DBDEEA905389FE50000000A = 0DBDEEA905389FE50000000A; - 0DBDEEAA05389FE50000000A = 0DBDEEAA05389FE50000000A; 0DBDEEAB05389FE50000000A = 0DBDEEAB05389FE50000000A; 0DBDEEAC05389FE50000000A = 0DBDEEAC05389FE50000000A; --- 465,472 ---- *************** *** 435,439 **** 0DBDEEB105389FE50000000A = 0DBDEEB105389FE50000000A; 0DBDEEB205389FE50000000A = 0DBDEEB205389FE50000000A; - 0DBDEEB305389FE50000000A = 0DBDEEB305389FE50000000A; 0DCAF5B004FD1C0100A8C863 = 0DCAF5B004FD1C0100A8C863; 0DCAF5B104FD1C0100A8C863 = 0DCAF5B104FD1C0100A8C863; --- 477,480 ---- *************** *** 441,444 **** --- 482,486 ---- 0DCAF5B304FD1C0100A8C863 = 0DCAF5B304FD1C0100A8C863; 0DCAF5B404FD1C0100A8C863 = 0DCAF5B404FD1C0100A8C863; + 0DDA3DA10538A08F0000000A = 0DDA3DA10538A08F0000000A; 0DE4C10104FC079E00A8C863 = 0DE4C10104FC079E00A8C863; 0DF73C6B04F49C5000A8C863 = 0DF73C6B04F49C5000A8C863; *************** *** 517,520 **** --- 559,862 ---- trg = 0DEFA05704F0318B00A68F01; }; + 0D516EA40538BB280000000A = { + fRef = 0DCFFE3A04EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPConnection.m: 174"; + rLen = 0; + rLoc = 5704; + rType = 0; + vrLen = 1660; + vrLoc = 4282; + }; + 0D516EA50538BB280000000A = { + fRef = 0D516E830538B9000000000A; + isa = PBXTextBookmark; + name = "MCPDocument.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1096; + vrLoc = 0; + }; + 0D516EA60538BB280000000A = { + fRef = 0D516E840538B9000000000A; + isa = PBXTextBookmark; + name = "MCPDocument.m: 21"; + rLen = 0; + rLoc = 346; + rType = 0; + vrLen = 1016; + vrLoc = 0; + }; + 0D516EA70538BB280000000A = { + fRef = 0D516EBE0538BB280000000A; + glyphRangeLength = 706; + glyphRangeLocation = 5232; + isa = PBXDocBookmark; + name = "MCPDocument.html: setMCPLogin ..."; + }; + 0D516EA80538BB280000000A = { + fRef = 0D516EBF0538BB280000000A; + glyphRangeLength = 516; + glyphRangeLocation = 118; + isa = PBXDocBookmark; + name = "MCPConnectionWinCont.html: This class i..."; + }; + 0D516EA90538BB280000000A = { + fRef = 0D516E810538B9000000000A; + isa = PBXTextBookmark; + name = "MCPConnectionWinCont.h: 48"; + rLen = 0; + rLoc = 1015; + rType = 0; + vrLen = 973; + vrLoc = 47; + }; + 0D516EAA0538BB280000000A = { + fRef = 0D516E820538B9000000000A; + isa = PBXTextBookmark; + name = "MCPConnectionWinCont.m: __FLT_DENORM_MIN__"; + rLen = 0; + rLoc = 562; + rType = 0; + vrLen = 1423; + vrLoc = 30; + }; + 0D516EAB0538BB280000000A = { + isa = PBXTargetBookmark; + trg = 0867D69CFE84028FC02AAC07; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 459}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0D2AA83B04EED03700349A90, + ); + }; + }; + 0D516EAC0538BB280000000A = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {637, 459}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {252, 587}}"; + TOCViewSelectedItems = ( + 0D2AA83C04EED06400349A90, + ); + }; + }; + 0D516EAD0538BB280000000A = { + fRef = 0DCFFE3A04EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPConnection.m: 174"; + rLen = 0; + rLoc = 5704; + rType = 0; + vrLen = 1660; + vrLoc = 4282; + }; + 0D516EAE0538BB280000000A = { + fRef = 0D516E810538B9000000000A; + isa = PBXTextBookmark; + name = "MCPConnectionWinCont.h: 8"; + rLen = 26; + rLoc = 151; + rType = 0; + vrLen = 1013; + vrLoc = 0; + }; + 0D516EAF0538BB280000000A = { + fRef = 0D516E820538B9000000000A; + isa = PBXTextBookmark; + name = "MCPConnectionWinCont.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1370; + vrLoc = 0; + }; + 0D516EB00538BB280000000A = { + fRef = 0D516E830538B9000000000A; + isa = PBXTextBookmark; + name = "MCPDocument.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1096; + vrLoc = 0; + }; + 0D516EB10538BB280000000A = { + fRef = 0D516E840538B9000000000A; + isa = PBXTextBookmark; + name = "MCPDocument.m: 21"; + rLen = 0; + rLoc = 346; + rType = 0; + vrLen = 1016; + vrLoc = 0; + }; + 0D516EB20538BB280000000A = { + fRef = 0D516E830538B9000000000A; + isa = PBXTextBookmark; + name = "MCPDocument.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1096; + vrLoc = 0; + }; + 0D516EB30538BB280000000A = { + fRef = 0D516E840538B9000000000A; + isa = PBXTextBookmark; + name = "MCPDocument.m: 21"; + rLen = 0; + rLoc = 346; + rType = 0; + vrLen = 1016; + vrLoc = 0; + }; + 0D516EB40538BB280000000A = { + isa = PBXTargetBookmark; + trg = 0867D69CFE84028FC02AAC07; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {608, 473}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {240, 587}}"; + TOCViewSelectedItems = ( + 0D2AA83B04EED03700349A90, + ); + }; + }; + 0D516EB50538BB280000000A = { + fRef = 0D516EBD0538BB280000000A; + glyphRangeLength = 706; + glyphRangeLocation = 5232; + isa = PBXDocBookmark; + name = "MCPDocument.html: setMCPLogin ..."; + }; + 0D516EB60538BB280000000A = { + fRef = 0D516EBC0538BB280000000A; + glyphRangeLength = 516; + glyphRangeLocation = 118; + isa = PBXDocBookmark; + name = "MCPConnectionWinCont.html: This class i..."; + }; + 0D516EB70538BB280000000A = { + fRef = 0D516E810538B9000000000A; + isa = PBXTextBookmark; + name = "MCPConnectionWinCont.h: 48"; + rLen = 0; + rLoc = 1015; + rType = 0; + vrLen = 973; + vrLoc = 47; + }; + 0D516EB80538BB280000000A = { + fRef = 0D516E820538B9000000000A; + isa = PBXTextBookmark; + name = "MCPConnectionWinCont.m: __FLT_DENORM_MIN__"; + rLen = 0; + rLoc = 562; + rType = 0; + vrLen = 1423; + vrLoc = 30; + }; + 0D516EB90538BB280000000A = { + isa = PBXTargetBookmark; + trg = 0867D69CFE84028FC02AAC07; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 459}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0D2AA83B04EED03700349A90, + ); + }; + }; + 0D516EBA0538BB280000000A = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {637, 459}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {252, 587}}"; + TOCViewSelectedItems = ( + 0D2AA83C04EED06400349A90, + ); + }; + }; + 0D516EBB0538BB280000000A = { + isa = PBXTargetBookmark; + trg = 0DA7208504EE8C3F002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 459}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0D2AA83D04EED07700349A90, + ); + }; + }; + 0D516EBC0538BB280000000A = { + isa = PBXFileReference; + name = MCPConnectionWinCont.html; + path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL.framework/Resources/English.lproj/Documentation/Classes/MCPConnectionWinCont.html"; + refType = 0; + }; + 0D516EBD0538BB280000000A = { + isa = PBXFileReference; + name = MCPDocument.html; + path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL.framework/Resources/English.lproj/Documentation/Classes/MCPDocument.html"; + refType = 0; + }; + 0D516EBE0538BB280000000A = { + isa = PBXFileReference; + name = MCPDocument.html; + path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL.framework/Resources/English.lproj/Documentation/Classes/MCPDocument.html"; + refType = 0; + }; + 0D516EBF0538BB280000000A = { + isa = PBXFileReference; + name = MCPConnectionWinCont.html; + path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL.framework/Resources/English.lproj/Documentation/Classes/MCPConnectionWinCont.html"; + refType = 0; + }; 0D6DC6FD04F03FE40025C233 = { isa = PBXTargetBookmark; *************** *** 1165,1269 **** trg = 0DA7208504EE8C3F002E9126; }; - 0DBDEEA405389FE50000000A = { - fRef = 0DCFFE3A04EE97AE00AD80EC; - isa = PBXTextBookmark; - name = "MCPConnection.m: 209"; - rLen = 0; - rLoc = 6602; - rType = 0; - vrLen = 1083; - vrLoc = 6001; - }; 0DBDEEA505389FE50000000A = { bstl = 014CEA450018CDF011CA2923; isa = PBXBuildStyleBookmark; }; - 0DBDEEA605389FE50000000A = { - isa = PBXTargetBookmark; - trg = 0DA7207E04EE8A99002E9126; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - PBXBSExpertAspectModule, - ); - }; - }; 0DBDEEA705389FE50000000A = { isa = PBXTargetBookmark; trg = 0DA7208504EE8C3F002E9126; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - PBXBSExpertAspectModule, - ); - }; }; 0DBDEEA805389FE50000000A = { isa = PBXTargetBookmark; trg = 0DCFFE7404EE9B4400AD80EC; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 266}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - PBXBSExpertAspectModule, - ); - }; }; 0DBDEEA905389FE50000000A = { isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 587}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - 0DEFA05904F0336400A68F01, - ); - }; - }; - 0DBDEEAA05389FE50000000A = { - isa = PBXTargetBookmark; - trg = 0867D69CFE84028FC02AAC07; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - PBXBSExpertAspectModule, - ); - }; }; 0DBDEEAB05389FE50000000A = { --- 1507,1525 ---- *************** *** 1284,1407 **** isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 587}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - 0DEFA05904F0336400A68F01, - ); - }; }; 0DBDEEAE05389FE50000000A = { isa = PBXTargetBookmark; trg = 0867D69CFE84028FC02AAC07; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - PBXBSExpertAspectModule, - ); - }; }; 0DBDEEAF05389FE50000000A = { isa = PBXTargetBookmark; trg = 0DA7207E04EE8A99002E9126; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - PBXBSExpertAspectModule, - ); - }; }; 0DBDEEB005389FE50000000A = { isa = PBXTargetBookmark; trg = 0DA7208504EE8C3F002E9126; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - PBXBSExpertAspectModule, - ); - }; }; 0DBDEEB105389FE50000000A = { isa = PBXTargetBookmark; trg = 0DCFFE7404EE9B4400AD80EC; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 266}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - PBXBSExpertAspectModule, - ); - }; }; 0DBDEEB205389FE50000000A = { isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 587}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - 0DEFA05904F0336400A68F01, - ); - }; - }; - 0DBDEEB305389FE50000000A = { - isa = PBXTargetBookmark; - trg = 0867D69CFE84028FC02AAC07; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {607, 292}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {241, 292}}"; - TOCViewSelectedItems = ( - PBXBSExpertAspectModule, - ); - }; }; 0DCAF5B004FD1C0100A8C863 = { --- 1540,1563 ---- *************** *** 1450,1453 **** --- 1606,1613 ---- sourceDirectories = ( ); + }; + 0DDA3DA10538A08F0000000A = { + isa = PBXTargetBookmark; + trg = 0867D69CFE84028FC02AAC07; }; 0DE4C10104FC079E00A8C863 = { Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** project.pbxproj 11 Oct 2003 20:32:26 -0000 1.28 --- project.pbxproj 11 Oct 2003 22:32:40 -0000 1.29 *************** *** 210,213 **** --- 210,215 ---- 0DCFFE5004EE97AE00AD80EC, 32DBCF5F0370ADEE00C91783, + 0D516E8D0538B9010000000A, + 0D516E8F0538B9010000000A, ); isa = PBXHeadersBuildPhase; *************** *** 218,221 **** --- 220,224 ---- files = ( 089C1668FE841158C02AAC07, + 0D516E800538B8E60000000A, ); isa = PBXResourcesBuildPhase; *************** *** 230,233 **** --- 233,238 ---- 0DCFFE4C04EE97AE00AD80EC, 0DCFFE4E04EE97AE00AD80EC, + 0D516E8E0538B9010000000A, + 0D516E900538B9010000000A, ); isa = PBXSourcesBuildPhase; *************** *** 259,262 **** --- 264,268 ---- children = ( 089C1666FE841158C02AAC07, + 0D516E7C0538B8E60000000A, ); isa = PBXGroup; *************** *** 327,331 **** runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nAUTODOC=/usr/local/bin/autodoc\nAUTODOC_FLAGS=\"-copydocs -timestamp -allclasses\"\nAUTODOC_FORMAT=html\nAUTODOC_LANGUAGE=English\nexport AD_COPYRIGHT=\"Serge Cohen\"\n\n# If autodoc is not installed, we quit without any error\ntest -x $AUTODOC || exit 0\n\nPUBLIC_DOC_INSTALLDIR=\"$SYMROOT/$PRODUCT_NAME.framework/Resources/$AUTODOC_LANGUAGE.lproj/Documentation\"\n\n# We need to write down file names here\nAUTODOC_FILES=\"MCPResultPlus.h MCPFastQueries.h MCPConnection.h MCPResult.h MCPNull.h\"\nAUTODOC_DOCDIR=\"$PUBLIC_DOC_INSTALLDIR\"\n\nOTHER_AUTODOC_FLAGS=\"-typedirs -allclasses -combine -force -nosingles\"\n\nALL_AUTODOC_FLAGS=\"$AUTODOC_FLAGS $OTHER_AUTODOC_FLAGS\"\n\n$MKDIRS $PUBLIC_DOC_INSTALLDIR\n$AUTODOC $ALL_AUTODOC_FLAGS -format $AUTODOC_FORMAT -dest $AUTODOC_DOCDIR $AUTODOC_FILES\n"; }; 0D2AA83C04EED06400349A90 = { --- 333,337 ---- runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nAUTODOC=/usr/local/bin/autodoc\nAUTODOC_FLAGS=\"-copydocs -timestamp -allclasses\"\nAUTODOC_FORMAT=html\nAUTODOC_LANGUAGE=English\nexport AD_COPYRIGHT=\"Serge Cohen\"\n\n# If autodoc is not installed, we quit without any error\ntest -x $AUTODOC || exit 0\n\nPUBLIC_DOC_INSTALLDIR=\"$SYMROOT/$PRODUCT_NAME.framework/Resources/$AUTODOC_LANGUAGE.lproj/Documentation\"\n\n# We need to write down file names here\nAUTODOC_FILES=\"MCPFoundationKit/MCPResultPlus.h MCPFoundationKit/MCPFastQueries.h MCPFoundationKit/MCPConnection.h MCPFoundationKit/MCPResult.h MCPFoundationKit/MCPNull.h MCPApplicationKit/MCPConnectionWinCont.h MCPApplicationKit/MCPDocument.h\"\nAUTODOC_DOCDIR=\"$PUBLIC_DOC_INSTALLDIR\"\n\nOTHER_AUTODOC_FLAGS=\"-typedirs -allclasses -combine -force -nosingles\"\n\nALL_AUTODOC_FLAGS=\"$AUTODOC_FLAGS $OTHER_AUTODOC_FLAGS\"\n\n$MKDIRS $PUBLIC_DOC_INSTALLDIR\n$AUTODOC $ALL_AUTODOC_FLAGS -format $AUTODOC_FORMAT -dest $AUTODOC_DOCDIR $AUTODOC_FILES\n"; }; 0D2AA83C04EED06400349A90 = { *************** *** 340,344 **** runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nAUTODOC=/usr/local/bin/autodoc\nAUTODOC_FLAGS=\"-copydocs -timestamp -allclasses\"\nAUTODOC_FORMAT=html\nAUTODOC_LANGUAGE=English\nexport AD_COPYRIGHT=\"Serge Cohen\"\n\n# If autodoc is not installed, we quit without any error\ntest -x $AUTODOC || exit 0\n\nPUBLIC_DOC_INSTALLDIR=\"$SYMROOT/$PRODUCT_NAME.framework/Resources/$AUTODOC_LANGUAGE.lproj/Documentation\"\n\n# We need to write down file names here\nAUTODOC_FILES=\"MCPResultPlus.h MCPFastQueries.h MCPConnection.h MCPResult.h MCPNull.h\"\nAUTODOC_DOCDIR=\"$PUBLIC_DOC_INSTALLDIR\"\n\nOTHER_AUTODOC_FLAGS=\"-typedirs -allclasses -combine -force -nosingles\"\n\nALL_AUTODOC_FLAGS=\"$AUTODOC_FLAGS $OTHER_AUTODOC_FLAGS\"\n\n$MKDIRS $PUBLIC_DOC_INSTALLDIR\n$AUTODOC $ALL_AUTODOC_FLAGS -format $AUTODOC_FORMAT -dest $AUTODOC_DOCDIR $AUTODOC_FILES\n"; }; 0D2AA83D04EED07700349A90 = { --- 346,350 ---- runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nAUTODOC=/usr/local/bin/autodoc\nAUTODOC_FLAGS=\"-copydocs -timestamp -allclasses\"\nAUTODOC_FORMAT=html\nAUTODOC_LANGUAGE=English\nexport AD_COPYRIGHT=\"Serge Cohen\"\n\n# If autodoc is not installed, we quit without any error\ntest -x $AUTODOC || exit 0\n\nPUBLIC_DOC_INSTALLDIR=\"$SYMROOT/$PRODUCT_NAME.framework/Resources/$AUTODOC_LANGUAGE.lproj/Documentation\"\n\n# We need to write down file names here\nAUTODOC_FILES=\"MCPFoundationKit/MCPResultPlus.h MCPFoundationKit/MCPFastQueries.h MCPFoundationKit/MCPConnection.h MCPFoundationKit/MCPResult.h MCPFoundationKit/MCPNull.h MCPApplicationKit/MCPConnectionWinCont.h MCPApplicationKit/MCPDocument.h\"\nAUTODOC_DOCDIR=\"$PUBLIC_DOC_INSTALLDIR\"\n\nOTHER_AUTODOC_FLAGS=\"-typedirs -allclasses -combine -force -nosingles\"\n\nALL_AUTODOC_FLAGS=\"$AUTODOC_FLAGS $OTHER_AUTODOC_FLAGS\"\n\n$MKDIRS $PUBLIC_DOC_INSTALLDIR\n$AUTODOC $ALL_AUTODOC_FLAGS -format $AUTODOC_FORMAT -dest $AUTODOC_DOCDIR $AUTODOC_FILES\n"; }; 0D2AA83D04EED07700349A90 = { *************** *** 353,357 **** runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nAUTODOC=/usr/local/bin/autodoc\nAUTODOC_FLAGS=\"-copydocs -timestamp -allclasses\"\nAUTODOC_FORMAT=html\nAUTODOC_LANGUAGE=English\nexport AD_COPYRIGHT=\"Serge Cohen\"\n\n# If autodoc is not installed, we quit without any error\ntest -x $AUTODOC || exit 0\n\nPUBLIC_DOC_INSTALLDIR=\"$SYMROOT/$PRODUCT_NAME.framework/Resources/$AUTODOC_LANGUAGE.lproj/Documentation\"\n\n# We need to write down file names here\nAUTODOC_FILES=\"MCPResultPlus.h MCPFastQueries.h MCPConnection.h MCPResult.h MCPNull.h\"\nAUTODOC_DOCDIR=\"$PUBLIC_DOC_INSTALLDIR\"\n\nOTHER_AUTODOC_FLAGS=\"-typedirs -allclasses -combine -force -nosingles\"\n\nALL_AUTODOC_FLAGS=\"$AUTODOC_FLAGS $OTHER_AUTODOC_FLAGS\"\n\n$MKDIRS $PUBLIC_DOC_INSTALLDIR\n$AUTODOC $ALL_AUTODOC_FLAGS -format $AUTODOC_FORMAT -dest $AUTODOC_DOCDIR $AUTODOC_FILES\n"; }; 0D6DC6F704F03DE00025C233 = { --- 359,492 ---- runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nAUTODOC=/usr/local/bin/autodoc\nAUTODOC_FLAGS=\"-copydocs -timestamp -allclasses\"\nAUTODOC_FORMAT=html\nAUTODOC_LANGUAGE=English\nexport AD_COPYRIGHT=\"Serge Cohen\"\n\n# If autodoc is not installed, we quit without any error\ntest -x $AUTODOC || exit 0\n\nPUBLIC_DOC_INSTALLDIR=\"$SYMROOT/$PRODUCT_NAME.framework/Resources/$AUTODOC_LANGUAGE.lproj/Documentation\"\n\n# We need to write down file names here\nAUTODOC_FILES=\"MCPFoundationKit/MCPResultPlus.h MCPFoundationKit/MCPFastQueries.h MCPFoundationKit/MCPConnection.h MCPFoundationKit/MCPResult.h MCPFoundationKit/MCPNull.h MCPApplicationKit/MCPConnectionWinCont.h MCPApplicationKit/MCPDocument.h\"\nAUTODOC_DOCDIR=\"$PUBLIC_DOC_INSTALLDIR\"\n\nOTHER_AUTODOC_FLAGS=\"-typedirs -allclasses -combine -force -nosingles\"\n\nALL_AUTODOC_FLAGS=\"$AUTODOC_FLAGS $OTHER_AUTODOC_FLAGS\"\n\n$MKDIRS $PUBLIC_DOC_INSTALLDIR\n$AUTODOC $ALL_AUTODOC_FLAGS -format $AUTODOC_FORMAT -dest $AUTODOC_DOCDIR $AUTODOC_FILES\n"; ! }; ! 0D516E7C0538B8E60000000A = { ! children = ( ! 0D516E7D0538B8E60000000A, ! ); ! isa = PBXVariantGroup; ! name = MCPConnectionWindow.nib; ! path = ""; ! refType = 4; ! }; ! 0D516E7D0538B8E60000000A = { ! isa = PBXFileReference; ! name = English; ! path = English.lproj/MCPConnectionWindow.nib; ! refType = 4; ! }; ! 0D516E7E0538B8E60000000A = { ! fileRef = 0D516E7C0538B8E60000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E7F0538B8E60000000A = { ! fileRef = 0D516E7C0538B8E60000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E800538B8E60000000A = { ! fileRef = 0D516E7C0538B8E60000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E810538B9000000000A = { ! fileEncoding = 4; ! isa = PBXFileReference; ! path = MCPConnectionWinCont.h; ! refType = 4; ! }; ! 0D516E820538B9000000000A = { ! fileEncoding = 4; ! isa = PBXFileReference; ! path = MCPConnectionWinCont.m; ! refType = 4; ! }; ! 0D516E830538B9000000000A = { ! fileEncoding = 4; ! isa = PBXFileReference; ! path = MCPDocument.h; ! refType = 4; ! }; ! 0D516E840538B9000000000A = { ! fileEncoding = 4; ! isa = PBXFileReference; ! path = MCPDocument.m; ! refType = 4; ! }; ! 0D516E850538B9010000000A = { ! fileRef = 0D516E810538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E860538B9010000000A = { ! fileRef = 0D516E820538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E870538B9010000000A = { ! fileRef = 0D516E830538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E880538B9010000000A = { ! fileRef = 0D516E840538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E890538B9010000000A = { ! fileRef = 0D516E810538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E8A0538B9010000000A = { ! fileRef = 0D516E820538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E8B0538B9010000000A = { ! fileRef = 0D516E830538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E8C0538B9010000000A = { ! fileRef = 0D516E840538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E8D0538B9010000000A = { ! fileRef = 0D516E810538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E8E0538B9010000000A = { ! fileRef = 0D516E820538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E8F0538B9010000000A = { ! fileRef = 0D516E830538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; ! }; ! 0D516E900538B9010000000A = { ! fileRef = 0D516E840538B9000000000A; ! isa = PBXBuildFile; ! settings = { ! }; }; 0D6DC6F704F03DE00025C233 = { *************** *** 405,408 **** --- 540,545 ---- 0DA720A904EE94D4002E9126, 0DB9ADBF05388B2A0000000A, + 0D516E850538B9010000000A, + 0D516E870538B9010000000A, ); isa = PBXHeadersBuildPhase; *************** *** 413,416 **** --- 550,554 ---- files = ( 0DA720AB04EE9524002E9126, + 0D516E7E0538B8E60000000A, ); isa = PBXResourcesBuildPhase; *************** *** 425,428 **** --- 563,568 ---- 0DCFFE5804EE97AE00AD80EC, 0DCFFE5A04EE97AE00AD80EC, + 0D516E860538B9010000000A, + 0D516E880538B9010000000A, ); isa = PBXSourcesBuildPhase; *************** *** 542,545 **** --- 682,687 ---- 0DA720AA04EE94DE002E9126, 0DB9ADBD05388B160000000A, + 0D516E890538B9010000000A, + 0D516E8B0538B9010000000A, ); isa = PBXHeadersBuildPhase; *************** *** 550,553 **** --- 692,696 ---- files = ( 0DA720AD04EE9529002E9126, + 0D516E7F0538B8E60000000A, ); isa = PBXResourcesBuildPhase; *************** *** 562,565 **** --- 705,710 ---- 0DCFFE6404EE97AE00AD80EC, 0DCFFE6604EE97AE00AD80EC, + 0D516E8A0538B9010000000A, + 0D516E8C0538B9010000000A, ); isa = PBXSourcesBuildPhase; *************** *** 983,986 **** --- 1128,1135 ---- 0DCEFD9C04EEC99E00F30895 = { children = ( + 0D516E810538B9000000000A, + 0D516E820538B9000000000A, + 0D516E830538B9000000000A, + 0D516E840538B9000000000A, ); isa = PBXGroup; |
From: Serge C. <ser...@us...> - 2003-10-11 22:32:45
|
Update of /cvsroot/mysql-cocoa/SMySQL/English.lproj/MCPConnectionWindow.nib In directory sc8-pr-cvs1:/tmp/cvs-serv21913/English.lproj/MCPConnectionWindow.nib Added Files: classes.nib info.nib objects.nib Log Message: Added first draft of classes to help making a GUI application using MySQL to store its 'document'. Start passing to version 2.2.2 (maybe should go to 2.3 when GUI part is checked). 2003-10-11; Serge Cohen. --- NEW FILE: classes.nib --- { IBClasses = ( {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, { ACTIONS = { askPassword = id; doCancel = id; doGo = id; modifyInstance = id; passwordClick = id; }; CLASS = MCPConnectionWinCont; LANGUAGE = ObjC; OUTLETS = { mDatabaseField = NSTextField; mHostField = NSTextField; mLoginField = NSTextField; mPasswordField = NSTextField; mPasswordSheet = NSPanel; mPortField = NSTextField; }; SUPERCLASS = NSWindowController; } ); IBVersion = 1; } --- NEW FILE: info.nib --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>IBDocumentLocation</key> <string>193 200 356 240 0 0 1280 832 </string> <key>IBFramework Version</key> <string>291.0</string> <key>IBOpenObjects</key> <array> <integer>46</integer> <integer>5</integer> </array> <key>IBSystem Version</key> <string>6L60</string> </dict> </plist> --- NEW FILE: objects.nib --- typedstreamè@NSIBObjectData Database :¨ «p ²¬ Password :¨ « hæd mHostField®ÀmLoginField®ÂmDatabaseField®Ä mPortField®øwindowNSNibControlConnector Ä5Ä,ÄF0Ä/Äá*Äð-ÄÀÄÄÄ<"Äë)Ä"ÄT7Äô,ĸÄ>#ÄÆ: |
From: Serge C. <ser...@us...> - 2003-10-11 22:30:59
|
Update of /cvsroot/mysql-cocoa/SMySQL/English.lproj/MCPConnectionWindow.nib In directory sc8-pr-cvs1:/tmp/cvs-serv21601/MCPConnectionWindow.nib Log Message: Directory /cvsroot/mysql-cocoa/SMySQL/English.lproj/MCPConnectionWindow.nib added to the repository |
From: Serge C. <ser...@us...> - 2003-10-11 20:32:30
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1:/tmp/cvs-serv2316/SMySQL.pbproj Modified Files: cohen.pbxuser project.pbxproj Log Message: Correction of the MCPConnection -init method (does not try to get some encoding information, use a default of ISO1). Modified the interface to setOption method, together with a first test implementation. 2003-10-10; Serge Cohen. Index: cohen.pbxuser =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/cohen.pbxuser,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** cohen.pbxuser 11 Oct 2003 19:21:31 -0000 1.27 --- cohen.pbxuser 11 Oct 2003 20:32:25 -0000 1.28 *************** *** 12,16 **** ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 87591625; PBXWorkspaceContents = ( { --- 12,16 ---- ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 87596635; PBXWorkspaceContents = ( { *************** *** 19,23 **** Split0 = { NavContent0 = { ! bookmark = 0DB9ADE805388F320000000A; history = ( 0D82DD6C04F0FEC100B97554, --- 19,23 ---- Split0 = { NavContent0 = { ! bookmark = 0DBDEEB305389FE50000000A; history = ( 0D82DD6C04F0FEC100B97554, *************** *** 27,36 **** 0D0D0ADF04F24A0900A8C863, 0DF73C6B04F49C5000A8C863, - 0DCAF5AF04FD1C0100A8C863, 0D13F24A05242FC500956BC3, - 0D13F24B05242FC500956BC3, - 0DB9ADC005388F320000000A, - 0DB9ADC105388F320000000A, - 0DB9ADC205388F320000000A, 0DB9ADC305388F320000000A, 0DB9ADC405388F320000000A, --- 27,31 ---- *************** *** 45,52 **** 0DB9ADCD05388F320000000A, 0DB9ADCE05388F320000000A, ! 0DB9ADCF05388F320000000A, ! 0DB9ADD005388F320000000A, ! 0DB9ADD105388F320000000A, ! 0DB9ADD205388F320000000A, ); prevStack = ( --- 40,51 ---- 0DB9ADCD05388F320000000A, 0DB9ADCE05388F320000000A, ! 0D9ECFF205389DCA0000000A, ! 0DBDEEA405389FE50000000A, ! 0DBDEEA505389FE50000000A, ! 0DBDEEA605389FE50000000A, ! 0DBDEEA705389FE50000000A, ! 0DBDEEA805389FE50000000A, ! 0DBDEEA905389FE50000000A, ! 0DBDEEAA05389FE50000000A, ); prevStack = ( *************** *** 110,115 **** 0D2108A70521F29900E58DA2, 0D13F24F05242FC500956BC3, - 0D13F25005242FC500956BC3, - 0DB9ADD305388F320000000A, 0DB9ADD405388F320000000A, 0DB9ADD505388F320000000A, --- 109,112 ---- *************** *** 132,140 **** 0DB9ADE605388F320000000A, 0DB9ADE705388F320000000A, ); }; NavCount = 1; NavGeometry0 = { ! Frame = "{{0, 0}, {928, 641}}"; NavBarVisible = YES; }; --- 129,157 ---- 0DB9ADE605388F320000000A, 0DB9ADE705388F320000000A, + 0D9ECFF405389DCA0000000A, + 0D9ECFF505389DCA0000000A, + 0D9ECFF605389DCA0000000A, + 0D9ECFF705389DCA0000000A, + 0D9ECFF805389DCA0000000A, + 0D9ECFF905389DCA0000000A, + 0D9ECFFA05389DCA0000000A, + 0D9ECFFB05389DCA0000000A, + 0D9ECFFC05389DCA0000000A, + 0D9ECFFD05389DCA0000000A, + 0D9ECFFE05389DCA0000000A, + 0D9ECFFF05389DCA0000000A, + 0DBDEEAB05389FE50000000A, + 0DBDEEAC05389FE50000000A, + 0DBDEEAD05389FE50000000A, + 0DBDEEAE05389FE50000000A, + 0DBDEEAF05389FE50000000A, + 0DBDEEB005389FE50000000A, + 0DBDEEB105389FE50000000A, + 0DBDEEB205389FE50000000A, ); }; NavCount = 1; NavGeometry0 = { ! Frame = "{{0, 0}, {887, 346}}"; NavBarVisible = YES; }; *************** *** 171,183 **** ContentSize = "{1143, 688}"; LeftSlideOut = { ! ActiveTab = 3; ! ActiveTabName = PBXTargetTreeModule; Collapsed = NO; Frame = "{{0, 23}, {1143, 665}}"; Split0 = { Collapsed = NO; ! Frame = "{{215, 0}, {928, 665}}"; Split0 = { ! Frame = "{{0, 24}, {928, 641}}"; }; SplitCount = 1; --- 188,202 ---- ContentSize = "{1143, 688}"; LeftSlideOut = { ! ActiveTab = 0; ! ActiveTabName = PBXGroupTreeModule; Collapsed = NO; Frame = "{{0, 23}, {1143, 665}}"; Split0 = { + ActiveTab = 3; + ActiveTabName = PBXProjectFindModule; Collapsed = NO; ! Frame = "{{256, 0}, {887, 665}}"; Split0 = { ! Frame = "{{0, 319}, {887, 346}}"; }; SplitCount = 1; *************** *** 299,303 **** }, ); ! PBXWorkspaceStateSaveDate = 87591625; }; perUserProjectItems = { --- 318,322 ---- }, ); ! PBXWorkspaceStateSaveDate = 87596635; }; perUserProjectItems = { *************** *** 306,312 **** 0D0D0AE104F24A0900A8C863 = 0D0D0AE104F24A0900A8C863; 0D13F24A05242FC500956BC3 = 0D13F24A05242FC500956BC3; - 0D13F24B05242FC500956BC3 = 0D13F24B05242FC500956BC3; 0D13F24F05242FC500956BC3 = 0D13F24F05242FC500956BC3; - 0D13F25005242FC500956BC3 = 0D13F25005242FC500956BC3; 0D2108A70521F29900E58DA2 = 0D2108A70521F29900E58DA2; 0D6DC6FD04F03FE40025C233 = 0D6DC6FD04F03FE40025C233; --- 325,329 ---- *************** *** 358,364 **** 0D8AD06904F04D8300C86E30 = 0D8AD06904F04D8300C86E30; 0D8AD06A04F04D8300C86E30 = 0D8AD06A04F04D8300C86E30; ! 0DB9ADC005388F320000000A = 0DB9ADC005388F320000000A; ! 0DB9ADC105388F320000000A = 0DB9ADC105388F320000000A; ! 0DB9ADC205388F320000000A = 0DB9ADC205388F320000000A; 0DB9ADC305388F320000000A = 0DB9ADC305388F320000000A; 0DB9ADC405388F320000000A = 0DB9ADC405388F320000000A; --- 375,391 ---- 0D8AD06904F04D8300C86E30 = 0D8AD06904F04D8300C86E30; 0D8AD06A04F04D8300C86E30 = 0D8AD06A04F04D8300C86E30; ! 0D9ECFF205389DCA0000000A = 0D9ECFF205389DCA0000000A; ! 0D9ECFF405389DCA0000000A = 0D9ECFF405389DCA0000000A; ! 0D9ECFF505389DCA0000000A = 0D9ECFF505389DCA0000000A; ! 0D9ECFF605389DCA0000000A = 0D9ECFF605389DCA0000000A; ! 0D9ECFF705389DCA0000000A = 0D9ECFF705389DCA0000000A; ! 0D9ECFF805389DCA0000000A = 0D9ECFF805389DCA0000000A; ! 0D9ECFF905389DCA0000000A = 0D9ECFF905389DCA0000000A; ! 0D9ECFFA05389DCA0000000A = 0D9ECFFA05389DCA0000000A; ! 0D9ECFFB05389DCA0000000A = 0D9ECFFB05389DCA0000000A; ! 0D9ECFFC05389DCA0000000A = 0D9ECFFC05389DCA0000000A; ! 0D9ECFFD05389DCA0000000A = 0D9ECFFD05389DCA0000000A; ! 0D9ECFFE05389DCA0000000A = 0D9ECFFE05389DCA0000000A; ! 0D9ECFFF05389DCA0000000A = 0D9ECFFF05389DCA0000000A; 0DB9ADC305388F320000000A = 0DB9ADC305388F320000000A; 0DB9ADC405388F320000000A = 0DB9ADC405388F320000000A; *************** *** 373,381 **** 0DB9ADCD05388F320000000A = 0DB9ADCD05388F320000000A; 0DB9ADCE05388F320000000A = 0DB9ADCE05388F320000000A; - 0DB9ADCF05388F320000000A = 0DB9ADCF05388F320000000A; - 0DB9ADD005388F320000000A = 0DB9ADD005388F320000000A; - 0DB9ADD105388F320000000A = 0DB9ADD105388F320000000A; - 0DB9ADD205388F320000000A = 0DB9ADD205388F320000000A; - 0DB9ADD305388F320000000A = 0DB9ADD305388F320000000A; 0DB9ADD405388F320000000A = 0DB9ADD405388F320000000A; 0DB9ADD505388F320000000A = 0DB9ADD505388F320000000A; --- 400,403 ---- *************** *** 398,403 **** 0DB9ADE605388F320000000A = 0DB9ADE605388F320000000A; 0DB9ADE705388F320000000A = 0DB9ADE705388F320000000A; ! 0DB9ADE805388F320000000A = 0DB9ADE805388F320000000A; ! 0DCAF5AF04FD1C0100A8C863 = 0DCAF5AF04FD1C0100A8C863; 0DCAF5B004FD1C0100A8C863 = 0DCAF5B004FD1C0100A8C863; 0DCAF5B104FD1C0100A8C863 = 0DCAF5B104FD1C0100A8C863; --- 420,439 ---- 0DB9ADE605388F320000000A = 0DB9ADE605388F320000000A; 0DB9ADE705388F320000000A = 0DB9ADE705388F320000000A; ! 0DBDEEA405389FE50000000A = 0DBDEEA405389FE50000000A; ! 0DBDEEA505389FE50000000A = 0DBDEEA505389FE50000000A; ! 0DBDEEA605389FE50000000A = 0DBDEEA605389FE50000000A; ! 0DBDEEA705389FE50000000A = 0DBDEEA705389FE50000000A; ! 0DBDEEA805389FE50000000A = 0DBDEEA805389FE50000000A; ! 0DBDEEA905389FE50000000A = 0DBDEEA905389FE50000000A; ! 0DBDEEAA05389FE50000000A = 0DBDEEAA05389FE50000000A; ! 0DBDEEAB05389FE50000000A = 0DBDEEAB05389FE50000000A; ! 0DBDEEAC05389FE50000000A = 0DBDEEAC05389FE50000000A; ! 0DBDEEAD05389FE50000000A = 0DBDEEAD05389FE50000000A; ! 0DBDEEAE05389FE50000000A = 0DBDEEAE05389FE50000000A; ! 0DBDEEAF05389FE50000000A = 0DBDEEAF05389FE50000000A; ! 0DBDEEB005389FE50000000A = 0DBDEEB005389FE50000000A; ! 0DBDEEB105389FE50000000A = 0DBDEEB105389FE50000000A; ! 0DBDEEB205389FE50000000A = 0DBDEEB205389FE50000000A; ! 0DBDEEB305389FE50000000A = 0DBDEEB305389FE50000000A; 0DCAF5B004FD1C0100A8C863 = 0DCAF5B004FD1C0100A8C863; 0DCAF5B104FD1C0100A8C863 = 0DCAF5B104FD1C0100A8C863; *************** *** 455,465 **** vrLoc = 0; }; - 0D13F24B05242FC500956BC3 = { - fRef = 0D13F25405242FC500956BC3; - glyphRangeLength = 743; - glyphRangeLocation = 0; - isa = PBXDocBookmark; - name = "MCPConnection+MCPFastQueries.html: MCPConnectio..."; - }; 0D13F24F05242FC500956BC3 = { fRef = 0D13F25805242FC500956BC3; --- 491,494 ---- *************** *** 472,482 **** vrLoc = 0; }; - 0D13F25005242FC500956BC3 = { - fRef = 0D13F25605242FC500956BC3; - glyphRangeLength = 743; - glyphRangeLocation = 0; - isa = PBXDocBookmark; - name = "MCPConnection+MCPFastQueries.html: MCPConnectio..."; - }; 0D13F25305242FC500956BC3 = { isa = PBXFileReference; --- 501,504 ---- *************** *** 485,500 **** refType = 0; }; - 0D13F25405242FC500956BC3 = { - isa = PBXFileReference; - name = "MCPConnection+MCPFastQueries.html"; - path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection+MCPFastQueries.html"; - refType = 0; - }; - 0D13F25605242FC500956BC3 = { - isa = PBXFileReference; - name = "MCPConnection+MCPFastQueries.html"; - path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection+MCPFastQueries.html"; - refType = 0; - }; 0D13F25805242FC500956BC3 = { isa = PBXFileReference; --- 507,510 ---- *************** *** 723,758 **** trg = 0867D69CFE84028FC02AAC07; }; ! 0DA7207E04EE8A99002E9126 = { ! activeExec = 0; }; ! 0DA7208504EE8C3F002E9126 = { ! activeExec = 0; }; ! 0DB9ADC005388F320000000A = { ! fRef = 0DB9ADE905388F320000000A; ! glyphRangeLength = 660; ! glyphRangeLocation = 3072; ! isa = PBXDocBookmark; ! name = "MCPConnection.html: initialize ..."; }; ! 0DB9ADC105388F320000000A = { fRef = 0DCFFE3904EE97AE00AD80EC; isa = PBXTextBookmark; ! name = "MCPConnection.h: 1"; rLen = 0; ! rLoc = 0; rType = 0; ! vrLen = 1542; ! vrLoc = 0; }; ! 0DB9ADC205388F320000000A = { fRef = 0DCFFE3A04EE97AE00AD80EC; isa = PBXTextBookmark; ! name = "MCPConnection.m: 1"; rLen = 0; ! rLoc = 0; rType = 0; ! vrLen = 1548; ! vrLoc = 0; }; 0DB9ADC305388F320000000A = { --- 733,865 ---- trg = 0867D69CFE84028FC02AAC07; }; ! 0D9ECFF205389DCA0000000A = { ! fRef = 0DCFFE3904EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.h: setConnectionOption:toValue:"; ! rLen = 0; ! rLoc = 2254; ! rType = 0; ! vrLen = 1221; ! vrLoc = 1632; }; ! 0D9ECFF405389DCA0000000A = { ! isa = PBXTargetBookmark; ! trg = 0DEFA05704F0318B00A68F01; }; ! 0D9ECFF505389DCA0000000A = { ! fRef = 0DCFFE3904EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.h: 69"; ! rLen = 0; ! rLoc = 2318; ! rType = 0; ! vrLen = 1261; ! vrLoc = 1447; }; ! 0D9ECFF605389DCA0000000A = { ! fRef = 0DCFFE3A04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.m: 281"; ! rLen = 0; ! rLoc = 9623; ! rType = 0; ! vrLen = 1775; ! vrLoc = 7692; ! }; ! 0D9ECFF705389DCA0000000A = { fRef = 0DCFFE3904EE97AE00AD80EC; isa = PBXTextBookmark; ! name = "MCPConnection.h: 69"; rLen = 0; ! rLoc = 2318; rType = 0; ! vrLen = 1320; ! vrLoc = 1388; }; ! 0D9ECFF805389DCA0000000A = { fRef = 0DCFFE3A04EE97AE00AD80EC; isa = PBXTextBookmark; ! name = "MCPConnection.m: 281"; rLen = 0; ! rLoc = 9623; rType = 0; ! vrLen = 1834; ! vrLoc = 7633; ! }; ! 0D9ECFF905389DCA0000000A = { ! fRef = 0DCFFE3904EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.h: 48"; ! rLen = 0; ! rLoc = 1730; ! rType = 0; ! vrLen = 1373; ! vrLoc = 880; ! }; ! 0D9ECFFA05389DCA0000000A = { ! fRef = 0DCFFE3A04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.m: 281"; ! rLen = 0; ! rLoc = 9623; ! rType = 0; ! vrLen = 1833; ! vrLoc = 7633; ! }; ! 0D9ECFFB05389DCA0000000A = { ! fRef = 0DCFFE3904EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.h: 47"; ! rLen = 16; ! rLoc = 1649; ! rType = 0; ! vrLen = 1373; ! vrLoc = 880; ! }; ! 0D9ECFFC05389DCA0000000A = { ! fRef = 0DCFFE3A04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.m: 226"; ! rLen = 21; ! rLoc = 7125; ! rType = 0; ! vrLen = 1560; ! vrLoc = 6486; ! }; ! 0D9ECFFD05389DCA0000000A = { ! fRef = 0DCFFE3904EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.h: 69"; ! rLen = 0; ! rLoc = 2254; ! rType = 0; ! vrLen = 1221; ! vrLoc = 1632; ! }; ! 0D9ECFFE05389DCA0000000A = { ! fRef = 0DCFFE3A04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.m: setConnectionOption:withArgument:"; ! rLen = 0; ! rLoc = 7540; ! rType = 0; ! vrLen = 1504; ! vrLoc = 6486; ! }; ! 0D9ECFFF05389DCA0000000A = { ! fRef = 0DCFFE3904EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.h: setConnectionOption:toValue:"; ! rLen = 0; ! rLoc = 2254; ! rType = 0; ! vrLen = 1221; ! vrLoc = 1632; ! }; ! 0DA7207E04EE8A99002E9126 = { ! activeExec = 0; ! }; ! 0DA7208504EE8C3F002E9126 = { ! activeExec = 0; }; 0DB9ADC305388F320000000A = { *************** *** 876,958 **** vrLoc = 0; }; - 0DB9ADCF05388F320000000A = { - isa = PBXTargetBookmark; - trg = 0867D69CFE84028FC02AAC07; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 187}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - 0867D69DFE84028FC02AAC07, - ); - }; - }; - 0DB9ADD005388F320000000A = { - isa = PBXTargetBookmark; - trg = 0DA7207E04EE8A99002E9126; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 272}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - 0DA7207904EE8A99002E9126, - ); - }; - }; - 0DB9ADD105388F320000000A = { - isa = PBXTargetBookmark; - trg = 0DA7208504EE8C3F002E9126; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {636, 272}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; - TOCViewSelectedItems = ( - 0DA7208004EE8C3F002E9126, - ); - }; - }; - 0DB9ADD205388F320000000A = { - isa = PBXTargetBookmark; - trg = 0DEFA05704F0318B00A68F01; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {637, 233}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {252, 587}}"; - TOCViewSelectedItems = ( - PBXTargetSummarySettingsModule, - ); - }; - }; - 0DB9ADD305388F320000000A = { - fRef = 0DB9ADEA05388F320000000A; - glyphRangeLength = 660; - glyphRangeLocation = 3072; - isa = PBXDocBookmark; - name = "MCPConnection.html: initialize ..."; - }; 0DB9ADD405388F320000000A = { fRef = 0DCFFE3904EE97AE00AD80EC; --- 983,986 ---- *************** *** 1128,1133 **** isa = PBXTargetBookmark; trg = 0867D69CFE84028FC02AAC07; uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 187}}"; TOCViewExpandedItems = ( "com.apple.target-editor-pane.settings", --- 1156,1187 ---- isa = PBXTargetBookmark; trg = 0867D69CFE84028FC02AAC07; + }; + 0DB9ADE605388F320000000A = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + }; + 0DB9ADE705388F320000000A = { + isa = PBXTargetBookmark; + trg = 0DA7208504EE8C3F002E9126; + }; + 0DBDEEA405389FE50000000A = { + fRef = 0DCFFE3A04EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPConnection.m: 209"; + rLen = 0; + rLoc = 6602; + rType = 0; + vrLen = 1083; + vrLoc = 6001; + }; + 0DBDEEA505389FE50000000A = { + bstl = 014CEA450018CDF011CA2923; + isa = PBXBuildStyleBookmark; + }; + 0DBDEEA605389FE50000000A = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; TOCViewExpandedItems = ( "com.apple.target-editor-pane.settings", *************** *** 1139,1151 **** TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; TOCViewSelectedItems = ( ! 0867D69DFE84028FC02AAC07, ); }; }; ! 0DB9ADE605388F320000000A = { isa = PBXTargetBookmark; ! trg = 0DA7207E04EE8A99002E9126; uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 272}}"; TOCViewExpandedItems = ( "com.apple.target-editor-pane.settings", --- 1193,1205 ---- TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; TOCViewSelectedItems = ( ! PBXBSExpertAspectModule, ); }; }; ! 0DBDEEA705389FE50000000A = { isa = PBXTargetBookmark; ! trg = 0DA7208504EE8C3F002E9126; uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; TOCViewExpandedItems = ( "com.apple.target-editor-pane.settings", *************** *** 1157,1169 **** TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; TOCViewSelectedItems = ( ! 0DA7207904EE8A99002E9126, ); }; }; ! 0DB9ADE705388F320000000A = { isa = PBXTargetBookmark; ! trg = 0DA7208504EE8C3F002E9126; uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 272}}"; TOCViewExpandedItems = ( "com.apple.target-editor-pane.settings", --- 1211,1239 ---- TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; TOCViewSelectedItems = ( ! PBXBSExpertAspectModule, ); }; }; ! 0DBDEEA805389FE50000000A = { isa = PBXTargetBookmark; ! trg = 0DCFFE7404EE9B4400AD80EC; uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 266}}"; ! TOCViewExpandedItems = ( ! "com.apple.target-editor-pane.settings", ! "com.apple.target-editor-pane.settings.simple", ! "com.apple.target-editor-pane.buildphases", ! ); ! TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; ! TOCViewSelectedItems = ( ! PBXBSExpertAspectModule, ! ); ! }; ! }; ! 0DBDEEA905389FE50000000A = { ! isa = PBXTargetBookmark; ! trg = 0DEFA05704F0318B00A68F01; ! uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 587}}"; TOCViewExpandedItems = ( "com.apple.target-editor-pane.settings", *************** *** 1175,1187 **** TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; TOCViewSelectedItems = ( ! 0DA7208004EE8C3F002E9126, ); }; }; ! 0DB9ADE805388F320000000A = { isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 545}, {637, 587}}"; TOCViewExpandedItems = ( "com.apple.target-editor-pane.settings", --- 1245,1289 ---- TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; TOCViewSelectedItems = ( ! 0DEFA05904F0336400A68F01, ); }; }; ! 0DBDEEAA05389FE50000000A = { ! isa = PBXTargetBookmark; ! trg = 0867D69CFE84028FC02AAC07; ! uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; ! TOCViewExpandedItems = ( ! "com.apple.target-editor-pane.settings", ! "com.apple.target-editor-pane.settings.simple", ! "com.apple.target-editor-pane.info-plist", ! "com.apple.target-editor-pane.info-plist.simple", ! "com.apple.target-editor-pane.buildphases", ! ); ! TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; ! TOCViewSelectedItems = ( ! PBXBSExpertAspectModule, ! ); ! }; ! }; ! 0DBDEEAB05389FE50000000A = { ! fRef = 0DCFFE3A04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.m: 209"; ! rLen = 0; ! rLoc = 6602; ! rType = 0; ! vrLen = 1083; ! vrLoc = 6001; ! }; ! 0DBDEEAC05389FE50000000A = { ! bstl = 014CEA450018CDF011CA2923; ! isa = PBXBuildStyleBookmark; ! }; ! 0DBDEEAD05389FE50000000A = { isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 587}}"; TOCViewExpandedItems = ( "com.apple.target-editor-pane.settings", *************** *** 1191,1195 **** "com.apple.target-editor-pane.buildphases", ); ! TOCViewMasterVisibleRect = "{{0, 0}, {252, 587}}"; TOCViewSelectedItems = ( 0DEFA05904F0336400A68F01, --- 1293,1297 ---- "com.apple.target-editor-pane.buildphases", ); ! TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; TOCViewSelectedItems = ( 0DEFA05904F0336400A68F01, *************** *** 1197,1215 **** }; }; ! 0DB9ADE905388F320000000A = { ! isa = PBXFileReference; ! name = MCPConnection.html; ! path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection.html"; ! refType = 0; }; ! 0DB9ADEA05388F320000000A = { ! isa = PBXFileReference; ! name = MCPConnection.html; ! path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection.html"; ! refType = 0; }; ! 0DCAF5AF04FD1C0100A8C863 = { isa = PBXTargetBookmark; trg = 0DCFFE7404EE9B4400AD80EC; }; 0DCAF5B004FD1C0100A8C863 = { --- 1299,1407 ---- }; }; ! 0DBDEEAE05389FE50000000A = { ! isa = PBXTargetBookmark; ! trg = 0867D69CFE84028FC02AAC07; ! uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; ! TOCViewExpandedItems = ( ! "com.apple.target-editor-pane.settings", ! "com.apple.target-editor-pane.settings.simple", ! "com.apple.target-editor-pane.info-plist", ! "com.apple.target-editor-pane.info-plist.simple", ! "com.apple.target-editor-pane.buildphases", ! ); ! TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; ! TOCViewSelectedItems = ( ! PBXBSExpertAspectModule, ! ); ! }; }; ! 0DBDEEAF05389FE50000000A = { ! isa = PBXTargetBookmark; ! trg = 0DA7207E04EE8A99002E9126; ! uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; ! TOCViewExpandedItems = ( ! "com.apple.target-editor-pane.settings", ! "com.apple.target-editor-pane.settings.simple", ! "com.apple.target-editor-pane.info-plist", ! "com.apple.target-editor-pane.info-plist.simple", ! "com.apple.target-editor-pane.buildphases", ! ); ! TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; ! TOCViewSelectedItems = ( ! PBXBSExpertAspectModule, ! ); ! }; }; ! 0DBDEEB005389FE50000000A = { ! isa = PBXTargetBookmark; ! trg = 0DA7208504EE8C3F002E9126; ! uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 419}}"; ! TOCViewExpandedItems = ( ! "com.apple.target-editor-pane.settings", ! "com.apple.target-editor-pane.settings.simple", ! "com.apple.target-editor-pane.info-plist", ! "com.apple.target-editor-pane.info-plist.simple", ! "com.apple.target-editor-pane.buildphases", ! ); ! TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; ! TOCViewSelectedItems = ( ! PBXBSExpertAspectModule, ! ); ! }; ! }; ! 0DBDEEB105389FE50000000A = { isa = PBXTargetBookmark; trg = 0DCFFE7404EE9B4400AD80EC; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 266}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + PBXBSExpertAspectModule, + ); + }; + }; + 0DBDEEB205389FE50000000A = { + isa = PBXTargetBookmark; + trg = 0DEFA05704F0318B00A68F01; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 587}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0DEFA05904F0336400A68F01, + ); + }; + }; + 0DBDEEB305389FE50000000A = { + isa = PBXTargetBookmark; + trg = 0867D69CFE84028FC02AAC07; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {607, 292}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {241, 292}}"; + TOCViewSelectedItems = ( + PBXBSExpertAspectModule, + ); + }; }; 0DCAF5B004FD1C0100A8C863 = { Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** project.pbxproj 11 Oct 2003 19:21:32 -0000 1.27 --- project.pbxproj 11 Oct 2003 20:32:26 -0000 1.28 *************** *** 139,143 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.1; FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_VERSION = A; --- 139,143 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.2; FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_VERSION = A; *************** *** 461,465 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.1; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; --- 461,465 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.2; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; *************** *** 598,602 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.1; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; --- 598,602 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.2; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; *************** *** 1554,1558 **** runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.2.1\"\n\nSOURCE_FILES=\"MCPConnection.h MCPConnection.m MCPFastQueries.h MCPFastQueries.m MCPNull.h MCPNull.m MCPResult.h MCPResult.m MCPResultPlus.h MCPResultPlus.m SMySQL.h SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test.command\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README \n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 --- 1554,1558 ---- runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.2.2\"\n\nSOURCE_FILES=\"MCPConnection.h MCPConnection.m MCPFastQueries.h MCPFastQueries.m MCPNull.h MCPNull.m MCPResult.h MCPResult.m MCPResultPlus.h MCPResultPlus.m SMySQL.h SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test.command\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README \n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 |
From: Serge C. <ser...@us...> - 2003-10-11 20:32:29
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit In directory sc8-pr-cvs1:/tmp/cvs-serv2316/MCPFoundationKit Modified Files: MCPConnection.h MCPConnection.m MCPResult.m Log Message: Correction of the MCPConnection -init method (does not try to get some encoding information, use a default of ISO1). Modified the interface to setOption method, together with a first test implementation. 2003-10-10; Serge Cohen. Index: MCPConnection.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPConnection.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPConnection.h 11 Oct 2003 18:48:07 -0000 1.1 --- MCPConnection.h 11 Oct 2003 20:32:25 -0000 1.2 *************** *** 45,48 **** --- 45,49 ---- BOOL mConnected; /*"Reflect the fact that the connection is already in place or not"*/ NSStringEncoding mEncoding; /*"The encoding used by MySQL server, to ISO-1 default"*/ + unsigned int mConnectionFlags; /*"The flags to be used for the connection to the database."*/ } /*" *************** *** 66,70 **** - (id) initToSocket:(NSString *) socket withLogin:(NSString *) login password:(NSString *) pass; ! - (BOOL) setConnectionOption:(int) option withArgument:(id) arg; // Port to 0 to use the default port - (BOOL) connectWithLogin:(NSString *) login password:(NSString *) pass host:(NSString *) host port:(int) port socket:(NSString *) socket; --- 67,71 ---- - (id) initToSocket:(NSString *) socket withLogin:(NSString *) login password:(NSString *) pass; ! - (BOOL) setConnectionOption:(int) option toValue:(BOOL) value; // Port to 0 to use the default port - (BOOL) connectWithLogin:(NSString *) login password:(NSString *) pass host:(NSString *) host port:(int) port socket:(NSString *) socket; Index: MCPConnection.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPConnection.m,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPConnection.m 11 Oct 2003 18:48:07 -0000 1.1 --- MCPConnection.m 11 Oct 2003 20:32:25 -0000 1.2 *************** *** 122,126 **** { if (self = [MCPConnection class]) { ! [self setVersion:020000]; // Ma.Mi.Re -> MaMiRe } --- 122,126 ---- { if (self = [MCPConnection class]) { ! [self setVersion:020202]; // Ma.Mi.Re -> MaMiRe } *************** *** 137,140 **** --- 137,146 ---- /*" Initialise a MySQLConnection without making a connection, most likely useless, except with !{setConnectionOption:withArgument:}. + + Because this method is not making a connection to any MySQL server, it can not know already what the DB server encoding will be, + hence the encoding is set to some default (at present this is NSISOLatin1StringEncoding). Obviously this is reset to a proper + value as soon as a DB connection is performed. + + #{I AM CURRENTLY NOT TESTING THIS METHOD, so it is likely to be buggy}... I'd be SUPER happy to ear/read your feed-back on this. "*/ { *************** *** 146,151 **** return nil; } ! // mEncoding = NSISOLatin1StringEncoding; ! mEncoding = [MCPConnection encodingForMySQLEncoding:mysql_character_set_name(mConnection)]; return self; } --- 152,158 ---- return nil; } ! mEncoding = NSISOLatin1StringEncoding; ! mConnectionFlags = kMCPConnectionDefaultOption; ! // mEncoding = [MCPConnection encodingForMySQLEncoding:mysql_character_set_name(mConnection)]; return self; } *************** *** 181,184 **** --- 188,193 ---- } + mConnectionFlags = kMCPConnectionDefaultOption; + [self connectWithLogin:login password:pass host:host port:port socket:nil]; return self; *************** *** 214,217 **** --- 223,228 ---- } + mConnectionFlags = kMCPConnectionDefaultOption; + [self connectWithLogin:login password:pass host:NULL port:0 socket:socket]; return self; *************** *** 219,225 **** ! - (BOOL) setConnectionOption:(int) option withArgument:(id) arg /*" ! #{NOT YET IMPLEMENTED} This method is to be used for getting special option for a connection, in which case the MCPConnection has to be inited with the init method, then option are selected, finally connection is done using one of the connect methods: --- 230,236 ---- ! - (BOOL) setConnectionOption:(int) option toValue:(BOOL) value /*" ! #{IMPLEMENTED BUT NOT TESTED!!} This method is to be used for getting special option for a connection, in which case the MCPConnection has to be inited with the init method, then option are selected, finally connection is done using one of the connect methods: *************** *** 227,231 **** !{ MCPConnection *theConnect = [[MCPConnection alloc] init]; ! [theConnect setConnectionOption: option withArgument: arg]; [theConnect connectToHost:albert.com withLogin:@"toto" password:@"albert" port:0]; .... --- 238,242 ---- !{ MCPConnection *theConnect = [[MCPConnection alloc] init]; ! [theConnect setConnectionOption: option toValue: value]; [theConnect connectToHost:albert.com withLogin:@"toto" password:@"albert" port:0]; .... *************** *** 239,242 **** --- 250,260 ---- return FALSE; } + #warning Have to check the syntax of the following assignements: + if (value) { //Set this option to true + mConnectionFlags |= option; + } + else { //Set this option to false + mConnectionFlags &= (! option); + } return YES; } *************** *** 279,283 **** } ! theRet = mysql_real_connect(mConnection, theHost, theLogin, thePass, NULL, port, theSocket, kMCPConnectionDefaultOption); if (theRet != mConnection) { return mConnected = NO; --- 297,301 ---- } ! theRet = mysql_real_connect(mConnection, theHost, theLogin, thePass, NULL, port, theSocket, mConnectionFlags); if (theRet != mConnection) { return mConnected = NO; Index: MCPResult.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/MCPResult.m,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MCPResult.m 11 Oct 2003 18:48:07 -0000 1.1 --- MCPResult.m 11 Oct 2003 20:32:25 -0000 1.2 *************** *** 71,75 **** { if (self = [MCPResult class]) { ! [self setVersion:020000]; // Ma.Mi.Re -> MaMiRe MCPYear0000 = [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:-63146822400.0] retain]; [MCPYear0000 setCalendarFormat:@"%Y"]; --- 71,75 ---- { if (self = [MCPResult class]) { ! [self setVersion:020202]; // Ma.Mi.Re -> MaMiRe MCPYear0000 = [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:-63146822400.0] retain]; [MCPYear0000 setCalendarFormat:@"%Y"]; |
From: Serge C. <ser...@us...> - 2003-10-11 19:21:40
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1:/tmp/cvs-serv24074/SMySQL.pbproj Modified Files: cohen.pbxuser project.pbxproj Log Message: Few modifications to the sources, to make the use of SMySQL_bundled and SMySQL_static easier (remarks by Ezat Hashim). 2003-10-10; Serge Cohen. Index: cohen.pbxuser =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/cohen.pbxuser,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** cohen.pbxuser 4 Oct 2003 18:21:17 -0000 1.26 --- cohen.pbxuser 11 Oct 2003 19:21:31 -0000 1.27 *************** *** 4,11 **** activeBuildStyle = 014CEA450018CDF011CA2923; activeExecutable = 0DCFFE7604EE9B4400AD80EC; ! activeTarget = 0DCFFE7404EE9B4400AD80EC; addToTargets = ( 0DA7207E04EE8A99002E9126, - 0DA7208504EE8C3F002E9126, ); executables = ( --- 4,10 ---- activeBuildStyle = 014CEA450018CDF011CA2923; activeExecutable = 0DCFFE7604EE9B4400AD80EC; ! activeTarget = 0DEFA05704F0318B00A68F01; addToTargets = ( 0DA7207E04EE8A99002E9126, ); executables = ( *************** *** 13,17 **** ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 86256043; PBXWorkspaceContents = ( { --- 12,16 ---- ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 87591625; PBXWorkspaceContents = ( { *************** *** 20,24 **** Split0 = { NavContent0 = { ! bookmark = 0D13F25205242FC500956BC3; history = ( 0D82DD6C04F0FEC100B97554, --- 19,23 ---- Split0 = { NavContent0 = { ! bookmark = 0DB9ADE805388F320000000A; history = ( 0D82DD6C04F0FEC100B97554, *************** *** 28,42 **** 0D0D0ADF04F24A0900A8C863, 0DF73C6B04F49C5000A8C863, - 0DF73C6C04F49C5000A8C863, - 0D7C23E104F505B300A8C863, - 0DCAF5AD04FD1C0100A8C863, - 0DCAF5AE04FD1C0100A8C863, 0DCAF5AF04FD1C0100A8C863, - 0D2108A50521F29900E58DA2, - 0D13F24905242FC500956BC3, 0D13F24A05242FC500956BC3, 0D13F24B05242FC500956BC3, ! 0D13F24C05242FC500956BC3, ! 0D13F24D05242FC500956BC3, ); prevStack = ( --- 27,52 ---- 0D0D0ADF04F24A0900A8C863, 0DF73C6B04F49C5000A8C863, 0DCAF5AF04FD1C0100A8C863, 0D13F24A05242FC500956BC3, 0D13F24B05242FC500956BC3, ! 0DB9ADC005388F320000000A, ! 0DB9ADC105388F320000000A, ! 0DB9ADC205388F320000000A, ! 0DB9ADC305388F320000000A, ! 0DB9ADC405388F320000000A, ! 0DB9ADC505388F320000000A, ! 0DB9ADC605388F320000000A, ! 0DB9ADC705388F320000000A, ! 0DB9ADC805388F320000000A, ! 0DB9ADC905388F320000000A, ! 0DB9ADCA05388F320000000A, ! 0DB9ADCB05388F320000000A, ! 0DB9ADCC05388F320000000A, ! 0DB9ADCD05388F320000000A, ! 0DB9ADCE05388F320000000A, ! 0DB9ADCF05388F320000000A, ! 0DB9ADD005388F320000000A, ! 0DB9ADD105388F320000000A, ! 0DB9ADD205388F320000000A, ); prevStack = ( *************** *** 47,53 **** 0D079E9304F100D800A8C863, 0D0D0AE104F24A0900A8C863, - 0DF73C7104F49C5000A8C863, 0DF73C7204F49C5000A8C863, - 0DF73C7304F49C5000A8C863, 0DF73C7404F49C5000A8C863, 0DF73C7504F49C5000A8C863, --- 57,61 ---- *************** *** 101,113 **** 0DCAF5B404FD1C0100A8C863, 0D2108A70521F29900E58DA2, - 0D13F24E05242FC500956BC3, 0D13F24F05242FC500956BC3, 0D13F25005242FC500956BC3, ! 0D13F25105242FC500956BC3, ); }; NavCount = 1; NavGeometry0 = { ! Frame = "{{0, 0}, {887, 641}}"; NavBarVisible = YES; }; --- 109,140 ---- 0DCAF5B404FD1C0100A8C863, 0D2108A70521F29900E58DA2, 0D13F24F05242FC500956BC3, 0D13F25005242FC500956BC3, ! 0DB9ADD305388F320000000A, ! 0DB9ADD405388F320000000A, ! 0DB9ADD505388F320000000A, ! 0DB9ADD605388F320000000A, ! 0DB9ADD705388F320000000A, ! 0DB9ADD805388F320000000A, ! 0DB9ADD905388F320000000A, ! 0DB9ADDA05388F320000000A, ! 0DB9ADDB05388F320000000A, ! 0DB9ADDC05388F320000000A, ! 0DB9ADDD05388F320000000A, ! 0DB9ADDE05388F320000000A, ! 0DB9ADDF05388F320000000A, ! 0DB9ADE005388F320000000A, ! 0DB9ADE105388F320000000A, ! 0DB9ADE205388F320000000A, ! 0DB9ADE305388F320000000A, ! 0DB9ADE405388F320000000A, ! 0DB9ADE505388F320000000A, ! 0DB9ADE605388F320000000A, ! 0DB9ADE705388F320000000A, ); }; NavCount = 1; NavGeometry0 = { ! Frame = "{{0, 0}, {928, 641}}"; NavBarVisible = YES; }; *************** *** 144,156 **** ContentSize = "{1143, 688}"; LeftSlideOut = { ! ActiveTab = 0; ! ActiveTabName = PBXGroupTreeModule; Collapsed = NO; Frame = "{{0, 23}, {1143, 665}}"; Split0 = { Collapsed = NO; ! Frame = "{{256, 0}, {887, 665}}"; Split0 = { ! Frame = "{{0, 24}, {887, 641}}"; }; SplitCount = 1; --- 171,183 ---- ContentSize = "{1143, 688}"; LeftSlideOut = { ! ActiveTab = 3; ! ActiveTabName = PBXTargetTreeModule; Collapsed = NO; Frame = "{{0, 23}, {1143, 665}}"; Split0 = { Collapsed = NO; ! Frame = "{{215, 0}, {928, 665}}"; Split0 = { ! Frame = "{{0, 24}, {928, 641}}"; }; SplitCount = 1; *************** *** 272,276 **** }, ); ! PBXWorkspaceStateSaveDate = 86256043; }; perUserProjectItems = { --- 299,303 ---- }, ); ! PBXWorkspaceStateSaveDate = 87591625; }; perUserProjectItems = { *************** *** 278,295 **** 0D0D0ADF04F24A0900A8C863 = 0D0D0ADF04F24A0900A8C863; 0D0D0AE104F24A0900A8C863 = 0D0D0AE104F24A0900A8C863; - 0D13F24905242FC500956BC3 = 0D13F24905242FC500956BC3; 0D13F24A05242FC500956BC3 = 0D13F24A05242FC500956BC3; 0D13F24B05242FC500956BC3 = 0D13F24B05242FC500956BC3; - 0D13F24C05242FC500956BC3 = 0D13F24C05242FC500956BC3; - 0D13F24D05242FC500956BC3 = 0D13F24D05242FC500956BC3; - 0D13F24E05242FC500956BC3 = 0D13F24E05242FC500956BC3; 0D13F24F05242FC500956BC3 = 0D13F24F05242FC500956BC3; 0D13F25005242FC500956BC3 = 0D13F25005242FC500956BC3; - 0D13F25105242FC500956BC3 = 0D13F25105242FC500956BC3; - 0D13F25205242FC500956BC3 = 0D13F25205242FC500956BC3; - 0D2108A50521F29900E58DA2 = 0D2108A50521F29900E58DA2; 0D2108A70521F29900E58DA2 = 0D2108A70521F29900E58DA2; 0D6DC6FD04F03FE40025C233 = 0D6DC6FD04F03FE40025C233; - 0D7C23E104F505B300A8C863 = 0D7C23E104F505B300A8C863; 0D7C23E404F505B300A8C863 = 0D7C23E404F505B300A8C863; 0D7C23E504F505B300A8C863 = 0D7C23E504F505B300A8C863; --- 305,314 ---- *************** *** 339,344 **** 0D8AD06904F04D8300C86E30 = 0D8AD06904F04D8300C86E30; 0D8AD06A04F04D8300C86E30 = 0D8AD06A04F04D8300C86E30; ! 0DCAF5AD04FD1C0100A8C863 = 0DCAF5AD04FD1C0100A8C863; ! 0DCAF5AE04FD1C0100A8C863 = 0DCAF5AE04FD1C0100A8C863; 0DCAF5AF04FD1C0100A8C863 = 0DCAF5AF04FD1C0100A8C863; 0DCAF5B004FD1C0100A8C863 = 0DCAF5B004FD1C0100A8C863; --- 358,402 ---- 0D8AD06904F04D8300C86E30 = 0D8AD06904F04D8300C86E30; 0D8AD06A04F04D8300C86E30 = 0D8AD06A04F04D8300C86E30; ! 0DB9ADC005388F320000000A = 0DB9ADC005388F320000000A; ! 0DB9ADC105388F320000000A = 0DB9ADC105388F320000000A; ! 0DB9ADC205388F320000000A = 0DB9ADC205388F320000000A; ! 0DB9ADC305388F320000000A = 0DB9ADC305388F320000000A; ! 0DB9ADC405388F320000000A = 0DB9ADC405388F320000000A; ! 0DB9ADC505388F320000000A = 0DB9ADC505388F320000000A; ! 0DB9ADC605388F320000000A = 0DB9ADC605388F320000000A; ! 0DB9ADC705388F320000000A = 0DB9ADC705388F320000000A; ! 0DB9ADC805388F320000000A = 0DB9ADC805388F320000000A; ! 0DB9ADC905388F320000000A = 0DB9ADC905388F320000000A; ! 0DB9ADCA05388F320000000A = 0DB9ADCA05388F320000000A; ! 0DB9ADCB05388F320000000A = 0DB9ADCB05388F320000000A; ! 0DB9ADCC05388F320000000A = 0DB9ADCC05388F320000000A; ! 0DB9ADCD05388F320000000A = 0DB9ADCD05388F320000000A; ! 0DB9ADCE05388F320000000A = 0DB9ADCE05388F320000000A; ! 0DB9ADCF05388F320000000A = 0DB9ADCF05388F320000000A; ! 0DB9ADD005388F320000000A = 0DB9ADD005388F320000000A; ! 0DB9ADD105388F320000000A = 0DB9ADD105388F320000000A; ! 0DB9ADD205388F320000000A = 0DB9ADD205388F320000000A; ! 0DB9ADD305388F320000000A = 0DB9ADD305388F320000000A; ! 0DB9ADD405388F320000000A = 0DB9ADD405388F320000000A; ! 0DB9ADD505388F320000000A = 0DB9ADD505388F320000000A; ! 0DB9ADD605388F320000000A = 0DB9ADD605388F320000000A; ! 0DB9ADD705388F320000000A = 0DB9ADD705388F320000000A; ! 0DB9ADD805388F320000000A = 0DB9ADD805388F320000000A; ! 0DB9ADD905388F320000000A = 0DB9ADD905388F320000000A; ! 0DB9ADDA05388F320000000A = 0DB9ADDA05388F320000000A; ! 0DB9ADDB05388F320000000A = 0DB9ADDB05388F320000000A; ! 0DB9ADDC05388F320000000A = 0DB9ADDC05388F320000000A; ! 0DB9ADDD05388F320000000A = 0DB9ADDD05388F320000000A; ! 0DB9ADDE05388F320000000A = 0DB9ADDE05388F320000000A; ! 0DB9ADDF05388F320000000A = 0DB9ADDF05388F320000000A; ! 0DB9ADE005388F320000000A = 0DB9ADE005388F320000000A; ! 0DB9ADE105388F320000000A = 0DB9ADE105388F320000000A; ! 0DB9ADE205388F320000000A = 0DB9ADE205388F320000000A; ! 0DB9ADE305388F320000000A = 0DB9ADE305388F320000000A; ! 0DB9ADE405388F320000000A = 0DB9ADE405388F320000000A; ! 0DB9ADE505388F320000000A = 0DB9ADE505388F320000000A; ! 0DB9ADE605388F320000000A = 0DB9ADE605388F320000000A; ! 0DB9ADE705388F320000000A = 0DB9ADE705388F320000000A; ! 0DB9ADE805388F320000000A = 0DB9ADE805388F320000000A; 0DCAF5AF04FD1C0100A8C863 = 0DCAF5AF04FD1C0100A8C863; 0DCAF5B004FD1C0100A8C863 = 0DCAF5B004FD1C0100A8C863; *************** *** 349,356 **** 0DE4C10104FC079E00A8C863 = 0DE4C10104FC079E00A8C863; 0DF73C6B04F49C5000A8C863 = 0DF73C6B04F49C5000A8C863; - 0DF73C6C04F49C5000A8C863 = 0DF73C6C04F49C5000A8C863; - 0DF73C7104F49C5000A8C863 = 0DF73C7104F49C5000A8C863; 0DF73C7204F49C5000A8C863 = 0DF73C7204F49C5000A8C863; - 0DF73C7304F49C5000A8C863 = 0DF73C7304F49C5000A8C863; 0DF73C7404F49C5000A8C863 = 0DF73C7404F49C5000A8C863; 0DF73C7504F49C5000A8C863 = 0DF73C7504F49C5000A8C863; --- 407,411 ---- *************** *** 390,403 **** vrLoc = 0; }; - 0D13F24905242FC500956BC3 = { - fRef = 0DCFFE4304EE97AE00AD80EC; - isa = PBXTextBookmark; - name = "SMySQL.h: 27"; - rLen = 245; - rLoc = 966; - rType = 0; - vrLen = 1238; - vrLoc = 0; - }; 0D13F24A05242FC500956BC3 = { fRef = 0D13F25305242FC500956BC3; --- 445,448 ---- *************** *** 417,441 **** name = "MCPConnection+MCPFastQueries.html: MCPConnectio..."; }; - 0D13F24C05242FC500956BC3 = { - fRef = 0D13F25505242FC500956BC3; - glyphRangeLength = 436; - glyphRangeLocation = 3105; - isa = PBXDocBookmark; - name = "MCPConnection.html: Initialize t..."; - }; - 0D13F24D05242FC500956BC3 = { - fRef = 0DCFFE3A04EE97AE00AD80EC; - isa = PBXBookmark; - }; - 0D13F24E05242FC500956BC3 = { - fRef = 0DCFFE4304EE97AE00AD80EC; - isa = PBXTextBookmark; - name = "SMySQL.h: 27"; - rLen = 245; - rLoc = 966; - rType = 0; - vrLen = 1238; - vrLoc = 0; - }; 0D13F24F05242FC500956BC3 = { fRef = 0D13F25805242FC500956BC3; --- 462,465 ---- *************** *** 455,475 **** name = "MCPConnection+MCPFastQueries.html: MCPConnectio..."; }; - 0D13F25105242FC500956BC3 = { - fRef = 0D13F25705242FC500956BC3; - glyphRangeLength = 436; - glyphRangeLocation = 3105; - isa = PBXDocBookmark; - name = "MCPConnection.html: Initialize t..."; - }; - 0D13F25205242FC500956BC3 = { - fRef = 0DCFFE3A04EE97AE00AD80EC; - isa = PBXTextBookmark; - name = "MCPConnection.m: 155"; - rLen = 0; - rLoc = 4730; - rType = 0; - vrLen = 1388; - vrLoc = 4148; - }; 0D13F25305242FC500956BC3 = { isa = PBXFileReference; --- 479,482 ---- *************** *** 484,493 **** refType = 0; }; - 0D13F25505242FC500956BC3 = { - isa = PBXFileReference; - name = MCPConnection.html; - path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection.html"; - refType = 0; - }; 0D13F25605242FC500956BC3 = { isa = PBXFileReference; --- 491,494 ---- *************** *** 496,505 **** refType = 0; }; - 0D13F25705242FC500956BC3 = { - isa = PBXFileReference; - name = MCPConnection.html; - path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection.html"; - refType = 0; - }; 0D13F25805242FC500956BC3 = { isa = PBXFileReference; --- 497,500 ---- *************** *** 508,515 **** refType = 0; }; - 0D2108A50521F29900E58DA2 = { - isa = PBXTargetBookmark; - trg = 0DEFA05704F0318B00A68F01; - }; 0D2108A70521F29900E58DA2 = { isa = PBXTargetBookmark; --- 503,506 ---- *************** *** 520,527 **** trg = 0DEFA05704F0318B00A68F01; }; - 0D7C23E104F505B300A8C863 = { - isa = PBXTargetBookmark; - trg = 0867D69CFE84028FC02AAC07; - }; 0D7C23E404F505B300A8C863 = { isa = PBXTargetBookmark; --- 511,514 ---- *************** *** 742,752 **** activeExec = 0; }; ! 0DCAF5AD04FD1C0100A8C863 = { isa = PBXTargetBookmark; trg = 0DA7207E04EE8A99002E9126; }; ! 0DCAF5AE04FD1C0100A8C863 = { isa = PBXTargetBookmark; trg = 0DA7208504EE8C3F002E9126; }; 0DCAF5AF04FD1C0100A8C863 = { --- 729,1211 ---- activeExec = 0; }; ! 0DB9ADC005388F320000000A = { ! fRef = 0DB9ADE905388F320000000A; ! glyphRangeLength = 660; ! glyphRangeLocation = 3072; ! isa = PBXDocBookmark; ! name = "MCPConnection.html: initialize ..."; ! }; ! 0DB9ADC105388F320000000A = { ! fRef = 0DCFFE3904EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.h: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1542; ! vrLoc = 0; ! }; ! 0DB9ADC205388F320000000A = { ! fRef = 0DCFFE3A04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.m: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1548; ! vrLoc = 0; ! }; ! 0DB9ADC305388F320000000A = { ! fRef = 0DCFFE3B04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPFastQueries.h: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1705; ! vrLoc = 0; ! }; ! 0DB9ADC405388F320000000A = { ! fRef = 0DCFFE3C04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPFastQueries.m: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1713; ! vrLoc = 0; ! }; ! 0DB9ADC505388F320000000A = { ! fRef = 0DCFFE3D04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPNull.h: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1086; ! vrLoc = 0; ! }; ! 0DB9ADC605388F320000000A = { ! fRef = 0DCFFE3E04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPNull.m: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1268; ! vrLoc = 0; ! }; ! 0DB9ADC705388F320000000A = { ! fRef = 0DCFFE3F04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPResult.h: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1529; ! vrLoc = 0; ! }; ! 0DB9ADC805388F320000000A = { ! fRef = 0DCFFE4004EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPResult.m: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1497; ! vrLoc = 0; ! }; ! 0DB9ADC905388F320000000A = { ! fRef = 0DCFFE4104EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPResultPlus.h: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1325; ! vrLoc = 0; ! }; ! 0DB9ADCA05388F320000000A = { ! fRef = 0DCFFE4204EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPResultPlus.m: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1673; ! vrLoc = 0; ! }; ! 0DB9ADCB05388F320000000A = { ! fRef = 0DCFFE4404EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "SMySQLConstants.h: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1122; ! vrLoc = 0; ! }; ! 0DB9ADCC05388F320000000A = { ! fRef = 0DCFFE4304EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "SMySQL.h: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1238; ! vrLoc = 0; ! }; ! 0DB9ADCD05388F320000000A = { ! fRef = 0DB9ADBE05388B2A0000000A; ! isa = PBXTextBookmark; ! name = "SMySQL_static.h: 37"; ! rLen = 0; ! rLoc = 1260; ! rType = 0; ! vrLen = 1287; ! vrLoc = 0; ! }; ! 0DB9ADCE05388F320000000A = { ! fRef = 0DB9ADBC05388B160000000A; ! isa = PBXTextBookmark; ! name = "SMySQL_bundled.h: 37"; ! rLen = 0; ! rLoc = 1267; ! rType = 0; ! vrLen = 1294; ! vrLoc = 0; ! }; ! 0DB9ADCF05388F320000000A = { ! isa = PBXTargetBookmark; ! trg = 0867D69CFE84028FC02AAC07; ! uiCtxt = { ! TOCViewDetailVisibleRect = "{{0, 0}, {636, 187}}"; ! TOCViewExpandedItems = ( ! "com.apple.target-editor-pane.settings", ! "com.apple.target-editor-pane.settings.simple", ! "com.apple.target-editor-pane.info-plist", ! "com.apple.target-editor-pane.info-plist.simple", ! "com.apple.target-editor-pane.buildphases", ! ); ! TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; ! TOCViewSelectedItems = ( ! 0867D69DFE84028FC02AAC07, ! ); ! }; ! }; ! 0DB9ADD005388F320000000A = { isa = PBXTargetBookmark; trg = 0DA7207E04EE8A99002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 272}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0DA7207904EE8A99002E9126, + ); + }; }; ! 0DB9ADD105388F320000000A = { isa = PBXTargetBookmark; trg = 0DA7208504EE8C3F002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 272}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0DA7208004EE8C3F002E9126, + ); + }; + }; + 0DB9ADD205388F320000000A = { + isa = PBXTargetBookmark; + trg = 0DEFA05704F0318B00A68F01; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {637, 233}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {252, 587}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; + 0DB9ADD305388F320000000A = { + fRef = 0DB9ADEA05388F320000000A; + glyphRangeLength = 660; + glyphRangeLocation = 3072; + isa = PBXDocBookmark; + name = "MCPConnection.html: initialize ..."; + }; + 0DB9ADD405388F320000000A = { + fRef = 0DCFFE3904EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPConnection.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1542; + vrLoc = 0; + }; + 0DB9ADD505388F320000000A = { + fRef = 0DB9ADBE05388B2A0000000A; + isa = PBXTextBookmark; + name = "SMySQL_static.h: 37"; + rLen = 0; + rLoc = 1260; + rType = 0; + vrLen = 1287; + vrLoc = 0; + }; + 0DB9ADD605388F320000000A = { + fRef = 0DB9ADBC05388B160000000A; + isa = PBXTextBookmark; + name = "SMySQL_bundled.h: 37"; + rLen = 0; + rLoc = 1267; + rType = 0; + vrLen = 1294; + vrLoc = 0; + }; + 0DB9ADD705388F320000000A = { + fRef = 0DCFFE3904EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPConnection.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1542; + vrLoc = 0; + }; + 0DB9ADD805388F320000000A = { + fRef = 0DCFFE3A04EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPConnection.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1548; + vrLoc = 0; + }; + 0DB9ADD905388F320000000A = { + fRef = 0DCFFE3B04EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPFastQueries.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1705; + vrLoc = 0; + }; + 0DB9ADDA05388F320000000A = { + fRef = 0DCFFE3C04EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPFastQueries.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1713; + vrLoc = 0; + }; + 0DB9ADDB05388F320000000A = { + fRef = 0DCFFE3D04EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPNull.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1086; + vrLoc = 0; + }; + 0DB9ADDC05388F320000000A = { + fRef = 0DCFFE3E04EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPNull.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1268; + vrLoc = 0; + }; + 0DB9ADDD05388F320000000A = { + fRef = 0DCFFE3F04EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPResult.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1529; + vrLoc = 0; + }; + 0DB9ADDE05388F320000000A = { + fRef = 0DCFFE4004EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPResult.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1497; + vrLoc = 0; + }; + 0DB9ADDF05388F320000000A = { + fRef = 0DCFFE4104EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPResultPlus.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1325; + vrLoc = 0; + }; + 0DB9ADE005388F320000000A = { + fRef = 0DCFFE4204EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPResultPlus.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1673; + vrLoc = 0; + }; + 0DB9ADE105388F320000000A = { + fRef = 0DCFFE4404EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "SMySQLConstants.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1122; + vrLoc = 0; + }; + 0DB9ADE205388F320000000A = { + fRef = 0DCFFE4304EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "SMySQL.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1238; + vrLoc = 0; + }; + 0DB9ADE305388F320000000A = { + fRef = 0DB9ADBE05388B2A0000000A; + isa = PBXTextBookmark; + name = "SMySQL_static.h: 37"; + rLen = 0; + rLoc = 1260; + rType = 0; + vrLen = 1287; + vrLoc = 0; + }; + 0DB9ADE405388F320000000A = { + fRef = 0DB9ADBC05388B160000000A; + isa = PBXTextBookmark; + name = "SMySQL_bundled.h: 37"; + rLen = 0; + rLoc = 1267; + rType = 0; + vrLen = 1294; + vrLoc = 0; + }; + 0DB9ADE505388F320000000A = { + isa = PBXTargetBookmark; + trg = 0867D69CFE84028FC02AAC07; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 187}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0867D69DFE84028FC02AAC07, + ); + }; + }; + 0DB9ADE605388F320000000A = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 272}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0DA7207904EE8A99002E9126, + ); + }; + }; + 0DB9ADE705388F320000000A = { + isa = PBXTargetBookmark; + trg = 0DA7208504EE8C3F002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 272}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0DA7208004EE8C3F002E9126, + ); + }; + }; + 0DB9ADE805388F320000000A = { + isa = PBXTargetBookmark; + trg = 0DEFA05704F0318B00A68F01; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 545}, {637, 587}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {252, 587}}"; + TOCViewSelectedItems = ( + 0DEFA05904F0336400A68F01, + ); + }; + }; + 0DB9ADE905388F320000000A = { + isa = PBXFileReference; + name = MCPConnection.html; + path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection.html"; + refType = 0; + }; + 0DB9ADEA05388F320000000A = { + isa = PBXFileReference; + name = MCPConnection.html; + path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection.html"; + refType = 0; }; 0DCAF5AF04FD1C0100A8C863 = { *************** *** 817,840 **** vrLoc = 0; }; - 0DF73C6C04F49C5000A8C863 = { - fRef = 0DCFFE4004EE97AE00AD80EC; - isa = PBXTextBookmark; - name = "MCPResult.m: 265"; - rLen = 401; - rLoc = 7343; - rType = 0; - vrLen = 2416; - vrLoc = 7045; - }; - 0DF73C7104F49C5000A8C863 = { - fRef = 0DCFFE4004EE97AE00AD80EC; - isa = PBXTextBookmark; - name = "MCPResult.m: 274"; - rLen = 0; - rLoc = 7744; - rType = 0; - vrLen = 2373; - vrLoc = 7088; - }; 0DF73C7204F49C5000A8C863 = { fRef = 0DCEFA2504EEAF1600F30895; --- 1276,1279 ---- *************** *** 846,859 **** vrLen = 1504; vrLoc = 0; - }; - 0DF73C7304F49C5000A8C863 = { - fRef = 0DCFFE4004EE97AE00AD80EC; - isa = PBXTextBookmark; - name = "MCPResult.m: 265"; - rLen = 401; - rLoc = 7343; - rType = 0; - vrLen = 2416; - vrLoc = 7045; }; 0DF73C7404F49C5000A8C863 = { --- 1285,1288 ---- Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** project.pbxproj 4 Oct 2003 18:21:18 -0000 1.26 --- project.pbxproj 11 Oct 2003 19:21:32 -0000 1.27 *************** *** 297,306 **** 0DCFFE4104EE97AE00AD80EC, 0DCFFE4204EE97AE00AD80EC, - 0DCFFE4304EE97AE00AD80EC, 0DCFFE4404EE97AE00AD80EC, ); isa = PBXGroup; ! name = "Foundation Classes"; ! path = ""; refType = 2; }; --- 297,307 ---- 0DCFFE4104EE97AE00AD80EC, 0DCFFE4204EE97AE00AD80EC, 0DCFFE4404EE97AE00AD80EC, + 0DCFFE4304EE97AE00AD80EC, + 0DB9ADBE05388B2A0000000A, + 0DB9ADBC05388B160000000A, ); isa = PBXGroup; ! path = MCPFoundationKit; refType = 2; }; *************** *** 396,400 **** 0DCFFE5704EE97AE00AD80EC, 0DCFFE5904EE97AE00AD80EC, - 0DCFFE5B04EE97AE00AD80EC, 0DCFFE5C04EE97AE00AD80EC, 0DA7209F04EE8F79002E9126, --- 397,400 ---- *************** *** 404,407 **** --- 404,408 ---- 0DCFFE6A04EE98F400AD80EC, 0DA720A904EE94D4002E9126, + 0DB9ADBF05388B2A0000000A, ); isa = PBXHeadersBuildPhase; *************** *** 533,537 **** 0DCFFE6304EE97AE00AD80EC, 0DCFFE6504EE97AE00AD80EC, - 0DCFFE6704EE97AE00AD80EC, 0DCFFE6804EE97AE00AD80EC, 0DA720A404EE8F79002E9126, --- 534,537 ---- *************** *** 541,544 **** --- 541,545 ---- 0DCFFE6B04EE98F400AD80EC, 0DA720AA04EE94DE002E9126, + 0DB9ADBD05388B160000000A, ); isa = PBXHeadersBuildPhase; *************** *** 839,844 **** 0DA720B104EE964F002E9126 = { isa = PBXFileReference; ! name = libmysqlclient.11.0.0.dylib; ! path = /usr/local/lib/mysql/libmysqlclient.11.0.0.dylib; refType = 0; }; --- 840,845 ---- 0DA720B104EE964F002E9126 = { isa = PBXFileReference; ! name = libmysqlclient.12.0.0.dylib; ! path = /usr/local/lib/mysql/libmysqlclient.12.0.0.dylib; refType = 0; }; *************** *** 849,852 **** --- 850,883 ---- }; }; + 0DB9ADBC05388B160000000A = { + fileEncoding = 4; + isa = PBXFileReference; + path = SMySQL_bundled.h; + refType = 4; + }; + 0DB9ADBD05388B160000000A = { + fileRef = 0DB9ADBC05388B160000000A; + isa = PBXBuildFile; + settings = { + ATTRIBUTES = ( + Public, + ); + }; + }; + 0DB9ADBE05388B2A0000000A = { + fileEncoding = 4; + isa = PBXFileReference; + path = SMySQL_static.h; + refType = 4; + }; + 0DB9ADBF05388B2A0000000A = { + fileRef = 0DB9ADBE05388B2A0000000A; + isa = PBXBuildFile; + settings = { + ATTRIBUTES = ( + Public, + ); + }; + }; 0DCAF5A304FD176800A8C863 = { isa = PBXFileReference; *************** *** 954,958 **** ); isa = PBXGroup; ! name = "AppKit Classes"; refType = 4; }; --- 985,989 ---- ); isa = PBXGroup; ! path = MCPApplicationKit; refType = 4; }; *************** *** 1197,1209 **** }; }; - 0DCFFE5B04EE97AE00AD80EC = { - fileRef = 0DCFFE4304EE97AE00AD80EC; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Public, - ); - }; - }; 0DCFFE5C04EE97AE00AD80EC = { fileRef = 0DCFFE4404EE97AE00AD80EC; --- 1228,1231 ---- *************** *** 1288,1300 **** isa = PBXBuildFile; settings = { - }; - }; - 0DCFFE6704EE97AE00AD80EC = { - fileRef = 0DCFFE4304EE97AE00AD80EC; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Public, - ); }; }; --- 1310,1313 ---- |
From: Serge C. <ser...@us...> - 2003-10-11 19:21:39
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit In directory sc8-pr-cvs1:/tmp/cvs-serv24074/MCPFoundationKit Modified Files: SMySQL_bundled.h SMySQL_static.h Log Message: Few modifications to the sources, to make the use of SMySQL_bundled and SMySQL_static easier (remarks by Ezat Hashim). 2003-10-10; Serge Cohen. Index: SMySQL_bundled.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/SMySQL_bundled.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SMySQL_bundled.h 11 Oct 2003 18:48:07 -0000 1.1 --- SMySQL_bundled.h 11 Oct 2003 19:21:31 -0000 1.2 *************** *** 28,37 **** #import <Foundation/Foundation.h> ! #import <SMySQL/SMySQLConstants.h> ! #import <SMySQL/MCPNull.h> ! #import <SMySQL/MCPResult.h> ! #import <SMySQL/MCPConnection.h> ! #import <SMySQL/MCPResultPlus.h> ! #import <SMySQL/MCPFastQueries.h> #import "mysql.h" //#import <SMySQL/mysql.h> --- 28,37 ---- #import <Foundation/Foundation.h> ! #import <SMySQL_bundled/SMySQLConstants.h> ! #import <SMySQL_bundled/MCPNull.h> ! #import <SMySQL_bundled/MCPResult.h> ! #import <SMySQL_bundled/MCPConnection.h> ! #import <SMySQL_bundled/MCPResultPlus.h> ! #import <SMySQL_bundled/MCPFastQueries.h> #import "mysql.h" //#import <SMySQL/mysql.h> Index: SMySQL_static.h =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit/SMySQL_static.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SMySQL_static.h 11 Oct 2003 18:48:07 -0000 1.1 --- SMySQL_static.h 11 Oct 2003 19:21:31 -0000 1.2 *************** *** 28,37 **** #import <Foundation/Foundation.h> ! #import <SMySQL/SMySQLConstants.h> ! #import <SMySQL/MCPNull.h> ! #import <SMySQL/MCPResult.h> ! #import <SMySQL/MCPConnection.h> ! #import <SMySQL/MCPResultPlus.h> ! #import <SMySQL/MCPFastQueries.h> #import "mysql.h" //#import <SMySQL/mysql.h> --- 28,37 ---- #import <Foundation/Foundation.h> ! #import <SMySQL_static/SMySQLConstants.h> ! #import <SMySQL_static/MCPNull.h> ! #import <SMySQL_static/MCPResult.h> ! #import <SMySQL_static/MCPConnection.h> ! #import <SMySQL_static/MCPResultPlus.h> ! #import <SMySQL_static/MCPFastQueries.h> #import "mysql.h" //#import <SMySQL/mysql.h> |
From: Serge C. <ser...@us...> - 2003-10-11 18:50:37
|
Update of /cvsroot/mysql-cocoa/SMySQL In directory sc8-pr-cvs1:/tmp/cvs-serv19130 Removed Files: MCPConnection.h MCPConnection.m MCPFastQueries.h MCPFastQueries.m MCPNull.h MCPNull.m MCPResult.h MCPResult.m MCPResultPlus.h MCPResultPlus.m SMySQL.h SMySQLConstants.h Log Message: Moved the foundation type classes to the MCPFoundationKit sub-directory of the project (second part, after adding them in MCPFoundationKit, now remove them from the top directory). 2003-10-10; Serge Cohen. --- MCPConnection.h DELETED --- --- MCPConnection.m DELETED --- --- MCPFastQueries.h DELETED --- --- MCPFastQueries.m DELETED --- --- MCPNull.h DELETED --- --- MCPNull.m DELETED --- --- MCPResult.h DELETED --- --- MCPResult.m DELETED --- --- MCPResultPlus.h DELETED --- --- MCPResultPlus.m DELETED --- --- SMySQL.h DELETED --- --- SMySQLConstants.h DELETED --- |
From: Serge C. <ser...@us...> - 2003-10-11 18:48:15
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit In directory sc8-pr-cvs1:/tmp/cvs-serv18746/MCPFoundationKit Added Files: MCPConnection.h MCPConnection.m MCPFastQueries.h MCPFastQueries.m MCPNull.h MCPNull.m MCPResult.h MCPResult.m MCPResultPlus.h MCPResultPlus.m SMySQL.h SMySQLConstants.h SMySQL_bundled.h SMySQL_static.h Log Message: Moved the foundation type classes to the MCPFoundationKit sub-directory of the project. 2003-10-10; Serge Cohen. --- NEW FILE: MCPConnection.h --- // // MCPConnection.h // SMySQL // // Created by serge cohen (ser...@m4...) on Sat Dec 08 2001. // Copyright (c) 2001 Serge Cohen. // // This code is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or any later version. // // This code is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // For a copy of the GNU General Public License, visit <http://www.gnu.org/> or // write to the Free Software Foundation, Inc., 59 Temple Place--Suite 330, // Boston, MA 02111-1307, USA. // // More info at <http://mysql-cocoa.sourceforge.net/> // // $Id: MCPConnection.h,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ // $Author: sergecohen $ #import <Foundation/Foundation.h> #import "mysql.h" #import "SMySQLConstants.h" @class MCPResult; // Deafult connection option extern const unsigned int kMCPConnectionDefaultOption; // Default socket (from the mysql.h used at compile time) extern const char *kMCPConnectionDefaultSocket; // Added to mysql error code extern const unsigned int kMCPConnectionNotInited; @interface MCPConnection : NSObject { MYSQL *mConnection; /*"The inited MySQL connection"*/ BOOL mConnected; /*"Reflect the fact that the connection is already in place or not"*/ NSStringEncoding mEncoding; /*"The encoding used by MySQL server, to ISO-1 default"*/ } /*" Getting default of MySQL "*/ + (NSDictionary *) getMySQLLocales; + (NSStringEncoding) encodingForMySQLEncoding:(const char *) mysqlEncoding; + (NSStringEncoding) defaultMySQLEncoding; /*" Class maintenance "*/ + (void) initialize; /*" Initialisation "*/ - (id) init; // Port to 0 to use the default port - (id) initToHost:(NSString *) host withLogin:(NSString *) login password:(NSString *) pass usingPort:(int) port; - (id) initToSocket:(NSString *) socket withLogin:(NSString *) login password:(NSString *) pass; - (BOOL) setConnectionOption:(int) option withArgument:(id) arg; // Port to 0 to use the default port - (BOOL) connectWithLogin:(NSString *) login password:(NSString *) pass host:(NSString *) host port:(int) port socket:(NSString *) socket; - (BOOL) selectDB:(NSString *) dbName; /*" Errors information "*/ - (NSString *) getLastErrorMessage; - (unsigned int) getLastErrorID; - (BOOL) isConnected; - (BOOL) checkConnection; /*" Queries "*/ - (NSString *) prepareBinaryData:(NSData *) theData; - (NSString *) prepareString:(NSString *) theString; - (MCPResult *) queryString:(NSString *) query; - (my_ulonglong) affectedRows; - (my_ulonglong) insertId; /*" Getting description of the database structure "*/ - (MCPResult *) listDBs; - (MCPResult *) listDBsLike:(NSString *) dbsName; - (MCPResult *) listTables; - (MCPResult *) listTablesLike:(NSString *) tablesName; // Next method uses SHOW TABLES FROM db to be sure that the db is not changed during this call. - (MCPResult *) listTablesFromDB:(NSString *) dbName like:(NSString *) tablesName; - (MCPResult *) listFieldsFromTable:(NSString *) tableName; - (MCPResult *) listFieldsFromTable:(NSString *) tableName like:(NSString *) fieldsName; /*" Server information and control "*/ - (NSString *) clientInfo; - (NSString *) hostInfo; - (NSString *) serverInfo; - (NSNumber *) protoInfo; - (MCPResult *) listProcesses; - (BOOL) killProcess:(unsigned long) pid; //- (BOOL)createDBWithName:(NSString *)dbName; //- (BOOL)dropDBWithName:(NSString *)dbName; /*" Disconnection "*/ - (void) disconnect; - (void) dealloc; /*" String encoding concerns (c string type to NSString). It's unlikely that users of the framework needs to use these methods which are used internally "*/ - (void) setEncoding:(NSStringEncoding) theEncoding; - (NSStringEncoding) encoding; - (const char *) cStringFromString:(NSString *) theString; - (NSString *) stringWithCString:(const char *) theCString; /*" Text data convertion to string "*/ - (NSString *) stringWithText:(NSData *) theTextData; @end --- NEW FILE: MCPConnection.m --- // // MCPConnection.m // SMySQL // // Created by serge cohen (ser...@m4...) on Sat Dec 08 2001. // Copyright (c) 2001 Serge Cohen. // // This code is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or any later version. // // This code is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // For a copy of the GNU General Public License, visit <http://www.gnu.org/> or // write to the Free Software Foundation, Inc., 59 Temple Place--Suite 330, // Boston, MA 02111-1307, USA. // // More info at <http://mysql-cocoa.sourceforge.net/> // // $Id: MCPConnection.m,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ // $Author: sergecohen $ #import "MCPConnection.h" #import "MCPResult.h" const unsigned int kMCPConnectionDefaultOption = CLIENT_COMPRESS; const char *kMCPConnectionDefaultSocket = MYSQL_UNIX_ADDR; const unsigned int kMCPConnection_Not_Inited = 1000; // For debugging: //static FILE *MCPConnectionLogFile; @implementation MCPConnection /*" !{ $Id: MCPConnection.m,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ } !{ $Name: $ } This class is used to keep a connection with a MySQL server, it correspond to the MYSQL structure of the C API, or the database handle of the PERL DBI/DBD interface. You have to start any work on a MySQL server by getting a working MCPConnection object. Most likely you will use this kind of code: !{ MCPConnection *theConnec = [MCPConnection alloc]; MCPResult *theRes; theConnec = [theConnec initToHost::albert.com withLogin:@"toto" password:@"albert" port:0]; [theConnec selectDB:@"db1"]; theRes = [theConnec queryString:@"select * from table1"]; ... } "*/ + (NSDictionary *) getMySQLLocales /*" Gets a proper Locale dictionary to use formater to parse strings from MySQL. For example strings representing dates should give a proper Locales for use with methods such as NSDate::dateWithNaturalLanguageString: locales: "*/ { NSMutableDictionary *theLocalDict = [NSMutableDictionary dictionaryWithCapacity:12]; [theLocalDict setObject:@"." forKey:@"NSDecimalSeparator"]; return [NSDictionary dictionaryWithDictionary:theLocalDict]; } + (NSStringEncoding) encodingForMySQLEncoding:(const char *) mysqlEncoding /*" Gets a proper NSStringEncoding according to the given MySQL charset. MySQL 4.0 offers this charsets: big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin1_de latin2 latin5 sjis swe7 tis620 ujis usa7 win1250 win1251ukr WARNING : incomplete implementation. Please, send your fixes. "*/ { if (!strcmp(mysqlEncoding, "latin1")) { return NSISOLatin1StringEncoding; } if (!strcmp(mysqlEncoding, "latin2")) { return NSISOLatin2StringEncoding; } if (!strcmp(mysqlEncoding, "win1250")) { return NSWindowsCP1250StringEncoding; } if (!strcmp(mysqlEncoding, "cp1251")) { return NSWindowsCP1251StringEncoding; } if (!strcmp(mysqlEncoding, "euc_kr")) { return NSJapaneseEUCStringEncoding; } if (!strcmp(mysqlEncoding, "sjis")) { return NSShiftJISStringEncoding; } // default to iso latin 1, even if it is not exact (throw an exception?) return NSISOLatin1StringEncoding; } + (NSStringEncoding) defaultMySQLEncoding /*" Returns the default charset of the library mysqlclient used. "*/ { return [MCPConnection encodingForMySQLEncoding:MYSQL_CHARSET]; } + (void) initialize /*" Initialize the class version to 2.0.0 "*/ { if (self = [MCPConnection class]) { [self setVersion:020000]; // Ma.Mi.Re -> MaMiRe } // For debugging: /* MCPConnectionLogFile = fopen("MCPConnection_debug.txt","a"); NSLog(@"MCPConnectionLogFile = %p\n", MCPConnectionLogFile); */ return; } - (id) init /*" Initialise a MySQLConnection without making a connection, most likely useless, except with !{setConnectionOption:withArgument:}. "*/ { self = [super init]; mConnection = mysql_init(NULL); mConnected = NO; if (mConnection == NULL) { [self autorelease]; return nil; } // mEncoding = NSISOLatin1StringEncoding; mEncoding = [MCPConnection encodingForMySQLEncoding:mysql_character_set_name(mConnection)]; return self; } - (id) initToHost:(NSString *) host withLogin:(NSString *) login password:(NSString *) pass usingPort:(int) port /*" Initialise a connection using a #{TCP/IP connection} with the given parameters (except if host is set to !{localhost}, in which case uses the default) - host is the hostname or IP adress - login is the user name - pass is the password corresponding to the user name - port is the TCP port to use to connect. If port = 0, uses the default port from mysql.h "*/ { #warning What happens when inited twice the NSObject? self = [super init]; mEncoding = NSISOLatin1StringEncoding; if (mConnected) { // If a the connection is on, disconnect and reset it to default mysql_close(mConnection); mConnection = NULL; } else { } mConnection = mysql_init(mConnection); mConnected = NO; if (mConnection == NULL) { [self autorelease]; return nil; } [self connectWithLogin:login password:pass host:host port:port socket:nil]; return self; } - (id) initToSocket:(NSString *) socket withLogin:(NSString *) login password:(NSString *) pass /*" Initialise a connection using a #{unix socket} with the given parameters - socket is the path to the socket - login is the user name - pass is the password corresponding to the user name "*/ { #warning What happens when inited twice the NSObject? self = [super init]; mEncoding = NSISOLatin1StringEncoding; if (mConnected) { // If a the connection is on, disconnect and reset it to default mysql_close(mConnection); mConnection = NULL; } else { } mConnection = mysql_init(mConnection); mConnected = NO; if (mConnection == NULL) { [self autorelease]; return nil; } [self connectWithLogin:login password:pass host:NULL port:0 socket:socket]; return self; } - (BOOL) setConnectionOption:(int) option withArgument:(id) arg /*" #{NOT YET IMPLEMENTED} This method is to be used for getting special option for a connection, in which case the MCPConnection has to be inited with the init method, then option are selected, finally connection is done using one of the connect methods: !{ MCPConnection *theConnect = [[MCPConnection alloc] init]; [theConnect setConnectionOption: option withArgument: arg]; [theConnect connectToHost:albert.com withLogin:@"toto" password:@"albert" port:0]; .... } "*/ { // So far do nothing except for testing if it's proper time for setting option // What about if some option where setted and a connection is made again with connectTo... if ((mConnected) || (! mConnection)) { return FALSE; } return YES; } - (BOOL) connectWithLogin:(NSString *) login password:(NSString *) pass host:(NSString *) host port:(int) port socket:(NSString *) socket /*" The method used by !{initToHost:withLogin:password:usingPort:} and !{initToSocket:withLogin:password:}. Same information and use of the parameters: - login is the user name - pass is the password corresponding to the user name - host is the hostname or IP adress - port is the TCP port to use to connect. If port = 0, uses the default port from mysql.h - socket is the path to the socket (for the localhost) The socket is used if the host is set to !{@"localhost"}, to an empty or a !{nil} string For the moment the implementation might not be safe if you have a nil pointer to one of the NSString* variables (underestand: I don't know what the result will be). "*/ { #warning What to do if one of the string is a nil pointer? const char *theLogin = [self cStringFromString:login]; const char *theHost = [self cStringFromString:host]; const char *thePass = [self cStringFromString:pass]; const char *theSocket = [self cStringFromString:socket]; void *theRet; if (mConnected) { // Disconnect if it was already connected mysql_close(mConnection); mConnection = NULL; mConnected = NO; [self init]; } if ([host isEqualToString:@""]) { theHost = NULL; } if (theSocket == NULL) { theSocket = kMCPConnectionDefaultSocket; } theRet = mysql_real_connect(mConnection, theHost, theLogin, thePass, NULL, port, theSocket, kMCPConnectionDefaultOption); if (theRet != mConnection) { return mConnected = NO; } mEncoding = [MCPConnection encodingForMySQLEncoding:mysql_character_set_name(mConnection)]; /* NSLog (@"Default encoding is %@\n", [NSString localizedNameOfStringEncoding:[NSString defaultCStringEncoding]]); NSLog (@"MySQL encoding is %@\n", [NSString localizedNameOfStringEncoding:mEncoding]); fprintf(MCPConnectionLogFile,"MySQLEncoding : %s\n", (const char *)[[NSString localizedNameOfStringEncoding:mEncoding] cString]); */ return mConnected = YES; } - (BOOL) selectDB:(NSString *) dbName /*" Selects a database to work with. The MCPConnection object needs to be properly inited and connected to a server. If a connection is not yet set or the selection of the database didn't work, returns NO. Returns YES in normal cases where the database is properly selected. So far, if dbName is a nil pointer it will return NO (as if it cannot connect), most likely this will throw an exception in the future. "*/ { if (dbName == nil) { #warning Should throw an exception, illegal string pointer (nil) // Here we should throw an exception, impossible to select a databse if the string is indeed a nil pointer return NO; } if (mConnected) { const char *theDBName = [self cStringFromString:dbName]; if (mysql_select_db(mConnection, theDBName) == NULL) { return YES; } } return NO; } - (NSString *) getLastErrorMessage /*" Returns a string with the last MySQL error message on the connection. "*/ { if (mConnection) { return [self stringWithCString:mysql_error(mConnection)]; } else { return [NSString stringWithString:@"No connection initailized yet (MYSQL* still NULL)\n"]; } } - (unsigned int) getLastErrorID /*" Returns the ErrorID of the last MySQL error on the connection. "*/ { if (mConnection) { return mysql_errno(mConnection); } return kMCPConnection_Not_Inited; } - (BOOL) isConnected /*" Returns YES if the MCPConnection is connected to a DB, NO otherwise. "*/ { return mConnected; } - (BOOL)checkConnection /*" Checks if the connection to the server is still on. If not, tries to reconnect (changing no parameters from the MYSQL pointer). This method just uses mysql_ping(). "*/ { return (BOOL)(! mysql_ping(mConnection)); } - (NSString *) prepareBinaryData:(NSData *) theData /*" Takes a NSData object and transform it in a proper string for sending to the server in between quotes. "*/ { const char *theCDataBuffer = [theData bytes]; unsigned int theLength = [theData length]; char *theCEscBuffer = (char *)calloc(sizeof(char),(theLength*2) + 1); NSString *theReturn; mysql_real_escape_string(mConnection, theCEscBuffer, theCDataBuffer, theLength); theReturn = [self stringWithCString:theCEscBuffer]; free (theCEscBuffer); return theReturn; } - (NSString *) prepareString:(NSString *) theString /*" Takes a string and escape any special character (like single quote : ') so that the string can be used directly in a query. "*/ { const char *theCStringBuffer = [self cStringFromString:theString]; unsigned int theLength; char *theCEscBuffer; NSString *theReturn; if (theString == nil) { #pragma warning This is not the best solution, here we loose difference between NULL and empty string. // In the mean time, no one should call this method on a nil string, the test should be done before by the user of this method. return @""; } theLength = strlen(theCStringBuffer); theCEscBuffer = (char *)calloc(sizeof(char),(theLength * 2) + 1); mysql_real_escape_string(mConnection, theCEscBuffer, theCStringBuffer, theLength); theReturn = [self stringWithCString:theCEscBuffer]; free (theCEscBuffer); return theReturn; } - (MCPResult *) queryString:(NSString *) query /*" Takes a query string and return an MCPResult object holding the result of the query. The returned MCPResult is not retained, the client is responsible for that (it's autoreleased before being returned). If no field are present in the result (like in an insert query), will return nil (#{difference from previous version implementation}). Though, if their is at least one field the result will be non nil (even if no row are selected). Note that if you want to use this method with binary data (in the query), you should use !{prepareBinaryData:} to include the binary data in the query string. Also if you want to include in your query a string containing any special character (\, ', " ...) then you should use !{prepareString}. "*/ { MCPResult *theResult = [MCPResult alloc]; const char *theCQuery = [self cStringFromString:query]; int theQueryCode; // Temp for debugging: /* NSMutableData *theDefCQuery = [NSMutableData dataWithData:[query dataUsingEncoding:[NSString defaultCStringEncoding] allowLossyConversion:YES]]; NSMutableData *theIso1CQuery = [NSMutableData dataWithData:[query dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:YES]]; const char *theDCQuery, *theICQuery; [theDefCQuery increaseLengthBy:1]; [theIso1CQuery increaseLengthBy:1]; theDCQuery = [theDefCQuery bytes]; theICQuery = [theIso1CQuery bytes]; */ // NSLog (@"In queryString, query is : %s -in ObjC : %@-\n", theCQuery, query); /* fprintf(MCPConnectionLogFile,"C string (MySQL enco.) : "); fwrite((const void *)theCQuery, strlen(theCQuery), 1, MCPConnectionLogFile); fprintf(MCPConnectionLogFile,"\nC string (default enco.) : "); fwrite((const void *)theDCQuery, strlen(theDCQuery), 1, MCPConnectionLogFile); fprintf(MCPConnectionLogFile,"\nC string (iso1 enco.) : "); fwrite((const void *)theICQuery, strlen(theICQuery), 1, MCPConnectionLogFile); fprintf(MCPConnectionLogFile,"\n"); */ if ((theQueryCode = mysql_query(mConnection, theCQuery)) == NULL) { if (mysql_field_count(mConnection) != 0) { theResult = [theResult initWithMySQLPtr:mConnection encoding:mEncoding]; } else { // NSLog (@"Query worked but gives no output\n"); // [theResult init]; return nil; } } else { NSLog (@"Problem in queryString error code is : %d, query is : %s -in ObjC : %@-\n", theQueryCode, theCQuery, query); theResult = [theResult init]; } if (theResult) { [theResult autorelease]; } return theResult; } - (my_ulonglong) affectedRows /*" Returns the number of affected rows by the last query. "*/ { if (mConnected) { return mysql_affected_rows(mConnection); } return 0; } - (my_ulonglong) insertId /*" If the last query was an insert in a table having a autoindex column, returns the id (autoindexed field) of the last row inserted. "*/ { if (mConnected) { return mysql_insert_id(mConnection); } return 0; } - (MCPResult *) listDBs /*" Just a fast wrapper for the more complex !{listDBsWithPattern:} method. "*/ { return [self listDBsLike:nil]; } - (MCPResult *) listDBsLike:(NSString *) dbsName /*" Returns a list of database which name correspond to the SQL regular expression in 'pattern'. The comparison is done with wild card extension : % and _. The result should correspond to the queryString:@"SHOW databases [LIKE wild]"; but implemented with mysql_list_dbs. If an empty string or nil is passed as pattern, all databases will be shown. "*/ { MCPResult *theResult = [MCPResult alloc]; MYSQL_RES *theResPtr; if ((dbsName == nil) || ([dbsName isEqualToString:@""])) { if (theResPtr = mysql_list_dbs(mConnection, NULL)) { [theResult initWithResPtr: theResPtr encoding: mEncoding]; } else { [theResult init]; } } else { const char *theCDBsName = (const char *)[[dbsName dataUsingEncoding: mEncoding allowLossyConversion: YES] bytes]; if (theResPtr = mysql_list_dbs(mConnection, theCDBsName)) { [theResult initWithResPtr: theResPtr encoding: mEncoding]; } else { [theResult init]; } } if (theResult) { [theResult autorelease]; } return theResult; } - (MCPResult *) listTables /*" Make sure a DB is selected (with !{selectDB:} method) first. "*/ { return [self listTablesLike:nil]; } - (MCPResult *) listTablesLike:(NSString *) tablesName /*" From within a database, give back the list of table which name correspond to tablesName (with wild card %, _ extension). Correspond to queryString:@"SHOW tables [LIKE wild]"; uses mysql_list_tables function. If an empty string or nil is passed as tablesName, all tables will be shown. WARNING: #{produce an error if no databases are selected} (with !{selectDB:} for example). "*/ { MCPResult *theResult = [MCPResult alloc]; MYSQL_RES *theResPtr; if ((tablesName == nil) || ([tablesName isEqualToString:@""])) { if (theResPtr = mysql_list_tables(mConnection, NULL)) { [theResult initWithResPtr: theResPtr encoding: mEncoding]; } else { [theResult init]; } } else { const char *theCTablesName = (const char *)[[tablesName dataUsingEncoding: mEncoding allowLossyConversion: YES] bytes]; if (theResPtr = mysql_list_tables(mConnection, theCTablesName)) { [theResult initWithResPtr: theResPtr encoding: mEncoding]; } else { [theResult init]; } } if (theResult) { [theResult autorelease]; } return theResult; } - (MCPResult *) listTablesFromDB:(NSString *) dbName like:(NSString *) tablesName /*" List tables in DB specified by dbName and corresponding to pattern. This method indeed issues a !{SHOW TABLES FROM dbName LIKE ...} query to the server. This is done this way to make sure the selected DB is not changed by this method. "*/ { MCPResult *theResult; if ((tablesName == nil) || ([tablesName isEqualToString:@""])) { NSString *theQuery = [NSString stringWithFormat:@"SHOW TABLES FROM %@", dbName]; theResult = [self queryString:theQuery]; } else { NSString *theQuery = [NSString stringWithFormat:@"SHOW COLUMNS FROM %@ LIKE '%@'", dbName, tablesName]; theResult = [self queryString:theQuery]; } return theResult; } - (MCPResult *)listFieldsFromTable:(NSString *)tableName /*" Just a fast wrapper for the more complex list !{listFieldsWithPattern:forTable:} method. "*/ { return [self listFieldsFromTable:tableName like:nil]; } - (MCPResult *) listFieldsFromTable:(NSString *) tableName like:(NSString *) fieldsName /*" Show all the fields of the table tableName which name correspond to pattern (with wild card expansion : %,_). Indeed, and as recommanded from mysql reference, this method is NOT using mysql_list_fields but the !{queryString:} method. If an empty string or nil is passed as fieldsName, all fields (of tableName) will be returned. "*/ { MCPResult *theResult; if ((fieldsName == nil) || ([fieldsName isEqualToString:@""])) { NSString *theQuery = [NSString stringWithFormat:@"SHOW COLUMNS FROM %@", tableName]; theResult = [self queryString:theQuery]; } else { NSString *theQuery = [NSString stringWithFormat:@"SHOW COLUMNS FROM %@ LIKE '%@'", tableName, fieldsName]; theResult = [self queryString:theQuery]; } return theResult; } - (NSString *) clientInfo /*" Returns a string giving the client library version. "*/ { return [self stringWithCString:mysql_get_client_info()]; } - (NSString *) hostInfo /*" Returns a string giving information on the host of the DB server. "*/ { return [self stringWithCString:mysql_get_host_info(mConnection)]; } - (NSString *) serverInfo /*" Returns a string giving the server version. "*/ { if (mConnected) { return [self stringWithCString: mysql_get_server_info(mConnection)]; } return @""; } - (NSNumber *) protoInfo /*" Returns the number of the protocole used to transfer info from server to client "*/ { return [NSNumber numberWithUnsignedInt:mysql_get_proto_info(mConnection)]; } - (MCPResult *) listProcesses /*" Lists active process "*/ { MCPResult *theResult = [MCPResult alloc]; MYSQL_RES *theResPtr; if (theResPtr = mysql_list_processes(mConnection)) { [theResult initWithResPtr:theResPtr encoding:mEncoding]; } else { [theResult init]; } if (theResult) { [theResult autorelease]; } return theResult; } /* - (BOOL)createDBWithName:(NSString *)dbName { const char *theDBName = [dbName UTF8String]; if ((mConnected) && (! mysql_create_db(mConnection, theDBName))) { return YES; } return NO; } - (BOOL)dropDBWithName:(NSString *)dbName { const char *theDBName = [dbName UTF8String]; if ((mConnected) && (! mysql_drop_db(mConnection, theDBName))) { return YES; } return NO; } */ - (BOOL) killProcess:(unsigned long) pid /*" Kills the process with the given pid. The users needs the !{Process_priv} privilege. "*/ { int theErrorCode; theErrorCode = mysql_kill(mConnection, pid); return (theErrorCode) ? NO : YES; } - (void) disconnect /*" Disconnects a connected MCPConnection object; used by !{dealloc:} method. "*/ { if (mConnected) { mysql_close(mConnection); mConnection = NULL; } mConnected = NO; return; } - (void)dealloc /*" The standard deallocation method for MCPConnection objects. "*/ { [self disconnect]; [super dealloc]; return; } - (void) setEncoding:(NSStringEncoding) theEncoding /*" Sets the encoding used by the server for data transfert. Used to make sure the output of the query result is ok even for non-ascii characters The character set (encoding) used by the db is passed to the MCPConnection object upon connection, so most likely the encoding (from -encoding) method is already the proper one. That is to say : It's unlikely you will need to call this method directly, and #{if ever you use it, do it at your own risks}. "*/ { mEncoding = theEncoding; } - (NSStringEncoding) encoding /*" Gets the encoding for the connection "*/ { return mEncoding; } - (const char *) cStringFromString:(NSString *) theString /*" For internal use only. Transforms a NSString to a C type string (ending with \0) using the character set from the MCPConnection. Lossy conversions are enabled. "*/ { NSMutableData *theData; if (! theString) { return (const char *)NULL; } theData = [NSMutableData dataWithData:[theString dataUsingEncoding:mEncoding allowLossyConversion:YES]]; [theData increaseLengthBy:1]; return (const char *)[theData bytes]; } - (NSString *) stringWithCString:(const char *) theCString /*" Returns a NSString from a C style string encoded with the character set of theMCPConnection. "*/ { NSData * theData; NSString * theString; if (theCString == NULL) { return @""; } theData = [NSData dataWithBytes:theCString length:(strlen(theCString))]; theString = [[NSString alloc] initWithData:theData encoding:mEncoding]; if (theString) { [theString autorelease]; } return theString; } - (NSString *) stringWithText:(NSData *) theTextData /*" Use the string encoding to convert the returned NSData to a string (for a Text field) "*/ { NSString * theString; if (theTextData == nil) { return nil; } theString = [[NSString alloc] initWithData:theTextData encoding:mEncoding]; if (theString) { [theString autorelease]; } return theString; } @end --- NEW FILE: MCPFastQueries.h --- // // MCPFastQueries.h // SMySQL // // Created by Serge Cohen (ser...@m4...) on Mon Jun 03 2002. // Copyright (c) 2001 Serge Cohen. // // This code is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or any later version. // // This code is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // For a copy of the GNU General Public License, visit <http://www.gnu.org/> or // write to the Free Software Foundation, Inc., 59 Temple Place--Suite 330, // Boston, MA 02111-1307, USA. // // More info at <http://mysql-cocoa.sourceforge.net/> // // $Id: MCPFastQueries.h,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ // $Author: sergecohen $ #import <Foundation/Foundation.h> #import "MCPConnection.h" @interface MCPConnection (MCPFastQueries) /*" For insert queries, get directly the Id of the newly inserted row "*/ - (my_ulonglong) insertQuery:(NSString *) aQuery; - (my_ulonglong) updateQuery:(NSString *) aQuery; /*" Returns directly a proper NS object, or a collection (NSArray, NSDictionary...). "*/ - (id) getFirstFieldFromQuery:(NSString *) aQuery; - (id) getFirstRowFromQuery:(NSString *) aQuery asType:(MCPReturnType) aType; - (id) getAllRowsFromQuery:(NSString *) aQuery asType:(MCPReturnType) aType; - (NSArray *) getQuery:(NSString *) aQuery colWithIndex:(unsigned int) aCol; - (NSArray *) getQuery:(NSString *) aQuery colWithName:(NSString *) aColName; @end --- NEW FILE: MCPFastQueries.m --- // // MCPFastQueries.m // SMySQL // // Created by Serge Cohen (ser...@m4...) on Mon Jun 03 2002. // Copyright (c) 2001 Serge Cohen. // // This code is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or any later version. // // This code is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // For a copy of the GNU General Public License, visit <http://www.gnu.org/> or // write to the Free Software Foundation, Inc., 59 Temple Place--Suite 330, // Boston, MA 02111-1307, USA. // // More info at <http://mysql-cocoa.sourceforge.net/> // // $Id: MCPFastQueries.m,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ // $Author: sergecohen $ #import "MCPResultPlus.h" #import "MCPFastQueries.h" @implementation MCPConnection (MCPFastQueries) /*" !{ $Id: MCPFastQueries.m,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ } This actegory is made up to keep the extra methods out or the core of the framework. Basicly this is the place to add methods which are useful, but are just wrappers to the methods of the core (MCPConnection, MCPResult). The purpous being to have a single line call available for current tasks which otherwise would need a couple of lines and object defined. "*/ - (my_ulonglong) insertQuery:(NSString *) aQuery /*" Send the query aQuery to the server and retrieve the row id if the table have a autoincrement column. Returns 0 if no have been inserted "*/ { [self queryString:aQuery]; return [self insertId]; } - (my_ulonglong) updateQuery:(NSString *) aQuery /*" Send the query aQuery to the server and retrieve the number of affected rows (should work with !{update}, !{delete}, !{insert} and !{select} type of queries). NB: This can also be used with a !{select} query if you are only interested in the number of row complying with the query; you'll get no chance to get the result from the query, except by sending the query again (with !{queryString:}) "*/ { [self queryString:aQuery]; return [self affectedRows]; } - (id) getFirstFieldFromQuery:(NSString *) aQuery /*" Get the first field of the first row of the result from the query (aQuery). Should return nil if no object at all are selected. "*/ { MCPResult *theResult = [self queryString:aQuery]; return [[theResult fetchRowAsType:MCPTypeArray] objectAtIndex:0]; } - (id) getFirstRowFromQuery:(NSString *) aQuery asType:(MCPReturnType) aType /*" Get the firdst row of the result from the query aQuery, in a collection of type determined by aType (MCPTypeArray or MCPTypeDictionary) "*/ { MCPResult *theResult = [self queryString:aQuery]; return [theResult fetchRowAsType:aType]; } - (id) getAllRowsFromQuery:(NSString *) aQuery asType:(MCPReturnType) aType /*" Get a bidimensional table of the whole rows of the result from the query aQuery. The type of the result is choosen by aType, it can be (MCPTypeArray, MCPTypeDictionary, MCPTypeFlippedArray & MCPTypeFlippedDictionary). Description of the types can be found in method !{fetch2DResultAsType:}. "*/ { MCPResult *theResult = [self queryString:aQuery]; return [theResult fetch2DResultAsType:aType]; } - (NSArray *) getQuery:(NSString *) aQuery colWithIndex:(unsigned int) aCol /*" Get a column (as an NSArray) of the result from the query aQuery. The column is choosen from it's index, starting from 0. "*/ { MCPResult *theResult = [self queryString:aQuery]; return [theResult fetchColAtIndex:aCol]; } - (NSArray *) getQuery:(NSString *) aQuery colWithName:(NSString *) aColName /*" Get a column (as an NSArray) of the result from the query aQuery. The column is choosen from it's name. "*/ { MCPResult *theResult = [self queryString:aQuery]; return [theResult fetchColWithName:aColName]; } @end --- NEW FILE: MCPNull.h --- // // MCPNull.h // SMySQL // // Created by Serge Cohen (ser...@m4...) on Sun Jun 02 2002. // Copyright (c) 2001 Serge Cohen. // // This code is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or any later version. // // This code is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // For a copy of the GNU General Public License, visit <http://www.gnu.org/> or // write to the Free Software Foundation, Inc., 59 Temple Place--Suite 330, // Boston, MA 02111-1307, USA. // // More info at <http://mysql-cocoa.sourceforge.net/> // // $Id: MCPNull.h,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ // $Author: sergecohen $ #import <Foundation/Foundation.h> @interface NSObject (MCPNSNullTest) /*" Addin to NSObject. "*/ - (BOOL) isNSNull; @end --- NEW FILE: MCPNull.m --- // // MCPNull.m // SMySQL // // Created by Serge Cohen (ser...@m4...) on Sun Jun 02 2002. // Copyright (c) 2001 Serge Cohen. // // This code is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or any later version. // // This code is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // For a copy of the GNU General Public License, visit <http://www.gnu.org/> or // write to the Free Software Foundation, Inc., 59 Temple Place--Suite 330, // Boston, MA 02111-1307, USA. // // More info at <http://mysql-cocoa.sourceforge.net/> // // $Id: MCPNull.m,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ // $Author: sergecohen $ #import "MCPNull.h" @implementation NSObject (MCPNSNullTest) /*" !{ $Id: MCPNull.m,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ } This Category is meant to make any kind of object the possible target to the test (isNSNull) "*/ - (BOOL) isNSNull { return [self isMemberOfClass:[NSNull class]]; } @end --- NEW FILE: MCPResult.h --- // // MCPResult.h // SMySQL // // Created by serge cohen (ser...@m4...) on Sat Dec 08 2001. // Copyright (c) 2001 Serge Cohen. // // This code is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or any later version. // // This code is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // For a copy of the GNU General Public License, visit <http://www.gnu.org/> or // write to the Free Software Foundation, Inc., 59 Temple Place--Suite 330, // Boston, MA 02111-1307, USA. // // More info at <http://mysql-cocoa.sourceforge.net/> // // $Id: MCPResult.h,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ // $Author: sergecohen $ #import <Foundation/Foundation.h> #import "mysql.h" #import "SMySQLConstants.h" @interface MCPResult : NSObject { MYSQL_RES *mResult; /*"The MYSQL_RES structure of the C API"*/ NSArray *mNames; /*"An NSArray holding the name of the columns"*/ NSDictionary *mMySQLLocales; /*"A Locales dictionary to define the locales of MySQL"*/ NSStringEncoding mEncoding; /*"The encoding used by MySQL server, to ISO-1 default"*/ unsigned int mNumOfFields; /*"The number of fields in the result"*/ } /*" Class maintenance "*/ + (void) initialize; /*" Init used #{only} by #{MCPConnection} "*/ - (id) initWithMySQLPtr:(MYSQL *) mySQLPtr encoding:(NSStringEncoding) theEncoding; - (id) initWithResPtr:(MYSQL_RES *) mySQLResPtr encoding:(NSStringEncoding) theEncoding; - (id) init; /*" General info on the result "*/ - (my_ulonglong) numOfRows; - (unsigned int) numOfFields; /*" Getting the rows "*/ - (void) dataSeek:(my_ulonglong) row; - (id) fetchRowAsType:(MCPReturnType) aType; - (NSArray *) fetchRowAsArray; - (NSDictionary *) fetchRowAsDictionary; /*" Getting information on columns "*/ - (NSArray *) fetchFieldsName; - (id) fetchTypesAsType:(MCPReturnType) aType; - (NSArray *) fetchTypesAsArray; - (NSDictionary *) fetchTypesAsDictionary; - (BOOL) isBlobAtIndex:(unsigned int) index; - (BOOL) isBlobForKey:(NSString *) key; /*" Text data convertion to string "*/ - (NSString *) stringWithText:(NSData *) theTextData; /*" Utility method "*/ - (NSString *) description; /*" End of the scope... "*/ - (void) dealloc; /*" Private methods, internal use only "*/ - (const char *) cStringFromString:(NSString *) theString; - (NSString *) stringWithCString:(const char *) theCString; @end --- NEW FILE: MCPResult.m --- // // MCPResult.m // SMySQL // // Created by serge cohen (ser...@m4...) on Sat Dec 08 2001. // Copyright (c) 2001 Serge Cohen. // // This code is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or any later version. // // This code is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // For a copy of the GNU General Public License, visit <http://www.gnu.org/> or // write to the Free Software Foundation, Inc., 59 Temple Place--Suite 330, // Boston, MA 02111-1307, USA. // // More info at <http://mysql-cocoa.sourceforge.net/> // // $Id: MCPResult.m,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ // $Author: sergecohen $ #import "MCPConnection.h" #import "MCPNull.h" #import "MCPResult.h" NSCalendarDate *MCPYear0000; @implementation MCPResult /*" !{ $Id: MCPResult.m,v 1.1 2003/10/11 18:48:07 sergecohen Exp $ } Hold the results of a query to a MySQL database server. It correspond to the MYSQL_RES structure of the C API, and to the statement handle of the PERL DBI/DBD. Uses the !{mysql_store_result()} function from the C API. This object is generated only by a MCPConnection object, in this way (see #{MCPConnection} documentation): !{ MCPConnection *theConnec = [MCPConnection alloc]; MCPResult *theRes; NSDictionnary *theDict; NSArray *theColNames; int i, j; theConnec = [theConnec initToHost::albert.com withLogin:@"toto" password:@"albert" port:0]; [theConnec selectDB:@"db1"]; theRes = [theConnec queryString:@"select * from table1"]; theColNames = [theRes fetchFiedlsName]; i = 0; while (theDict = [theRes fetchRowAsDictionary]){ NSLog(@"Row : %d\n", i); for (j=0; j<[theColNames count]; j++) { NSLog(@" Field : %@, contain : %@\n", [theColNames objectAtInex:j], [theDict objectForKey:[theColNames objectAtIndex:j]]); } i++; } } "*/ + (void) initialize /*" Initialize the class version to 2.0.0 "*/ { if (self = [MCPResult class]) { [self setVersion:020000]; // Ma.Mi.Re -> MaMiRe MCPYear0000 = [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:-63146822400.0] retain]; [MCPYear0000 setCalendarFormat:@"%Y"]; } return; } - (id) initWithMySQLPtr:(MYSQL *) mySQLPtr encoding:(NSStringEncoding) theEncoding /*" initialise a MCPResult, it is used internally by MCPConnection !{queryString:} method: the only proper way to get a running MCPResult object. "*/ { self = [super init]; mEncoding = theEncoding; if (mResult) { mysql_free_result(mResult); mResult = NULL; } if (mNames) { [mNames release]; mNames = NULL; } mResult = mysql_store_result(mySQLPtr); if (mResult) { mNumOfFields = mysql_num_fields(mResult); } else { mNumOfFields = 0; } /* if (mResult == NULL) { [self autorelease]; return nil; } */ if (mMySQLLocales == NULL) { mMySQLLocales = [[MCPConnection getMySQLLocales] retain]; } return self; } - (id) initWithResPtr:(MYSQL_RES *) mySQLResPtr encoding:(NSStringEncoding) theEncoding /*" This metod it is used internally by MCPConnection object when it have already a MYSQL_RES object to initialise MCPResult object. Initialise a MCPResult with the MYSQL_RES pointer (returned by such a function as mysql_list_dbs). NB: MCPResult should be made by using one of the method of MCPConnection. "*/ { self = [super init]; mEncoding = theEncoding; if (mResult) { mysql_free_result(mResult); mResult = NULL; } if (mNames) { [mNames release]; mNames = NULL; } mResult = mySQLResPtr; if (mResult) { mNumOfFields = mysql_num_fields(mResult); } else { mNumOfFields = 0; } /* if (mResult == NULL) { [self autorelease]; return nil; } */ if (mMySQLLocales == NULL) { mMySQLLocales = [[MCPConnection getMySQLLocales] retain]; } return self; } - (id) init /*" Empty init, normaly of NO use to the user, again, MCPResult should be made through calls to MCPConnection "*/ { self = [super init]; mEncoding = [MCPConnection defaultMySQLEncoding]; if (mResult) { mysql_free_result(mResult); mResult = NULL; } if (mNames) { [mNames release]; mNames = NULL; } if (mMySQLLocales == NULL) { mMySQLLocales = [[MCPConnection getMySQLLocales] retain]; } mNumOfFields = 0; return self; } - (my_ulonglong) numOfRows /*" Return the number of rows selected by the query. "*/ { if (mResult) { return mysql_num_rows(mResult); } return 0; } - (unsigned int) numOfFields /*" Return the number of fields selected by the query. As a side effect it forces an update of the number of fields. "*/ { if (mResult) { return mNumOfFields = mysql_num_fields(mResult); } return mNumOfFields = 0; } - (void) dataSeek:(my_ulonglong) row /*" Go to a precise row in the selected result. 0 is the very first row "*/ { my_ulonglong theRow = (row < 0)? 0 : row; theRow = (theRow < [self numOfRows])? theRow : ([self numOfRows]-1); mysql_data_seek(mResult,theRow); return; } - (id) fetchRowAsType:(MCPReturnType) aType /*" Return the next row of the result as a collection of type defined by aType (namely MCPTypeArray or MCPTypeDictionary). Each field of the row is made into a proper object to hold the info (NSNumber, NSString...). This method returned directly the #{mutable} object generated while going through all the columns "*/ { MYSQL_ROW theRow; unsigned long *theLengths; MYSQL_FIELD *theField; int i; id theReturn; if (mResult == NULL) { // If there is no results, returns nil, as after the last row... return nil; } theRow = mysql_fetch_row(mResult); if (theRow == NULL) { return nil; } switch (aType) { case MCPTypeArray: theReturn = [NSMutableArray arrayWithCapacity:mNumOfFields]; break; case MCPTypeDictionary: if (mNames == nil) { [self fetchFieldsName]; } theReturn = [NSMutableDictionary dictionaryWithCapacity:mNumOfFields]; break; default : NSLog (@"Unknown type : %d, will return an Array!\n", aType); theReturn = [NSMutableArray arrayWithCapacity:mNumOfFields]; break; } theLengths = mysql_fetch_lengths(mResult); theField = mysql_fetch_fields(mResult); for (i=0; i<mNumOfFields; i++) { id theCurrentObj; if (theRow[i] == NULL) { theCurrentObj = [NSNull null]; } else { char *theData = calloc(sizeof(char),theLengths[i]+1); char *theUselLess; memcpy(theData, theRow[i],theLengths[i]); theData[theLengths[i]] = '\0'; switch (theField[i].type) { case FIELD_TYPE_TINY: case FIELD_TYPE_SHORT: case FIELD_TYPE_INT24: case FIELD_TYPE_LONG: theCurrentObj = [NSNumber numberWithLong:atol(theData)]; break; case FIELD_TYPE_LONGLONG: theCurrentObj = [NSNumber numberWithLongLong:strtoq(theData, &theUselLess, 0)]; break; case FIELD_TYPE_DECIMAL: case FIELD_TYPE_FLOAT: case FIELD_TYPE_DOUBLE: theCurrentObj = [NSNumber numberWithDouble:atof(theData)]; break; case FIELD_TYPE_TIMESTAMP: // Indeed one should check which format it is (14,12...2) and get the corresponding format string // a switch on theLength[i] would do that... // Here it will crash if it's not default presentation : TIMESTAMP(14) theCurrentObj = [NSCalendarDate dateWithString:[NSString stringWithUTF8String:theData] calendarFormat:@"%Y%m%d%H%M%S"]; [theCurrentObj setCalendarFormat:@"%Y-%m-%d %H:%M:%S"]; break; case FIELD_TYPE_DATE: theCurrentObj = [NSCalendarDate dateWithString:[NSString stringWithUTF8String:theData] calendarFormat:@"%Y-%m-%d"]; [theCurrentObj setCalendarFormat:@"%Y-%m-%d"]; break; case FIELD_TYPE_TIME: // Pass them back as string for the moment... not TIME object in Cocoa (so far) theCurrentObj = [NSString stringWithUTF8String:theData]; break; case FIELD_TYPE_DATETIME: theCurrentObj = [NSCalendarDate dateWithString:[NSString stringWithCString:theData] calendarFormat:@"%Y-%m-%d %H:%M:%S"]; [theCurrentObj setCalendarFormat:@"%Y-%m-%d %H:%M:%S"]; break; case FIELD_TYPE_YEAR: theCurrentObj = [NSCalendarDate dateWithString:[NSString stringWithCString:theData] calendarFormat:@"%Y"]; [theCurrentObj setCalendarFormat:@"%Y"]; // MySQL is not able to save years before 1900, and then gives a column of 0000, unfortunately, NSCalendarDate // doesn't accept the string @"0000" in the method datewithString: calendarFormat:@"%Y"... if (! theCurrentObj) { theCurrentObj = MCPYear0000; } // Debugging // NSLog(@"The Yeear is : %@, the field is %s\n", theCurrentObj, theData); // End break; case FIELD_TYPE_VAR_STRING: case FIELD_TYPE_STRING: theCurrentObj = [self stringWithCString:theData]; break; case FIELD_TYPE_TINY_BLOB: case FIELD_TYPE_BLOB: case FIELD_TYPE_MEDIUM_BLOB: case FIELD_TYPE_LONG_BLOB: theCurrentObj = [NSData dataWithBytes:theData length:theLengths[i]]; break; case FIELD_TYPE_SET: theCurrentObj = [self stringWithCString:theData]; break; case FIELD_TYPE_ENUM: theCurrentObj = [self stringWithCString:theData]; break; case FIELD_TYPE_NULL: theCurrentObj = [NSNull null]; break; case FIELD_TYPE_NEWDATE: // Don't know what the format for this type is... theCurrentObj = [self stringWithCString:theData]; break; default: NSLog (@"in fetchRowAsDictionary : Unknown type : %d for column %d, send back a NSData object", (int)theField[i].type, (int)i); theCurrentObj = [NSData dataWithBytes:theData length:theLengths[i]]; break; } free(theData); // Some of the creators return nil object... if (theCurrentObj == nil) { theCurrentObj = [NSNull null]; } } switch (aType) { case MCPTypeArray : [theReturn addObject:theCurrentObj]; break; case MCPTypeDictionary : [theReturn setObject:theCurrentObj forKey:[mNames objectAtIndex:i]]; break; default : [theReturn addObject:theCurrentObj]; break; } } return theReturn; } - (NSArray *) fetchRowAsArray /*" Return the next row of the result as an array, the index in select field order, the object a proper object for handling the information in the field (NSString, NSNumber ...). Just a #{typed} wrapper for method !{fetchRosAsType:} (with arg MCPTypeArray). NB: Returned object is immutable. "*/ { NSMutableArray *theArray = [self fetchRowAsType:MCPTypeArray]; if (theArray) { return [NSArray arrayWithArray:theArray]; } else { return nil; } } - (NSDictionary *) fetchRowAsDictionary /*" Return the next row of the result as a dictionary, the key being the field name, the object a proper object for handling the information in the field (NSString, NSNumber ...). Just a #{typed} wrapper for method !{fetchRosAsType:} (with arg MCPTypeDictionary). NB: Returned object is immutable. "*/ { NSMutableDictionary *theDict = [self fetchRowAsType:MCPTypeDictionary]; if (theDict) { return [NSDictionary dictionaryWithDictionary:theDict]; } else { return nil; } } - (NSArray *) fetchFieldsName /*" Generate the mNames if not already generated, and return it. mNames is a NSArray holding the names of the fields(columns) of the results "*/ { unsigned int theNumFields; int i; NSMutableArray *theNamesArray; MYSQL_FIELD *theField; if (mNames) { return mNames; } if (mResult == NULL) { // If no results, give an empty array. Maybe it's better to give a nil pointer? return (mNames = [[NSArray array] retain]); } theNumFields = [self numOfFields]; theNamesArray = [NSMutableArray arrayWithCapacity: theNumFields]; theField = mysql_fetch_fields(mResult); for (i=0; i<theNumFields; i++) { NSString *theName = [self stringWithCString:theField[i].name]; if ((theName) && (![theName isEqualToString:@""])) { [theNamesArray addObject:theName]; } else { [theNamesArray addObject:[NSString stringWithFormat:@"Column %d", i]]; } } return (mNames = [[NSArray arrayWithArray:theNamesArray] retain]); } - (id) fetchTypesAsType:(MCPReturnType) aType /*" Return a collection of the fields's type. The type of collection is choosen by the aType variable (MCPTypeArray or MCPTypeDictionary). This method returned directly the #{mutable} object generated while going through all the columns "*/ { int i; id theTypes; MYSQL_FIELD *theField; if (mResult == NULL) { // If no results, give an empty array. Maybe it's better to give a nil pointer? return nil; } switch (aType) { case MCPTypeArray: theTypes = [NSMutableArray arrayWithCapacity:mNumOfFields]; break; case MCPTypeDictionary: if (mNames == nil) { [self fetchFieldsName]; } theTypes = [NSMutableDictionary dictionaryWithCapacity:mNumOfFields]; break; default : NSLog (@"Unknown type : %d, will return an Array!\n", aType); theTypes = [NSMutableArray arrayWithCapacity:mNumOfFields]; break; } theField = mysql_fetch_fields(mResult); for (i=0; i<mNumOfFields; i++) { NSString *theType; switch (theField[i].type) { case FIELD_TYPE_TINY: theType = @"tiny"; break; case FIELD_TYPE_SHORT: theType = @"short"; break; case FIELD_TYPE_LONG: theType = @"long"; break; case FIELD_TYPE_INT24: theType = @"int24"; break; case FIELD_TYPE_LONGLONG: theType = @"longlong"; break; case FIELD_TYPE_DECIMAL: theType = @"decimal"; break; case FIELD_TYPE_FLOAT: theType = @"float"; break; case FIELD_TYPE_DOUBLE: theType = @"double"; break; case FIELD_TYPE_TIMESTAMP: theType = @"timestamp"; break; case FIELD_TYPE_DATE: theType = @"date"; break; case FIELD_TYPE_TIME: theType = @"time"; break; case FIELD_TYPE_DATETIME: theType = @"datetime"; break; case FIELD_TYPE_YEAR: theType = @"year"; break; case FIELD_TYPE_VAR_STRING: theType = @"varstring"; break; case FIELD_TYPE_STRING: theType = @"string"; break; case FIELD_TYPE_TINY_BLOB: theType = @"tinyblob"; break; case FIELD_TYPE_BLOB: theType = @"blob"; break; case FIELD_TYPE_MEDIUM_BLOB: theType = @"mediumblob"; break; case FIELD_TYPE_LONG_BLOB: theType = @"longblob"; break; case FIELD_TYPE_SET: theType = @"set"; break; case FIELD_TYPE_ENUM: theType = @"enum"; break; case FIELD_TYPE_NULL: theType = @"null"; break; case FIELD_TYPE_NEWDATE: theType = @"newdate"; break; default: theType = @"unknown"; NSLog (@"in fetchTypesAsArray : Unknown type for column %d of the MCPResult, type = %d", (int)i, (int)theField[i].type); break; } switch (aType) { case MCPTypeArray : [theTypes addObject:theType]; break; case MCPTypeDictionary : [theTypes setObject:theType forKey:[mNames objectAtIndex:i]]; break; default : [theTypes addObject:theType]; break; } } return theTypes; } - (NSArray *) fetchTypesAsArray /*" Return an array of the fields' types. NB: Returned object is immutable. "*/ { NSMutableArray *theArray = [self fetchTypesAsType:MCPTypeArray]; if (theArray) { return [NSArray arrayWithArray:theArray]; } else { return nil; } } - (NSDictionary*) fetchTypesAsDictionary /*" Return a dictionnary of the fields' types (keys are the fields' names). NB: Returned object is immutable. "*/ { NSMutableDictionary *theDict = [self fetchTypesAsType:MCPTypeDictionary]; if (theDict) { return [NSDictionary dictionaryWithDictionary:theDict]; } else { return nil; } } - (BOOL) isBlobAtIndex:(unsigned int) index /*" Return YES if the field with the given index is a BLOB. It should be used to discriminates between BLOBs and TEXTs. #{NOT YET IMPLEMENTED}, return YES for both BLOBs and TEXTs... "*/ { BOOL theRet; unsigned int theNumFields; MYSQL_FIELD *theField; if (mResult == NULL) { // If no results, give an empty array. Maybe it's better to give a nil pointer? return (NO); } theNumFields = [self numOfFields]; theField = mysql_fetch_fields(mResult); if (index >= theNumFields) { // Out of range... should raise an exception theRet = NO; } else { switch(theField[index].type) { case FIELD_TYPE_TINY_BLOB: case FIELD_TYPE_BLOB: case FIELD_TYPE_MEDIUM_BLOB: case FIELD_TYPE_LONG_BLOB: theRet = YES; break; default: theRet = NO; break; } } return theRet; } - (BOOL) isBlobForKey:(NSString *) key /*" Return YES if the field (by name) with the given index is a BLOB. It should be used to discriminates between BLOBs and TEXTs. #{NOT YET IMPLEMENTED}, return YES for both BLOBs and TEXTs... "*/ { BOOL theRet; unsigned int theNumFields, index; MYSQL_FIELD *theField; if (mResult == NULL) { // If no results, give an empty array. Maybe it's better to give a nil pointer? return (NO); } if (mNames == NULL) { [self fetchFieldsName]; } theNumFields = [self numOfFields]; theField = mysql_fetch_fields(mResult); if ((index = [mNames in... [truncated message content] |
From: Serge C. <ser...@us...> - 2003-10-11 18:46:20
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit In directory sc8-pr-cvs1:/tmp/cvs-serv18596/MCPFoundationKit Log Message: Directory /cvsroot/mysql-cocoa/SMySQL/MCPFoundationKit added to the repository |
From: Serge C. <ser...@us...> - 2003-10-11 18:45:32
|
Update of /cvsroot/mysql-cocoa/SMySQL/MCPApplicationKit In directory sc8-pr-cvs1:/tmp/cvs-serv18423/MCPApplicationKit Log Message: Directory /cvsroot/mysql-cocoa/SMySQL/MCPApplicationKit added to the repository |
From: Serge C. <ser...@us...> - 2003-10-04 18:21:22
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1:/tmp/cvs-serv25602/SMySQL.pbproj Modified Files: cohen.pbxuser project.pbxproj Log Message: Commit some changes to the project builder project. 2003-10-04; Serge Cohen. Index: cohen.pbxuser =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/cohen.pbxuser,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** cohen.pbxuser 27 Aug 2003 15:39:20 -0000 1.25 --- cohen.pbxuser 4 Oct 2003 18:21:17 -0000 1.26 *************** *** 4,10 **** activeBuildStyle = 014CEA450018CDF011CA2923; activeExecutable = 0DCFFE7604EE9B4400AD80EC; ! activeTarget = 0DEFA05704F0318B00A68F01; addToTargets = ( 0DA7207E04EE8A99002E9126, ); executables = ( --- 4,11 ---- activeBuildStyle = 014CEA450018CDF011CA2923; activeExecutable = 0DCFFE7604EE9B4400AD80EC; ! activeTarget = 0DCFFE7404EE9B4400AD80EC; addToTargets = ( 0DA7207E04EE8A99002E9126, + 0DA7208504EE8C3F002E9126, ); executables = ( *************** *** 12,16 **** ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 83676480; PBXWorkspaceContents = ( { --- 13,17 ---- ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 86256043; PBXWorkspaceContents = ( { *************** *** 19,23 **** Split0 = { NavContent0 = { ! bookmark = 0DE4C10204FC079E00A8C863; history = ( 0D82DD6C04F0FEC100B97554, --- 20,24 ---- Split0 = { NavContent0 = { ! bookmark = 0D13F25205242FC500956BC3; history = ( 0D82DD6C04F0FEC100B97554, *************** *** 28,36 **** 0DF73C6B04F49C5000A8C863, 0DF73C6C04F49C5000A8C863, - 0D7C23E004F505B300A8C863, 0D7C23E104F505B300A8C863, ! 0D7C23E204F505B300A8C863, ! 0DE4C10004FC079E00A8C863, ! 0D7C23DF04F505B300A8C863, ); prevStack = ( --- 29,42 ---- 0DF73C6B04F49C5000A8C863, 0DF73C6C04F49C5000A8C863, 0D7C23E104F505B300A8C863, ! 0DCAF5AD04FD1C0100A8C863, ! 0DCAF5AE04FD1C0100A8C863, ! 0DCAF5AF04FD1C0100A8C863, ! 0D2108A50521F29900E58DA2, ! 0D13F24905242FC500956BC3, ! 0D13F24A05242FC500956BC3, ! 0D13F24B05242FC500956BC3, ! 0D13F24C05242FC500956BC3, ! 0D13F24D05242FC500956BC3, ); prevStack = ( *************** *** 89,92 **** --- 95,108 ---- 0D7C240B04F505B300A8C863, 0DE4C10104FC079E00A8C863, + 0DCAF5B004FD1C0100A8C863, + 0DCAF5B104FD1C0100A8C863, + 0DCAF5B204FD1C0100A8C863, + 0DCAF5B304FD1C0100A8C863, + 0DCAF5B404FD1C0100A8C863, + 0D2108A70521F29900E58DA2, + 0D13F24E05242FC500956BC3, + 0D13F24F05242FC500956BC3, + 0D13F25005242FC500956BC3, + 0D13F25105242FC500956BC3, ); }; *************** *** 253,260 **** Template = F5F68CF101725D4C0D7A8F4C; ToolbarVisible = YES; ! WindowLocation = "{52, 44}"; }, ); ! PBXWorkspaceStateSaveDate = 83676480; }; perUserProjectItems = { --- 269,276 ---- Template = F5F68CF101725D4C0D7A8F4C; ToolbarVisible = YES; ! WindowLocation = "{119, 51}"; }, ); ! PBXWorkspaceStateSaveDate = 86256043; }; perUserProjectItems = { *************** *** 262,270 **** 0D0D0ADF04F24A0900A8C863 = 0D0D0ADF04F24A0900A8C863; 0D0D0AE104F24A0900A8C863 = 0D0D0AE104F24A0900A8C863; 0D6DC6FD04F03FE40025C233 = 0D6DC6FD04F03FE40025C233; - 0D7C23DF04F505B300A8C863 = 0D7C23DF04F505B300A8C863; - 0D7C23E004F505B300A8C863 = 0D7C23E004F505B300A8C863; 0D7C23E104F505B300A8C863 = 0D7C23E104F505B300A8C863; - 0D7C23E204F505B300A8C863 = 0D7C23E204F505B300A8C863; 0D7C23E404F505B300A8C863 = 0D7C23E404F505B300A8C863; 0D7C23E504F505B300A8C863 = 0D7C23E504F505B300A8C863; --- 278,295 ---- 0D0D0ADF04F24A0900A8C863 = 0D0D0ADF04F24A0900A8C863; 0D0D0AE104F24A0900A8C863 = 0D0D0AE104F24A0900A8C863; + 0D13F24905242FC500956BC3 = 0D13F24905242FC500956BC3; + 0D13F24A05242FC500956BC3 = 0D13F24A05242FC500956BC3; + 0D13F24B05242FC500956BC3 = 0D13F24B05242FC500956BC3; + 0D13F24C05242FC500956BC3 = 0D13F24C05242FC500956BC3; + 0D13F24D05242FC500956BC3 = 0D13F24D05242FC500956BC3; + 0D13F24E05242FC500956BC3 = 0D13F24E05242FC500956BC3; + 0D13F24F05242FC500956BC3 = 0D13F24F05242FC500956BC3; + 0D13F25005242FC500956BC3 = 0D13F25005242FC500956BC3; + 0D13F25105242FC500956BC3 = 0D13F25105242FC500956BC3; + 0D13F25205242FC500956BC3 = 0D13F25205242FC500956BC3; + 0D2108A50521F29900E58DA2 = 0D2108A50521F29900E58DA2; + 0D2108A70521F29900E58DA2 = 0D2108A70521F29900E58DA2; 0D6DC6FD04F03FE40025C233 = 0D6DC6FD04F03FE40025C233; 0D7C23E104F505B300A8C863 = 0D7C23E104F505B300A8C863; 0D7C23E404F505B300A8C863 = 0D7C23E404F505B300A8C863; 0D7C23E504F505B300A8C863 = 0D7C23E504F505B300A8C863; *************** *** 314,320 **** 0D8AD06904F04D8300C86E30 = 0D8AD06904F04D8300C86E30; 0D8AD06A04F04D8300C86E30 = 0D8AD06A04F04D8300C86E30; ! 0DE4C10004FC079E00A8C863 = 0DE4C10004FC079E00A8C863; 0DE4C10104FC079E00A8C863 = 0DE4C10104FC079E00A8C863; - 0DE4C10204FC079E00A8C863 = 0DE4C10204FC079E00A8C863; 0DF73C6B04F49C5000A8C863 = 0DF73C6B04F49C5000A8C863; 0DF73C6C04F49C5000A8C863 = 0DF73C6C04F49C5000A8C863; --- 339,351 ---- 0D8AD06904F04D8300C86E30 = 0D8AD06904F04D8300C86E30; 0D8AD06A04F04D8300C86E30 = 0D8AD06A04F04D8300C86E30; ! 0DCAF5AD04FD1C0100A8C863 = 0DCAF5AD04FD1C0100A8C863; ! 0DCAF5AE04FD1C0100A8C863 = 0DCAF5AE04FD1C0100A8C863; ! 0DCAF5AF04FD1C0100A8C863 = 0DCAF5AF04FD1C0100A8C863; ! 0DCAF5B004FD1C0100A8C863 = 0DCAF5B004FD1C0100A8C863; ! 0DCAF5B104FD1C0100A8C863 = 0DCAF5B104FD1C0100A8C863; ! 0DCAF5B204FD1C0100A8C863 = 0DCAF5B204FD1C0100A8C863; ! 0DCAF5B304FD1C0100A8C863 = 0DCAF5B304FD1C0100A8C863; ! 0DCAF5B404FD1C0100A8C863 = 0DCAF5B404FD1C0100A8C863; 0DE4C10104FC079E00A8C863 = 0DE4C10104FC079E00A8C863; 0DF73C6B04F49C5000A8C863 = 0DF73C6B04F49C5000A8C863; 0DF73C6C04F49C5000A8C863 = 0DF73C6C04F49C5000A8C863; *************** *** 359,373 **** vrLoc = 0; }; ! 0D6DC6FD04F03FE40025C233 = { isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; }; ! 0D7C23DF04F505B300A8C863 = { isa = PBXTargetBookmark; ! trg = 0DA7207E04EE8A99002E9126; }; ! 0D7C23E004F505B300A8C863 = { isa = PBXTargetBookmark; ! trg = 0DA7208504EE8C3F002E9126; }; 0D7C23E104F505B300A8C863 = { --- 390,522 ---- vrLoc = 0; }; ! 0D13F24905242FC500956BC3 = { ! fRef = 0DCFFE4304EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "SMySQL.h: 27"; ! rLen = 245; ! rLoc = 966; ! rType = 0; ! vrLen = 1238; ! vrLoc = 0; ! }; ! 0D13F24A05242FC500956BC3 = { ! fRef = 0D13F25305242FC500956BC3; ! isa = PBXTextBookmark; ! name = "MCPConnection.h: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1542; ! vrLoc = 0; ! }; ! 0D13F24B05242FC500956BC3 = { ! fRef = 0D13F25405242FC500956BC3; ! glyphRangeLength = 743; ! glyphRangeLocation = 0; ! isa = PBXDocBookmark; ! name = "MCPConnection+MCPFastQueries.html: MCPConnectio..."; ! }; ! 0D13F24C05242FC500956BC3 = { ! fRef = 0D13F25505242FC500956BC3; ! glyphRangeLength = 436; ! glyphRangeLocation = 3105; ! isa = PBXDocBookmark; ! name = "MCPConnection.html: Initialize t..."; ! }; ! 0D13F24D05242FC500956BC3 = { ! fRef = 0DCFFE3A04EE97AE00AD80EC; ! isa = PBXBookmark; ! }; ! 0D13F24E05242FC500956BC3 = { ! fRef = 0DCFFE4304EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "SMySQL.h: 27"; ! rLen = 245; ! rLoc = 966; ! rType = 0; ! vrLen = 1238; ! vrLoc = 0; ! }; ! 0D13F24F05242FC500956BC3 = { ! fRef = 0D13F25805242FC500956BC3; ! isa = PBXTextBookmark; ! name = "MCPConnection.h: 1"; ! rLen = 0; ! rLoc = 0; ! rType = 0; ! vrLen = 1542; ! vrLoc = 0; ! }; ! 0D13F25005242FC500956BC3 = { ! fRef = 0D13F25605242FC500956BC3; ! glyphRangeLength = 743; ! glyphRangeLocation = 0; ! isa = PBXDocBookmark; ! name = "MCPConnection+MCPFastQueries.html: MCPConnectio..."; ! }; ! 0D13F25105242FC500956BC3 = { ! fRef = 0D13F25705242FC500956BC3; ! glyphRangeLength = 436; ! glyphRangeLocation = 3105; ! isa = PBXDocBookmark; ! name = "MCPConnection.html: Initialize t..."; ! }; ! 0D13F25205242FC500956BC3 = { ! fRef = 0DCFFE3A04EE97AE00AD80EC; ! isa = PBXTextBookmark; ! name = "MCPConnection.m: 155"; ! rLen = 0; ! rLoc = 4730; ! rType = 0; ! vrLen = 1388; ! vrLoc = 4148; ! }; ! 0D13F25305242FC500956BC3 = { ! isa = PBXFileReference; ! name = MCPConnection.h; ! path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Versions/A/Headers/MCPConnection.h"; ! refType = 0; ! }; ! 0D13F25405242FC500956BC3 = { ! isa = PBXFileReference; ! name = "MCPConnection+MCPFastQueries.html"; ! path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection+MCPFastQueries.html"; ! refType = 0; ! }; ! 0D13F25505242FC500956BC3 = { ! isa = PBXFileReference; ! name = MCPConnection.html; ! path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection.html"; ! refType = 0; ! }; ! 0D13F25605242FC500956BC3 = { ! isa = PBXFileReference; ! name = "MCPConnection+MCPFastQueries.html"; ! path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection+MCPFastQueries.html"; ! refType = 0; ! }; ! 0D13F25705242FC500956BC3 = { ! isa = PBXFileReference; ! name = MCPConnection.html; ! path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Resources/English.lproj/Documentation/Classes/MCPConnection.html"; ! refType = 0; ! }; ! 0D13F25805242FC500956BC3 = { ! isa = PBXFileReference; ! name = MCPConnection.h; ! path = "/Users/cohen/Projects/mysql-cocoa/SMySQL/build/SMySQL_bundled.framework/Versions/A/Headers/MCPConnection.h"; ! refType = 0; ! }; ! 0D2108A50521F29900E58DA2 = { isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; }; ! 0D2108A70521F29900E58DA2 = { isa = PBXTargetBookmark; ! trg = 0DEFA05704F0318B00A68F01; }; ! 0D6DC6FD04F03FE40025C233 = { isa = PBXTargetBookmark; ! trg = 0DEFA05704F0318B00A68F01; }; 0D7C23E104F505B300A8C863 = { *************** *** 375,382 **** trg = 0867D69CFE84028FC02AAC07; }; - 0D7C23E204F505B300A8C863 = { - isa = PBXTargetBookmark; - trg = 0DCFFE7404EE9B4400AD80EC; - }; 0D7C23E404F505B300A8C863 = { isa = PBXTargetBookmark; --- 524,527 ---- *************** *** 597,600 **** --- 742,777 ---- activeExec = 0; }; + 0DCAF5AD04FD1C0100A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + }; + 0DCAF5AE04FD1C0100A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7208504EE8C3F002E9126; + }; + 0DCAF5AF04FD1C0100A8C863 = { + isa = PBXTargetBookmark; + trg = 0DCFFE7404EE9B4400AD80EC; + }; + 0DCAF5B004FD1C0100A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + }; + 0DCAF5B104FD1C0100A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7208504EE8C3F002E9126; + }; + 0DCAF5B204FD1C0100A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + }; + 0DCAF5B304FD1C0100A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7208504EE8C3F002E9126; + }; + 0DCAF5B404FD1C0100A8C863 = { + isa = PBXTargetBookmark; + trg = 0DCFFE7404EE9B4400AD80EC; + }; 0DCFFE7404EE9B4400AD80EC = { activeExec = 0; *************** *** 623,637 **** ); }; - 0DE4C10004FC079E00A8C863 = { - isa = PBXTargetBookmark; - trg = 0DEFA05704F0318B00A68F01; - }; 0DE4C10104FC079E00A8C863 = { isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; - }; - 0DE4C10204FC079E00A8C863 = { - isa = PBXTargetBookmark; - trg = 0DA7207E04EE8A99002E9126; }; 0DEFA05704F0318B00A68F01 = { --- 800,806 ---- Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** project.pbxproj 26 Aug 2003 21:36:43 -0000 1.25 --- project.pbxproj 4 Oct 2003 18:21:18 -0000 1.26 *************** *** 111,114 **** --- 111,116 ---- 0DA720B104EE964F002E9126, 0DCFFE6C04EE99C300AD80EC, + 0DCAF5A304FD176800A8C863, + 0DCAF5A604FD177F00A8C863, 1058C7B0FEA5585E11CA2CBB, 1058C7B2FEA5585E11CA2CBB, *************** *** 432,435 **** --- 434,439 ---- 0DA720AC04EE9525002E9126, 0DCFFE6D04EE99C300AD80EC, + 0DCAF5AB04FD18BA00A8C863, + 0DCAF5AC04FD18BB00A8C863, ); isa = PBXFrameworksBuildPhase; *************** *** 461,465 **** HEADER_SEARCH_PATHS = mysql_bins; INSTALL_PATH = "~/Library/Frameworks"; ! LIBRARY_SEARCH_PATHS = "mysql_bins /Users/cohen/Projects/mysql-cocoa/SMySQL/mysql_bins /usr/lib/gcc/darwin/3.3 /usr/local/lib/mysql"; OTHER_CFLAGS = "-faltivec -fno-coalesce"; OTHER_LDFLAGS = "-seg1addr 0x08800000"; --- 465,469 ---- HEADER_SEARCH_PATHS = mysql_bins; INSTALL_PATH = "~/Library/Frameworks"; ! LIBRARY_SEARCH_PATHS = mysql_bins; OTHER_CFLAGS = "-faltivec -fno-coalesce"; OTHER_LDFLAGS = "-seg1addr 0x08800000"; *************** *** 567,570 **** --- 571,576 ---- 0DA720AE04EE952A002E9126, 0DCFFE6E04EE99C300AD80EC, + 0DCAF5A904FD181F00A8C863, + 0DCAF5AA04FD181F00A8C863, ); isa = PBXFrameworksBuildPhase; *************** *** 839,842 **** --- 845,884 ---- 0DA720B204EE964F002E9126 = { fileRef = 0DA720B104EE964F002E9126; + isa = PBXBuildFile; + settings = { + }; + }; + 0DCAF5A304FD176800A8C863 = { + isa = PBXFileReference; + name = libcrypto.0.9.dylib; + path = /usr/lib/libcrypto.0.9.dylib; + refType = 0; + }; + 0DCAF5A604FD177F00A8C863 = { + isa = PBXFileReference; + name = libssl.0.9.dylib; + path = /usr/lib/libssl.0.9.dylib; + refType = 0; + }; + 0DCAF5A904FD181F00A8C863 = { + fileRef = 0DCAF5A604FD177F00A8C863; + isa = PBXBuildFile; + settings = { + }; + }; + 0DCAF5AA04FD181F00A8C863 = { + fileRef = 0DCAF5A304FD176800A8C863; + isa = PBXBuildFile; + settings = { + }; + }; + 0DCAF5AB04FD18BA00A8C863 = { + fileRef = 0DCAF5A304FD176800A8C863; + isa = PBXBuildFile; + settings = { + }; + }; + 0DCAF5AC04FD18BB00A8C863 = { + fileRef = 0DCAF5A604FD177F00A8C863; isa = PBXBuildFile; settings = { |
From: Bertrand M. <ma...@us...> - 2003-10-04 10:15:24
|
Update of /cvsroot/mysql-cocoa/Documentation/website In directory sc8-pr-cvs1:/tmp/cvs-serv8263 Modified Files: index.html Log Message: Test CVS + verison -> version Index: index.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/index.html,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** index.html 30 Aug 2003 13:43:22 -0000 1.17 --- index.html 4 Oct 2003 10:15:18 -0000 1.18 *************** *** 21,25 **** <!--Documentation--> <a name="documentation"><h2>Documentation</h2></a> ! <p><em>Documentation of the latest verison of the framework can be found <a href="SMySQL_doc/">here</a></em></p> --- 21,25 ---- <!--Documentation--> <a name="documentation"><h2>Documentation</h2></a> ! <p><em>Documentation for the last framework version can be found <a href="SMySQL_doc/">there</a></em></p> |
From: Serge C. <ser...@us...> - 2003-08-30 13:43:28
|
Update of /cvsroot/mysql-cocoa/Documentation/website In directory sc8-pr-cvs1:/tmp/cvs-serv11721 Modified Files: archives.html index.html install_mysql-4.0.14.html Log Message: Some correction adn additions in the instructions for installation of MySQL-4.0.14 page. 2003-08-30; Serge Cohen. Index: archives.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/archives.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** archives.html 27 Aug 2003 21:54:27 -0000 1.2 --- archives.html 30 Aug 2003 13:43:22 -0000 1.3 *************** *** 18,21 **** --- 18,29 ---- <a name="home"><p>Home page of the MySQL Cocoa project can be found <a href="index.html">here</a></p></a> + <p class="withlist"><em>18 August 2003:</em> Released the version 2.2.0 of the framework. The API is kept unchanged, the main difference is in the project organisation (in Project Builder). I also have tried to make the aim of each target more clear, and cleaned up the build-styles, in that respect I have defined 3 different names for each of the flavours (corresponding to 3 different targets) of the framework (which BTW have also changed):</p> + <ol class="intext"> + <li class="intext"><em>SMySQL :</em> A <em>system-wide</em> framework, using the <em>dynamic</em> version of libmysqlclient.</li> + <li class="intext"><em>SMySQL_static :</em> A <em>system-wide</em> framework, using the <em>static</em> version of libmysqlclient.</li> + <li class="intext"><em>SMySQL_bundled :</em> A <em>bundled</em> framework (for bundling within Cocoa application), using the <em>static</em> version of libmysqlclient.</li> + </ol> + <p class="afterwithlist">Also modified the way the libmysqlclient static library is used, now a binary version of the library is distributed with the sources of the framework (the sources of the libmysqlclient used to be included in the project and compiled when building the framework). This way makes it easier if someone prefers to use it's own version of the libmysqlcleint library.</p> + <p class="withlist"><em>24 December 2002:</em> Posted the file releases for the version 2.0 of the framework. This correspond to both a source and a binary release. This version of the framework has a new API:</p> <ul class="intext"> *************** *** 116,118 **** --- 124,129 ---- <div class="center"><A href="http://sourceforge.net"> <IMG src="http://sourceforge.net/sflogo.php?group_id=42424&type=1" width="88" height="31" border="0" alt="SourceForge Logo"></A></div> + <hr> + <p class="footer">This page and its contents (unless otherwise noted or implied) Copyright © 2002 Serge Cohen. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a href="gpl.html">GNU General Public License</a> for more details.</p> </BODY> + </HTML> Index: index.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/index.html,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** index.html 27 Aug 2003 21:54:27 -0000 1.16 --- index.html 30 Aug 2003 13:43:22 -0000 1.17 *************** *** 29,32 **** --- 29,34 ---- <a name="archive"><p>Archives of the updates can be found <a href="archives.html">here</a></p></a> + <p><em>30 August 2003:</em> Added some comments and a last section (reloading data from the mysqldump file) to the instructions on how to install MySQL frmo sources. The file released has been updated to this new documentation as well.</p> + <p><em>27 August 2003:</em> Added a documentation on how to build MySQL from sources. You will find a link to these inscription in the <a href="#docs">Documentation</a> section. Following these instructions you should be able to build MySQL server and client sides, with prebound dynamic libraries (as well as static libraries), openssl support for both server and client... and finally getting the <code>libmysqld.a</code> library which is basically a embedded MySQL server running in its own thread, so your program can contains its own server (not yet supported by SMySQL framework... but might come some time soon).</p> *************** *** 35,46 **** <p><em>20 August 2003:</em> Releases the version 2.2.1 of the framework: minor bug correction. The previous versions of the framework were not able to handle properly the integer with more than 32bits (MySQL BIGINT). This is now corrected (indeed the other branches of the framework are also corrected in CVS, so if you are still using the version 1, I encourage you to get the fix from CVS). Unfortunately I have not found a solution to know from the MySQL server if an retrieve integer is signed or not, hence the framework assumes always signed int: this can cause a trouble if you have a unsigned column (either for BIGINT or INT) and you are using number bigger than the maximum SIGNED number. Thanks to Lorenz Textor for pointing the bug to me.</p> - <p class="withlist"><em>18 August 2003:</em> Released the version 2.2.0 of the framework. The API is kept unchanged, the main difference is in the project organisation (in Project Builder). I also have tried to make the aim of each target more clear, and cleaned up the build-styles, in that respect I have defined 3 different names for each of the flavours (corresponding to 3 different targets) of the framework (which BTW have also changed):</p> - <ol class="intext"> - <li class="intext"><em>SMySQL :</em> A <em>system-wide</em> framework, using the <em>dynamic</em> version of libmysqlclient.</li> - <li class="intext"><em>SMySQL_static :</em> A <em>system-wide</em> framework, using the <em>static</em> version of libmysqlclient.</li> - <li class="intext"><em>SMySQL_bundled :</em> A <em>bundled</em> framework (for bundling within Cocoa application), using the <em>static</em> version of libmysqlclient.</li> - </ol> - <p class="afterwithlist">Also modified the way the libmysqlclient static library is used, now a binary version of the library is distributed with the sources of the framework (the sources of the libmysqlclient used to be included in the project and compiled when building the framework). This way makes it easier if someone prefers to use it's own version of the libmysqlcleint library.</p> - <!--/Updates--> --- 37,40 ---- *************** *** 83,87 **** <a name="docs"><h2>Documentation</h2></a> ! <p>Some of the documentation available Online can be found <a href="http://sourceforge.net/docman/index.php?group_id=42424">here on Sourceforge</a> (indeed not yet); the rest is below.</p> <h4>Building MySQL from sources</h4> --- 77,84 ---- <a name="docs"><h2>Documentation</h2></a> ! <p>Ideally some documentation would be available on the <a href="http://sourceforge.net/docman/index.php?group_id=42424">sourceforge docman</a>... Unfortunately I did not had time to do so, so it's here.</p> ! ! <h4>Framework API documentation.</h4> ! <p>The framework comes with its own documentation (in the Resources/English.lproj/Documentation/Classes directory of the compiled frameworks). It is coming directly from the sources using the <a href="http://www.misckit.com/press/press_autodoc_2.0b8.html">autodoc application</a>. This same generated documentation can be found <a href="SMySQL_doc/">online here</a> (corresponding to the last version of the framework).</p> <h4>Building MySQL from sources</h4> *************** *** 200,204 **** <hr> ! <p class="footer">This page and its contents (unless otherwise noted or implied) Copyright © 2002 MySQL Cocoa Project. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a href="gpl.html">GNU General Public License</a> for more details.</p> </BODY> </HTML> --- 197,201 ---- <hr> ! <p class="footer">This page and its contents (unless otherwise noted or implied) Copyright © 2002 Serge Cohen. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a href="gpl.html">GNU General Public License</a> for more details.</p> </BODY> </HTML> Index: install_mysql-4.0.14.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/install_mysql-4.0.14.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** install_mysql-4.0.14.html 27 Aug 2003 21:54:27 -0000 1.1 --- install_mysql-4.0.14.html 30 Aug 2003 13:43:22 -0000 1.2 *************** *** 48,51 **** --- 48,53 ---- </div> + <p><a name="foreign_key_note"><em>NOTE </em>: If you are using some InnoDB databases, and have some constraints on foreign keys, then you might have to edit your mysqldump file, so that if a table B reference a key in table A, then table A definition (and content) appears first in the mysqldump output... Unfortunately mysqldump does not take care of that for you (indeed it output the tables in alphabetic order), so it is likely that some table appear in the output <em>before</em> the table it is referencing, causing a <code>ERROR 1005 at line ...: Can't create table './..../.....frm' (errno: 150)</code>. Then the solution is as easy as editing the mysqldump file to make sure that the table are defined in dependency order.</a></p> + <p>Now if you want to be sure that you don't mix two different installation of the database (if you are a bit paranoiac...), you can shutdown the server and remove all the files which where installed. Assuming your previous installation was also from sources (with prefix set to <code>/usr/local</code>) that would give something like:</p> *************** *** 175,178 **** --- 177,181 ---- <pre>% <b>su - mysql</b> Password: <i>type mysql user password</i> + % <b>mv </b><i>DB_data OLD_DB_data</i> % <b>mkdir </b><i>DB_data</i> % <b>exit</b> *************** *** 180,187 **** </div> <p>Now install the binaries, libraries, include files...</p> <div class="code"> <pre>% <b>sudo make install</b> ! Password: <i>type root(system) password</i> % </pre> </div> --- 183,192 ---- </div> + <p>The line <code><b>mv </b><i>DB_data OLD_DB_data</i></code> has for purpose to backup your old database directory ... you might want to delete this old directory once the new server is up and running, and that you have checked that the data is OK.</p> + <p>Now install the binaries, libraries, include files...</p> <div class="code"> <pre>% <b>sudo make install</b> ! Password: <i>type your(system – you have to be in the sudoer group –) password</i> % </pre> </div> *************** *** 217,228 **** ! <h2>5. Bonnus</h2> <p>In the disk image you will also find a configuration file (<code>Serge_my.cnf</code>) for your mysql server... there should be a couple of these examples already there (in <code>/Users/mysql/DB_data</code>). The one I give away is set in a reasonable way for a small server using InnoDB and having to transfer big files to and fro some client (be it SMySQL framework based oreven PHP). To use it just copy it in the <code>/Users/mysql/DB_data</code> directory and change its name to <code>my.cnf</code> (it is better to do this while the MySQL server down).</p> <h2><a name="files">File</a></h2> <ul> ! <li>All you need (on top of the MySQL sources :-) ) is this disk image: <a href="http://prdownloads.sourceforge.net/mysql-cocoa/install_mysql-4.0.14.dmg?download">install_mysql-4.0.14.dmg</a> </li> </ul> --- 222,250 ---- ! <h2>5. Reloading your data</h2> ! ! <p>We are going to use the big mysqldump file generated at step 1 to reload the database with your previous data:</p> ! ! <div class="code"> ! <pre>% <b>cd </b><i>in/some/safe/directory</i> ! % <b>mysql -u root </b><i>Data_YYYY-MM-DD</i><b>.mysql</b> ! % ! </pre> ! </div> ! ! <p><em>Note </em>: if you are using InnoDB databases, this last command might produce some error (and partial reload of your data). The reason for this error (as the fix) is explained in the first section, in <a href="#foreign_key_note">this paragraph</a>.</p> ! ! <h2>6. Bonnus</h2> <p>In the disk image you will also find a configuration file (<code>Serge_my.cnf</code>) for your mysql server... there should be a couple of these examples already there (in <code>/Users/mysql/DB_data</code>). The one I give away is set in a reasonable way for a small server using InnoDB and having to transfer big files to and fro some client (be it SMySQL framework based oreven PHP). To use it just copy it in the <code>/Users/mysql/DB_data</code> directory and change its name to <code>my.cnf</code> (it is better to do this while the MySQL server down).</p> + <h2>Later ...</h2> + + <p>As soon as I have time, I will explain how to use ssl to communicate with the mysql server you have just set up...</p> + <h2><a name="files">File</a></h2> <ul> ! <li>All you need (on top of the MySQL sources :-) ) is this disk image: <a href="http://prdownloads.sourceforge.net/mysql-cocoa/install_mysql-4.0.14-r2.dmg?download">install_mysql-4.0.14-r2.dmg</a> </li> </ul> |
From: Serge C. <ser...@us...> - 2003-08-27 21:54:31
|
Update of /cvsroot/mysql-cocoa/Documentation/website In directory sc8-pr-cvs1:/tmp/cvs-serv14708 Modified Files: archives.html index.html styles.css Added Files: install_mysql-4.0.14.html Log Message: Added an instruction pages describing how to build MySQL from sources on Jaguar (with gcc-3.3). 2003-08-27; Serge Cohen. --- NEW FILE: install_mysql-4.0.14.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <LINK REL=stylesheet TYPE="text/css" HREF="styles.css"> <TITLE>Installing MySQL on Jaguar</TITLE> <META name="author" content="Serge Cohen"> <META name="copyright" content="2003, Serge Cohen"> <META name="keywords" content="free software, gnu, GNU, database, mysql, MySQL, mac, macintosh, mac os x, Mac OS X, API, DB API, MacOS X, MacOSX"> <META name="description" content="How to install MySQL (version 4.0.14) on Mac OS X 10.2 (Jaguar)."> </HEAD> <BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#00a800" alink="#ff1100"> <!--content start--> <h1>MySQL Cocoa project : Installing MySQL on Jaguar</h1> <a name="home"><p>Home page of the MySQL Cocoa project can be found <a href="http://mysql-cocoa.sourceforge.net/index.html">here</a></p></a> <p>The content of this page is included in the distributed disk image containing the patch, and the startup module. You'll find the disk image in the <a href="#files">File section</a>.</p> <h2>Conventions</h2> <ul> <li><code class="demo">Constant Width</code> text refers to the terminal output.</li> <li><code class="demo"><b>Constant Width Bold</b></code> text is your input to the terminal.</li> <li><code class="demo"><i>Constant Width Italic</i></code> text is a variable part of your input.</li> <li><code class="demo">%</code> is used to represent the shell prompt in normal user mode.</li> <li><code class="demo">#</code> is used to represent the shell prompt in root mode.</li> </ul> <p>Furthermore, I consider that you will be running the MySQL server under a user named <code><em>mysql</em></code>, with home directory being <code><em>/Users/mysql</em></code>. You can make such a user using the <em>Users</em> preference pane of the <em>System Preference</em>. As a locally installed software, we will install the server in <code>/usr/local</code>, and to keep the data of mysql in the users domain, the data directory will be placed in <code>/Users/mysql/DB_Data</code>. Still, given the level of details of these instruction you should be able to install in different destination folders.</p> <p>If you want to <em>skip the details and explanations</em> go for the grey background areas (just the commands in the shell).</p> <h2>1. Backing up your existing data</h2> <p>If you have an existing and used MySQL server, and you are planning to replace it by a newer version of the server, it is usually a good idea to backup your data (though, if you stay in the same version – you were already using MySQL verion 4.0 before – the new server should be able to read you database without having to reload them). The easiest is to use mysqldump as mysql root to make a single file containing all your data:</p> <p>Be sure to go in a directory where there is no risk of unwanted deletion of your backup file. Finally you have to shutdown the server.</p> <div class="code"> <code> % <b>cd </b><i>in/some/safe/directory</i><br> % <b>mysqldump --user=root -p --host=localhost --add-drop-table --add-locks --all --all-databases --lock-tables --complete-insert > </b><i>Data_YYYY-MM-DD</i><b>.mysql</b><br> Enter password: <i>type root(mysql) password</i><br> % <b>mysqladmin -u root -p shutdown</b><br> Enter password: <i>type root(mysql) password</i> </code> </div> <p>Now if you want to be sure that you don't mix two different installation of the database (if you are a bit paranoiac...), you can shutdown the server and remove all the files which where installed. Assuming your previous installation was also from sources (with prefix set to <code>/usr/local</code>) that would give something like:</p> <div class="code"> <pre>% <b>cd /usr/local/bin</b> % <b>su</b> Password: <i>type root(system) password</i> # <b>find . -name "my*" -exec rm {} \;</b> # <b>rm replace comp_err perror resolveip resolve_stack_dump isamchk isamlog pack_isam msql2mysql</b> # <b>cd ../include</b> # <b>rm -rf mysql</b> # <b>cd ../lib</b> # <b>rm -rf mysql</b> # <b>cd ../</b> # <b>rm info/mysql.info libexec/mysqld</b> # <b>cd man/man1</b> # <b>find . -name "my*" -exec rm {} \;</b> # <b>rm isamlog.1 isamchk.1 replace.1 perror.1</b> # <b>cd ../../share</b> # <b>rm -rf mysql</b> # <b>exit</b> % </pre> </div> <h2>2. Building the new server</h2> <p>To build the server, together with the client library, we have to follow these steps:</p> <ol> <li>Fetch MySQL sources from the internet.</li> <li>Expand the sources.</li> <li>Fetch the patch (and other utility files) from the internet.</li> <li>Expand the patch.</li> <li>Apply the patch.</li> <li>Configure the sources.</li> <li>Buidl.</li> </ol> <p>The easiest for step 1 and 3 is to use your favourite web browser: sources of MySQL can be found <a href="http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-4.0%2Fmysql-4.0.14.tar.gz&pick=mirror">here</a>, while the patch is linked from the <a href="#files">File section<a>. Still I will describe some way to achieve them from the command line.</p> <div class="code"> <pre>% <b>curl http://sunsite.cnlab-switch.ch/ftp/mirror/mysql/Downloads/MySQL-4.0/mysql-4.0.14.tar.gz -O</b> % Total % Received % Xferd Average Speed Time Curr. Dload Upload Total Current Left Speed 100 12.1M 100 12.1M 0 0 53739 0 0:03:56 0:03:56 0:00:00 47289 % <b>gnutar -xzf mysql-4.0.14.tar.gz</b> % <b>curl http://http://cesnet.dl.sourceforge.net/sourceforge/mysql-cocoa/install_mysql-4.0.14.dmg -O</b> % Total % Received % Xferd Average Speed Time Curr. Dload Upload Total Current Left Speed 100 ....M 100 ....M 0 0 53739 0 0:00:.. 0:00:.. 0:00:00 47289 % <b>open install_mysql-4.0.14.dmg</b> % <b>cp /Volumes/install_mysql-4.0.14/mysql_patch.txt .</b> % <b>cd mysql-4.0.14/</b> % <b>patch -p0 < ../mysql_patch.txt</b> patching file configure patching file ltmain.sh patching file libmysqld/examples/Makefile.in patching file libmysql_r/Makefile.in patching file libmysqld/Makefile.in patching file vio/Makefile.in </pre> </div> <p>The sources are now nearly ready to be configured, still (because of one change made by the patch) as the library will be prebound, and because the addresses are not set for all of them, we want to make sure that address overlap of two libraries will not causes the linker to crash (see the ld man page for more details). Note that the prebinding of the library can be fixed later (whereas, if you don't set prebinding when you build them, then you can <em>not</em> prebind them later).</p> <div class="code"> <code> % <b>setenv LD_PREBIND_ALLOW_OVERLAP</b><br> % <b>./configure --prefix=/usr/local --localstatedir=/Users/mysql/DB_data --enable-shared --enable-static --with-mysqld-user=mysql --with-embedded-server --with-vio --with-openssl --with-charset=latin1 --with-extra-charsets=all --enable-thread-safe-client</b><br> </code> </div> <p>Lets have a small discution on what I have set here:<\p> <dl> <dt>--prefix=/usr/local</dt><dd>The library, inlcude files and binaries will be in subdirectories of <code>/usr/local</code>.</dd> <dt>--localstatedir=/Users/mysql/DB_data</dt><dd>The data will be stored in the directory named :<code>/Users/mysql/DB_data</code>.</dd> <dt>--enable-shared</dt><dd>Enable the make process to generate <em>dynamic libraries</em> (also called shared libraries).</dd> <dt>--enable-static</dt><dd>Enable the make process to generate <em>static libraries</em>.</dd> <dt>--with-mysqld-user=mysql</dt><dd>Unix user name under which the server will be run.</dd> <dt>--with-embedded-server</dt><dd>Build also the embedded server library (libmysqld.a).</dd> <dt>--with-vio</dt><dd>Build using virtual In/Out (don't know neither what it means, but it is mandatory for openssl).</dd> <dt>--with-openssl</dt><dd>Build Server and Library so that they support ssl tunnelling of their connection (add some level of security if you use you connect to your database over the internet)</dd> <dt>--with-charset=latin1</dt><dd>Defines the default character set that should be used by the server.</dd> <dt>--with-extra-charsets=all</dt><dd>Which other character set do you want the server (and library) to be able to support.</dd> <dt>--enable-thread-safe-client</dt><dd>Make the client library in a way that they are thread safe (so that you can use multiple queries in different threads).</dd> </dl> <p>Now that the sources are configured, and before we build the libraries and binaries we just have to take care of the prebinding (for libmysqlclient.dylib at least): We will make a file (I'm using /usr/local/include/prebinding_table.txt as the repository for all my prebinding addresses, but you can choose to put this file wherever you want to) containing prebinding address(es) for our library(ies), then set an environment variable so that libtool knows where to find prebinding addresses:</p> <div class="code"> <pre>% <b>su</b> Password: <i>type root(system) password</i> # <b>emacs </b><i>/usr/local/include/prebinding_table.txt</i> </pre> </div> <p>Add the following line to the file (with the proper full path to the place where the library will be <em>installed</em>, you can change the address – See Apple documentation about the range of available addresses for prebinding –):</p> <pre>0x10000000 <i>/usr/local/lib/mysql/</i>libmysqlclient.12.dylib</pre> <p>Then delete the previous version of the file (automatic backup by emacs), and quit the super user, and set the environment variable (you can then check that the file contains exactly what you think):</p> <div class="code"> <pre># <b>rm </b><i>/usr/local/include/prebinding_table.txt</i><b>~</b> # <b>exit</b> % <b>setenv LD_SEG_ADDR_TABLE </b><i>/usr/local/include/prebinding_table.txt</i> % <b>more $LD_SEG_ADDR_TABLE</b> 0x10000000 /usr/local/lib/mysql/libmysqlclient.12.dylib % </pre> </div> <p>Now you are finally ready to build things (you can still set some environment variable which are useful to see what's going on during linking... they are nice information if some link step crashes... which should <em>not</em> happen):</p> <div class="code"> <pre>*** optional, interesting for information (and build debugging) *** % <b>setenv RC_TRACE_ARCHIVES</b> % <b>setenv RC_TRACE_DYLIBS</b> % <b>setenv RC_TRACE_PREBINDING_DISABLED</b> *** end of optional *** % <b>make -j 2</b> </pre> </div> <h2>3. Installation</h2> <p>First we have to prepare the directory which will receive the databases:</p> <div class="code"> <pre>% <b>su - mysql</b> Password: <i>type mysql user password</i> % <b>mkdir </b><i>DB_data</i> % <b>exit</b> </pre> </div> <p>Now install the binaries, libraries, include files...</p> <div class="code"> <pre>% <b>sudo make install</b> Password: <i>type root(system) password</i> % </pre> </div> <p>Finally you want to install the empty databases:</p> <div class="code"> <pre>% <b>su mysql</b> Password: <i>type mysql user password</i> % <b>scripts/mysql_install_db</b> % <b>exit</b> % </pre></div> <h2>4. Running the server</h2> <p>If you want to (or need to) start the server manually the easiest is to type:</p> <div class="code"> <pre>% <b>su</b> Password: <i>type root(system) password</i> # <i>/usr/local/bin</i><b>/mysqld_safe --user=</b><i>mysql</i><b> &</b> # <b>exit</b> % </pre></div> <p>You can also have your server started automatically at booting of your Macintosh using the MySQL folder present in the disk image: Copy the folder in <code>/Library/StartupItems</code> (you might have to create the <code>StartupItems</code> folder). Then you have to add the following line to the file <code>/etc/hostconfig</code> (for which you need root permission):</p> <pre>MYSQL=-YES- </pre> <p><em>NOTE</em>: If you have decided to install using a prefix different from <code>/usr/local</code>, then you will have to edit the file <code>/Library/StartupItems/MySQL/MySQL</code> so that is contains the proper path to call <code>mysqld_safe</code> script.</p> <h2>5. Bonnus</h2> <p>In the disk image you will also find a configuration file (<code>Serge_my.cnf</code>) for your mysql server... there should be a couple of these examples already there (in <code>/Users/mysql/DB_data</code>). The one I give away is set in a reasonable way for a small server using InnoDB and having to transfer big files to and fro some client (be it SMySQL framework based oreven PHP). To use it just copy it in the <code>/Users/mysql/DB_data</code> directory and change its name to <code>my.cnf</code> (it is better to do this while the MySQL server down).</p> <h2><a name="files">File</a></h2> <ul> <li>All you need (on top of the MySQL sources :-) ) is this disk image: <a href="http://prdownloads.sourceforge.net/mysql-cocoa/install_mysql-4.0.14.dmg?download">install_mysql-4.0.14.dmg</a> </li> </ul> <!--content end--> <a name="team"><h2>Development Team</h2></a> <ul> <li>Serge Cohen (<a href="mailto:ser...@us...">ser...@us...</a>)</li> </ul> <a name="links"><h2>Links</h2></a> <p>Here are some important links. Click away.</p> <div class="content"> <table> <tr><td colspan=2 class="head"> <p class="tablesechead">Database</p> </td></tr> <tr><td> <p class="link"><a href="http://www.mysql.com/">MySQL</a></p> </td> <td> <p class="linkinfo">Home of MySQL database server.</p> </td></tr> <tr><td colspan=2 class="head"> <p class="tablesechead">Cocoa API and Objective-C</p> </td></tr> <tr><td> <p class="link"><a href="http://developer.apple.com/techpubs/macosx/Cocoa/ObjectiveC/index.html">Objective-C home</a></p> </td> <td> <p class="linkinfo">Objective-C home at Apple</p> </td></tr> <tr><td> <p class="link"><a href="http://developer.apple.com/techpubs/macosx/Cocoa/SiteInfo/NewToCocoa.html">Introducing Cocoa</a></p> </td> <td> <p class="linkinfo">Introduction to the Cocoa API (Apple)</p> </td></tr> <tr><td> <p class="link"><a href="http://developer.apple.com/cocoa/index.html">Cocoa API home</a></p> </td> <td> <p class="linkinfo">API documentation home at Apple</p> </td></tr> <tr><td colspan=2 class="head"> <p class="tablesechead">Project related</p> </td></tr> <tr><td> <p class="link"><a href="http://mysql-cocoa.sourceforge.net/index.html">Home Page</a></p> </td> <td> <p class="linkinfo">Latest updates and general infos on the project</p> </td></tr> <tr><td> <p class="link"><a href="http://www.sourceforge.net/projects/mysql-cocoa">Project page on SourceForge</a></p> </td> <td> <p class="linkinfo">Where to go to see the development.</p> </td></tr> <tr><td> <p class="link"><a href="http://cocoamysql.sourceforge.net/">CocoaMySQL</a></p> </td> <td> <p class="linkinfo">A very nice Generic GUI MySQL client (in Cocoa)... and it's free software!!</p> </td> </tr> </table> </div> <div class="center"><A href="http://sourceforge.net"> <IMG src="http://sourceforge.net/sflogo.php?group_id=42424&type=1" width="88" height="31" border="0" alt="SourceForge Logo"></A></div> </BODY> Index: archives.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/archives.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** archives.html 25 Aug 2003 21:53:21 -0000 1.1 --- archives.html 27 Aug 2003 21:54:27 -0000 1.2 *************** *** 47,51 **** <ul> <li>Serge Cohen (<a href="mailto:ser...@us...">ser...@us...</a>)</li> - <li>Bertrand Mansion (<a href="mailto:ma...@us...">ma...@us...</a>)</li> </ul> <a name="links"><h2>Links</h2></a> --- 47,50 ---- Index: index.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/index.html,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** index.html 25 Aug 2003 21:53:21 -0000 1.15 --- index.html 27 Aug 2003 21:54:27 -0000 1.16 *************** *** 29,33 **** <a name="archive"><p>Archives of the updates can be found <a href="archives.html">here</a></p></a> ! <p><em>25 August 2003:</em> Today I finally had the time to update the web site. The information you find here should now be up to date (especially the <a href="#files">Files</a>, <a href="#">Documentation</a> were completely outdated – I had no time to update them since I first wrote them in January 2002 –).</p> <p><em>20 August 2003:</em> Releases the version 2.2.1 of the framework: minor bug correction. The previous versions of the framework were not able to handle properly the integer with more than 32bits (MySQL BIGINT). This is now corrected (indeed the other branches of the framework are also corrected in CVS, so if you are still using the version 1, I encourage you to get the fix from CVS). Unfortunately I have not found a solution to know from the MySQL server if an retrieve integer is signed or not, hence the framework assumes always signed int: this can cause a trouble if you have a unsigned column (either for BIGINT or INT) and you are using number bigger than the maximum SIGNED number. Thanks to Lorenz Textor for pointing the bug to me.</p> --- 29,35 ---- <a name="archive"><p>Archives of the updates can be found <a href="archives.html">here</a></p></a> ! <p><em>27 August 2003:</em> Added a documentation on how to build MySQL from sources. You will find a link to these inscription in the <a href="#docs">Documentation</a> section. Following these instructions you should be able to build MySQL server and client sides, with prebound dynamic libraries (as well as static libraries), openssl support for both server and client... and finally getting the <code>libmysqld.a</code> library which is basically a embedded MySQL server running in its own thread, so your program can contains its own server (not yet supported by SMySQL framework... but might come some time soon).</p> ! ! <p><em>25 August 2003:</em> Today I finally had the time to update the web site. The information you find here should now be up to date (especially the <a href="#files">Files</a>, <a href="#docs">Documentation</a> were completely outdated – I had no time to update them since I first wrote them in January 2002 –).</p> <p><em>20 August 2003:</em> Releases the version 2.2.1 of the framework: minor bug correction. The previous versions of the framework were not able to handle properly the integer with more than 32bits (MySQL BIGINT). This is now corrected (indeed the other branches of the framework are also corrected in CVS, so if you are still using the version 1, I encourage you to get the fix from CVS). Unfortunately I have not found a solution to know from the MySQL server if an retrieve integer is signed or not, hence the framework assumes always signed int: this can cause a trouble if you have a unsigned column (either for BIGINT or INT) and you are using number bigger than the maximum SIGNED number. Thanks to Lorenz Textor for pointing the bug to me.</p> *************** *** 51,55 **** <a name="files"><h2>Files</h2></a> ! <p>These files provides only the client side of <a href="http://www.mysql.com/">MySQL</a> (and only for Cocoa). If you want to install the server (as well as if you want the sources of the client library), the best thing is to go to the <a href="http://www.mysql.com/">MySQL site</a>. On this respect one has to know that nowadays MySQL install out of the box (binaries as well as from sources – if you have the developer tools –) on Mac OS X.</p> <!-- <p>It is easy to find on the web the instruction how to get the MySQL server running automatically when you start your Mac, still for the lazy or the one in hurry, I've posted here a small packages which enables that.</p> ... Still have to prepare the package...--> --- 53,57 ---- <a name="files"><h2>Files</h2></a> ! <p>These files provides only the client side of <a href="http://www.mysql.com/">MySQL</a> (and only for Cocoa). If you want to install the server (as well as if you want the sources of the client library), the best thing is to go to the <a href="http://www.mysql.com/">MySQL site</a> if you are looking for binaries. If you prefer to build from the sources, I have written a instruction page (quite detailed) describing how I did it last (was MySQL version 4.0.14, my system is running under OS X 10.2.6, using gcc-3.3), you will find it <a href="install_mysql-4.0.14.html">here</a>.</p> <!-- <p>It is easy to find on the web the instruction how to get the MySQL server running automatically when you start your Mac, still for the lazy or the one in hurry, I've posted here a small packages which enables that.</p> ... Still have to prepare the package...--> *************** *** 83,86 **** --- 85,91 ---- <p>Some of the documentation available Online can be found <a href="http://sourceforge.net/docman/index.php?group_id=42424">here on Sourceforge</a> (indeed not yet); the rest is below.</p> + <h4>Building MySQL from sources</h4> + <p>The page linked <a href="install_mysql-4.0.14.html">here</a> will get you to a page describing how you can build MySQL from the sources (MySQL 4.0.14 build on Mac OS 10.2.6 using gcc-3.3 to be precise).</p> + <h4>Vanilla, Strawberry or Chocolate... Which flavour do you want:</h4> *************** *** 168,171 **** --- 173,184 ---- <p class="linkinfo">Where to go to see the development.</p> </td></tr> + + <tr><td> + <p class="link"><a href="install_mysql-4.0.14.html">MySQL Install Instruction</a></p> + </td> + <td> + <p class="linkinfo">How to build MySQL from sources on Mac OS Jaguar.</p> + </td></tr> + <tr><td> <p class="link"><a href="http://cocoamysql.sourceforge.net/">CocoaMySQL</a></p> Index: styles.css =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/styles.css,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** styles.css 19 Aug 2003 10:04:41 -0000 1.2 --- styles.css 27 Aug 2003 21:54:27 -0000 1.3 *************** *** 19,22 **** --- 19,25 ---- H4 { font-size: 14pt; + margin-left: 10pt; + margin-bottom: 0pt; + margin-top: 25pt; } *************** *** 57,60 **** --- 60,69 ---- } + DIV.code { + background-color: #E8E8D0; + margin-left: 10pt; + margin-right:10pt; + } + DL { margin-left: 12pt; *************** *** 72,75 **** --- 81,85 ---- letter-spacing: 0; text-align: justify; + margin-top: 8pt; } TD P { *************** *** 215,217 **** --- 225,248 ---- } + CODE { + font-size: 9.5pt; + font-family: Courier; + letter-spacing: 0; + text-align: left; + } + + CODE.demo { + font-size: 12pt; + } + PRE { + font-size: 9.5pt; + font-family: Courier; + letter-spacing: 0; + text-align: left; + } + + DT { + font-family: Courier; + } + |
From: Serge C. <ser...@us...> - 2003-08-27 15:39:24
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1:/tmp/cvs-serv2353/SMySQL.pbproj Modified Files: cohen.pbxuser Log Message: The new version of libmysqlclient should be able to use openssl to communicate with the server... 2003-08-27; Serge Cohen. Index: cohen.pbxuser =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/cohen.pbxuser,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** cohen.pbxuser 26 Aug 2003 21:36:43 -0000 1.24 --- cohen.pbxuser 27 Aug 2003 15:39:20 -0000 1.25 *************** *** 4,8 **** activeBuildStyle = 014CEA450018CDF011CA2923; activeExecutable = 0DCFFE7604EE9B4400AD80EC; ! activeTarget = 0DA7207E04EE8A99002E9126; addToTargets = ( 0DA7207E04EE8A99002E9126, --- 4,8 ---- activeBuildStyle = 014CEA450018CDF011CA2923; activeExecutable = 0DCFFE7604EE9B4400AD80EC; ! activeTarget = 0DEFA05704F0318B00A68F01; addToTargets = ( 0DA7207E04EE8A99002E9126, *************** *** 12,16 **** ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 83621750; PBXWorkspaceContents = ( { --- 12,16 ---- ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 83676480; PBXWorkspaceContents = ( { *************** *** 256,260 **** }, ); ! PBXWorkspaceStateSaveDate = 83621750; }; perUserProjectItems = { --- 256,260 ---- }, ); ! PBXWorkspaceStateSaveDate = 83676480; }; perUserProjectItems = { *************** *** 626,679 **** isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {607, 233}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {241, 587}}"; - TOCViewSelectedItems = ( - PBXTargetSummarySettingsModule, - ); - }; }; 0DE4C10104FC079E00A8C863 = { isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {607, 233}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {241, 587}}"; - TOCViewSelectedItems = ( - PBXTargetSummarySettingsModule, - ); - }; }; 0DE4C10204FC079E00A8C863 = { isa = PBXTargetBookmark; trg = 0DA7207E04EE8A99002E9126; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {607, 102}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {241, 587}}"; - TOCViewSelectedItems = ( - 0DA7207C04EE8A99002E9126, - ); - }; }; 0DEFA05704F0318B00A68F01 = { --- 626,637 ---- |
From: Serge C. <ser...@us...> - 2003-08-27 15:39:11
|
Update of /cvsroot/mysql-cocoa/SMySQL/mysql_bins In directory sc8-pr-cvs1:/tmp/cvs-serv2283 Modified Files: libmysqlclient.a Log Message: The new version of libmysqlclient should be able to use openssl to communicate with the server... 2003-08-27; Serge Cohen. Index: libmysqlclient.a =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/mysql_bins/libmysqlclient.a,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsC9Q8Me and /tmp/cvsuSMEHl differ |
From: Serge C. <ser...@us...> - 2003-08-26 21:36:51
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1:/tmp/cvs-serv8238/SMySQL.pbproj Modified Files: cohen.pbxuser project.pbxproj Log Message: Small modifiaction in the orider of library linking in the SMySQL_static framework... 2003-08-26; Serge Cohen. Index: cohen.pbxuser =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/cohen.pbxuser,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** cohen.pbxuser 21 Aug 2003 14:08:40 -0000 1.23 --- cohen.pbxuser 26 Aug 2003 21:36:43 -0000 1.24 *************** *** 4,9 **** activeBuildStyle = 014CEA450018CDF011CA2923; activeExecutable = 0DCFFE7604EE9B4400AD80EC; ! activeTarget = 0DEFA05704F0318B00A68F01; addToTargets = ( ); executables = ( --- 4,10 ---- activeBuildStyle = 014CEA450018CDF011CA2923; activeExecutable = 0DCFFE7604EE9B4400AD80EC; ! activeTarget = 0DA7207E04EE8A99002E9126; [...1026 lines suppressed...] + }; + 0DE4C10204FC079E00A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {607, 102}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {241, 587}}"; + TOCViewSelectedItems = ( + 0DA7207C04EE8A99002E9126, + ); + }; }; 0DEFA05704F0318B00A68F01 = { Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** project.pbxproj 21 Aug 2003 14:08:40 -0000 1.24 --- project.pbxproj 26 Aug 2003 21:36:43 -0000 1.25 *************** *** 429,433 **** buildActionMask = 2147483647; files = ( ! 0DA7209E04EE8F79002E9126, 0DA720AC04EE9525002E9126, 0DCFFE6D04EE99C300AD80EC, --- 429,433 ---- buildActionMask = 2147483647; files = ( ! 0DE4C0FF04FC066E00A8C863, 0DA720AC04EE9525002E9126, 0DCFFE6D04EE99C300AD80EC, *************** *** 461,465 **** HEADER_SEARCH_PATHS = mysql_bins; INSTALL_PATH = "~/Library/Frameworks"; ! LIBRARY_SEARCH_PATHS = mysql_bins; OTHER_CFLAGS = "-faltivec -fno-coalesce"; OTHER_LDFLAGS = "-seg1addr 0x08800000"; --- 461,465 ---- HEADER_SEARCH_PATHS = mysql_bins; INSTALL_PATH = "~/Library/Frameworks"; ! LIBRARY_SEARCH_PATHS = "mysql_bins /Users/cohen/Projects/mysql-cocoa/SMySQL/mysql_bins /usr/lib/gcc/darwin/3.3 /usr/local/lib/mysql"; OTHER_CFLAGS = "-faltivec -fno-coalesce"; OTHER_LDFLAGS = "-seg1addr 0x08800000"; *************** *** 699,708 **** refType = 4; }; - 0DA7209E04EE8F79002E9126 = { - fileRef = 0DA7209904EE8F79002E9126; - isa = PBXBuildFile; - settings = { - }; - }; 0DA7209F04EE8F79002E9126 = { fileRef = 0DA7209A04EE8F79002E9126; --- 699,702 ---- *************** *** 1388,1391 **** --- 1382,1391 ---- isa = PBXTargetDependency; target = 0DA7207E04EE8A99002E9126; + }; + 0DE4C0FF04FC066E00A8C863 = { + fileRef = 0DA7209904EE8F79002E9126; + isa = PBXBuildFile; + settings = { + }; }; 0DEFA05204F0318B00A68F01 = { |
From: Serge C. <ser...@us...> - 2003-08-26 21:35:31
|
Update of /cvsroot/mysql-cocoa/SMySQL/mysql_bins In directory sc8-pr-cvs1:/tmp/cvs-serv7554 Modified Files: libmysqlclient.a Log Message: Uses version 4.0.14 of the libmysqlclient.a now. 2003-08-26; Serge Cohen. Index: libmysqlclient.a =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/mysql_bins/libmysqlclient.a,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvs5kpCWU and /tmp/cvsQALVTH differ |
From: Serge C. <ser...@us...> - 2003-08-25 22:10:26
|
Update of /cvsroot/mysql-cocoa/Documentation/website In directory sc8-pr-cvs1:/tmp/cvs-serv13928/website Modified Files: index.html Added Files: archives.html Log Message: Moved all the OLD updates to a new web page : archives.html. Modified the Files and Documentation sections of the main page (inedx.html) 2003-08-25; Serge Cohen. --- NEW FILE: archives.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <LINK REL=stylesheet TYPE="text/css" HREF="styles.css"> <TITLE>MySQL Cocoa Project : Updates Archives</TITLE> <META name="author" content="Serge Cohen"> <META name="copyright" content="2002, Serge Cohen"> <META name="keywords" content="free software, gnu, GNU, database, mysql, MySQL, Objective-C, objective-c, mac, macintosh, mac os x, Mac OS X, API, DB API, Cocoa, cocoa, MacOS X, MacOSX"> <META name="description" content="A project to implement an Objective-C API for MySQL to MacOS X Cocoa environment"> </HEAD> <BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#00a800" alink="#ff1100"> <!--content start--> <h1>MySQL Cocoa project : Updates Archives</h1> <a name="home"><p>Home page of the MySQL Cocoa project can be found <a href="index.html">here</a></p></a> <p class="withlist"><em>24 December 2002:</em> Posted the file releases for the version 2.0 of the framework. This correspond to both a source and a binary release. This version of the framework has a new API:</p> <ul class="intext"> <li class="intext">The class prefix is changed to be MCP (for MySQL Cocoa Project), from the "longer" SMySQL (though the framework has not changed name, neither the main header SMySQl/SMySQL.h)</li> <li class="intext">I have added some categories on MCPConnection and MCPResult to implement shortcuts to obtains fast some result (for exemple a column of a table, or just the first element --Row 0, Colulmn 0--...)</li> <li class="intext">Also added a category on NSObject to provide a single method to check if an object is a instance of NSNull (used whenever a field is set to NULL in a retrieved table).</li> </ul> <p class="afterwithlist">I also have discontinued the distribution of <a href="Display">MySQL Display</a> application, mainly because their is a much better developed free software doing the same thing AND using the SMySQL framework <a href="http://cocoamysql.sourceforge.net/">CocoaMySQL</a>. At some point I'll try to implement a simple example application with a GUI, for easing the use of the framework.</p> <p><em>15 May 2002:</em> Important changes to the framework: The two connect (<code>connectToHost:.. connectToSocket:..</code>) method have been replaced by a single method (<code>connectWithLogin:password:host:port:socket:</code>). In the mean time the syntax of the list methods (<code>listDBs ...</code>) have been changed to look more like the SQL <code>SHOW</code> statments. Some shortcuts to such methods have been added. Any one using the framework should port to the new version, the interface will be kept until version 1.0 (with maybe adding method, but no removing nor renaming). This version is available on CVS and <a href="#sources">File Release</a>. At last a new binary of <a href="Display">MySQL Display</a> contain the last version of the framework.</p> <p><em>7 May 2002:</em> Cleaned up the methods from May 3rd, (databases, tables, fields list). Finished the proper encoding of the character sets (should run Ok with latin1, latin2, win1250, cp1251, euc_kr, sjis). Added methods to check the version of the protocole, the client library, the server, and to get info on the database server the host. The framework has been promoted to version 0.6.0. It's under CVS, but also on the <a href="#sources">File Release</a>.</p> <p><em>3 May 2002:</em> After suggestion from Bertrand Mansion I added a couple of method to get databases, tables, and fields (of a table) list. They works they way they should from the C API recommandation (specific function for DBs, and tables, standard query for fields). I also started to enhance the handling of the charset encoding (suggestion by John Guy). This feature is not yet fully implemented. The new version (0.5.4) is only available through CVS so far (see information from the <a href="http://sourceforge.net/cvs/?group_id=42424">sourceforge project page</a>).</p> <p><em>14 March 2002:</em> A new target for SMySQL framework exists. It gives you access to a all in one version of the framework: libmysqlclient is statically linked inside the framework... No more need for a root user to install the mysqlclient library. The version of libmysqlclient is 3.23.49 (the lataest stable version). As a test I have linked <a href="Display/index.html">MySQL Display</a> to this version of the framework, and it works perfectly (<a href="http://ftp1.sourceforge.net/mysql-cocoa/MySQL_Display_0.1.2.dmg.gz">Download</a>).</p> <p><em>13 March 2002:</em> There was a error in the <a href="Doc/HowTo_Build_MySQL.rtf">How To Build MySQL file</a>. This error is corrected (I forgot one command line to copy the /usr/share/libtool/ltconfig to ltconfig in th esource directory, before applying the patch). Now the instruction should run Ok. Some improovement can still be done in the patch: adding a proper prebinding adress, proper version... Still to be done. -Thanks to Camille for pointing the problem to me-</p> <p><em>28 February 2002:</em> The framework is now ready to be embeded in the application(s) using it,I still have a problem for statically linking the libmysqlclient, so use of SMySQL framework still needs the installation of libmysqlclient.dylib (which is done by MySQL_Cocoa_installers_0.5.2.dmg.gz). Now the <a href="Display/index.html">MySQL Display</a> should run.</p> <p><em>22 January 2002:</em> Few correction to the framework (v 0.5.1 now). I finally managed to create packages, so <em>the AutoStart package finally works</em>. There is also a new package installer : <em>Install MySQL Client</em>. This will install the client side of MySQL, the minimum required to run a C (or Objective-C !!!) client on your Mac OS X system. At last (but not least), I have written a new application using the framework to display queries in a GUI <a href="Display/index.html"><em>MySQL Display</em></a>. Even if it is still very basic this is (as far as I know) the first <em>free</em> GUI for MySQL on Mac OS X. I'm sure you'll want some modification for this GUI, send your whishes on the users mailing list. <p><em>3 January 2002:</em> First release is done, still have to put this web site in place. This is an alpha release, I've not been throught extensiv testing of the API. It works Ok for the couple of test application I've done. Indeed I'm looking forward for feed back from users. <em>For the moment the AutoStart package, which starts automatically MySQL at machine booting is not ready</em> due to some problems I have with package maker...</p> <!--content end--> <a name="team"><h2>Development Team</h2></a> <ul> <li>Serge Cohen (<a href="mailto:ser...@us...">ser...@us...</a>)</li> <li>Bertrand Mansion (<a href="mailto:ma...@us...">ma...@us...</a>)</li> </ul> <a name="links"><h2>Links</h2></a> <p>Here are some important links. Click away.</p> <div class="content"> <table> <tr><td colspan=2 class="head"> <p class="tablesechead">Database</p> </td></tr> <tr><td> <p class="link"><a href="http://www.mysql.com/">MySQL</a></p> </td> <td> <p class="linkinfo">Home of MySQL database server.</p> </td></tr> <tr><td colspan=2 class="head"> <p class="tablesechead">Cocoa API and Objective-C</p> </td></tr> <tr><td> <p class="link"><a href="http://developer.apple.com/techpubs/macosx/Cocoa/ObjectiveC/index.html">Objective-C home</a></p> </td> <td> <p class="linkinfo">Objective-C home at Apple</p> </td></tr> <tr><td> <p class="link"><a href="http://developer.apple.com/techpubs/macosx/Cocoa/SiteInfo/NewToCocoa.html">Introducing Cocoa</a></p> </td> <td> <p class="linkinfo">Introduction to the Cocoa API (Apple)</p> </td></tr> <tr><td> <p class="link"><a href="http://developer.apple.com/cocoa/index.html">Cocoa API home</a></p> </td> <td> <p class="linkinfo">API documentation home at Apple</p> </td></tr> <tr><td colspan=2 class="head"> <p class="tablesechead">Project related</p> </td></tr> <tr><td> <p class="link"><a href="index.html">Home Page</a></p> </td> <td> <p class="linkinfo">Latest updates and general infos on the project</p> </td></tr> <tr><td> <p class="link"><a href="http://www.sourceforge.net/projects/mysql-cocoa">Project page on SourceForge</a></p> </td> <td> <p class="linkinfo">Where to go to see the development.</p> </td></tr> <tr><td> <p class="link"><a href="http://cocoamysql.sourceforge.net/">CocoaMySQL</a></p> </td> <td> <p class="linkinfo">A very nice Generic GUI MySQL client (in Cocoa)... and it's free software!!</p> </td> </tr> </table> </div> <div class="center"><A href="http://sourceforge.net"> <IMG src="http://sourceforge.net/sflogo.php?group_id=42424&type=1" width="88" height="31" border="0" alt="SourceForge Logo"></A></div> </BODY> Index: index.html =================================================================== RCS file: /cvsroot/mysql-cocoa/Documentation/website/index.html,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** index.html 19 Aug 2003 10:04:41 -0000 1.14 --- index.html 25 Aug 2003 21:53:21 -0000 1.15 *************** *** 23,29 **** --- 23,36 ---- <p><em>Documentation of the latest verison of the framework can be found <a href="SMySQL_doc/">here</a></em></p> + <!--Updates--> <a name="updates"><h2>Updates</h2></a> + <a name="archive"><p>Archives of the updates can be found <a href="archives.html">here</a></p></a> + + <p><em>25 August 2003:</em> Today I finally had the time to update the web site. The information you find here should now be up to date (especially the <a href="#files">Files</a>, <a href="#">Documentation</a> were completely outdated – I had no time to update them since I first wrote them in January 2002 –).</p> + + <p><em>20 August 2003:</em> Releases the version 2.2.1 of the framework: minor bug correction. The previous versions of the framework were not able to handle properly the integer with more than 32bits (MySQL BIGINT). This is now corrected (indeed the other branches of the framework are also corrected in CVS, so if you are still using the version 1, I encourage you to get the fix from CVS). Unfortunately I have not found a solution to know from the MySQL server if an retrieve integer is signed or not, hence the framework assumes always signed int: this can cause a trouble if you have a unsigned column (either for BIGINT or INT) and you are using number bigger than the maximum SIGNED number. Thanks to Lorenz Textor for pointing the bug to me.</p> + <p class="withlist"><em>18 August 2003:</em> Released the version 2.2.0 of the framework. The API is kept unchanged, the main difference is in the project organisation (in Project Builder). I also have tried to make the aim of each target more clear, and cleaned up the build-styles, in that respect I have defined 3 different names for each of the flavours (corresponding to 3 different targets) of the framework (which BTW have also changed):</p> <ol class="intext"> *************** *** 33,51 **** </ol> <p class="afterwithlist">Also modified the way the libmysqlclient static library is used, now a binary version of the library is distributed with the sources of the framework (the sources of the libmysqlclient used to be included in the project and compiled when building the framework). This way makes it easier if someone prefers to use it's own version of the libmysqlcleint library.</p> - <p class="withlist"><em>24 December 2002:</em> Posted the file releases for the version 2.0 of the framework. This correspond to both a source and a binary release. This version of the framework has a new API:</p> - <ul class="intext"> - <li class="intext">The class prefix is changed to be MCP (for MySQL Cocoa Project), from the "longer" SMySQL (though the framework has not changed name, neither the main header SMySQl/SMySQL.h)</li> - <li class="intext">I have added some categories on MCPConnection and MCPResult to implement shortcuts to obtains fast some result (for exemple a column of a table, or just the first element --Row 0, Colulmn 0--...)</li> - <li class="intext">Also added a category on NSObject to provide a single method to check if an object is a instance of NSNull (used whenever a field is set to NULL in a retrieved table).</li> - </ul> - <p class="afterwithlist">I also have discontinued the distribution of <a href="Display">MySQL Display</a> application, mainly because their is a much better developed free software doing the same thing AND using the SMySQL framework <a href="http://cocoamysql.sourceforge.net/">CocoaMySQL</a>. At some point I'll try to implement a simple example application with a GUI, for easing the use of the framework.</p> - <p><em>15 May 2002:</em> Important changes to the framework: The two connect (<code>connectToHost:.. connectToSocket:..</code>) method have been replaced by a single method (<code>connectWithLogin:password:host:port:socket:</code>). In the mean time the syntax of the list methods (<code>listDBs ...</code>) have been changed to look more like the SQL <code>SHOW</code> statments. Some shortcuts to such methods have been added. Any one using the framework should port to the new version, the interface will be kept until version 1.0 (with maybe adding method, but no removing nor renaming). This version is available on CVS and <a href="#sources">File Release</a>. At last a new binary of <a href="Display">MySQL Display</a> contain the last version of the framework.</p> - <p><em>7 May 2002:</em> Cleaned up the methods from May 3rd, (databases, tables, fields list). Finished the proper encoding of the character sets (should run Ok with latin1, latin2, win1250, cp1251, euc_kr, sjis). Added methods to check the version of the protocole, the client library, the server, and to get info on the database server the host. The framework has been promoted to version 0.6.0. It's under CVS, but also on the <a href="#sources">File Release</a>.</p> - <p><em>3 May 2002:</em> After suggestion from Bertrand Mansion I added a couple of method to get databases, tables, and fields (of a table) list. They works they way they should from the C API recommandation (specific function for DBs, and tables, standard query for fields). I also started to enhance the handling of the charset encoding (suggestion by John Guy). This feature is not yet fully implemented. The new version (0.5.4) is only available through CVS so far (see information from the <a href="http://sourceforge.net/cvs/?group_id=42424">sourceforge project page</a>).</p> - <p><em>14 March 2002:</em> A new target for SMySQL framework exists. It gives you access to a all in one version of the framework: libmysqlclient is statically linked inside the framework... No more need for a root user to install the mysqlclient library. The version of libmysqlclient is 3.23.49 (the lataest stable version). As a test I have linked <a href="Display/index.html">MySQL Display</a> to this version of the framework, and it works perfectly (<a href="http://ftp1.sourceforge.net/mysql-cocoa/MySQL_Display_0.1.2.dmg.gz">Download</a>).</p> - <p><em>13 March 2002:</em> There was a error in the <a href="Doc/HowTo_Build_MySQL.rtf">How To Build MySQL file</a>. This error is corrected (I forgot one command line to copy the /usr/share/libtool/ltconfig to ltconfig in th esource directory, before applying the patch). Now the instruction should run Ok. Some improovement can still be done in the patch: adding a proper prebinding adress, proper version... Still to be done. -Thanks to Camille for pointing the problem to me-</p> - <p><em>28 February 2002:</em> The framework is now ready to be embeded in the application(s) using it,I still have a problem for statically linking the libmysqlclient, so use of SMySQL framework still needs the installation of libmysqlclient.dylib (which is done by MySQL_Cocoa_installers_0.5.2.dmg.gz). Now the <a href="Display/index.html">MySQL Display</a> should run.</p> - <p><em>22 January 2002:</em> Few correction to the framework (v 0.5.1 now). I finally managed to create packages, so <em>the AutoStart package finally works</em>. There is also a new package installer : <em>Install MySQL Client</em>. This will install the client side of MySQL, the minimum required to run a C (or Objective-C !!!) client on your Mac OS X system. At last (but not least), I have written a new application using the framework to display queries in a GUI <a href="Display/index.html"><em>MySQL Display</em></a>. Even if it is still very basic this is (as far as I know) the first <em>free</em> GUI for MySQL on Mac OS X. I'm sure you'll want some modification for this GUI, send your whishes on the users mailing list. - <p><em>3 January 2002:</em> First release is done, still have to put this web site in place. This is an alpha release, I've not been throught extensiv testing of the API. It works Ok for the couple of test application I've done. Indeed I'm looking forward for feed back from users. <em>For the moment the AutoStart package, which starts automatically MySQL at machine booting is not ready</em> due to some problems I have with package maker...</p> <!--/Updates--> --- 40,43 ---- *************** *** 59,100 **** <a name="files"><h2>Files</h2></a> ! <p>The easiest way to get these things to run now is to get the Install MySQLClient package, which is in a gziped image disk (along with the AutoStart package and the <a href="Display/index.html">MySQL Display application</a>).<em> Next paragraphs explain the "old" way</em>.<br> <em>Remark:</em> the library in this package is given a pre-binding adress, which is not the case of the result you'll have if you compile your own</p> - <p>First you have to install mysql in a way you can link the mysqlclient library with your code. You'll find mysql source at the <a href="http://www.mysql.com/">MySQL</a> homepage, and instruction for compilation <a href="Doc/HowTo_Build_MySQL.rtf">here</a>, or on the Documentation package on the SourceForge page.</p> - <p>Then you have to get the SMySQL package, and compile it, then if every thing get Ok, go in terminal and read <a href="Doc/TO_INSTALL.txt">TO_INSTALL</a> which explain how to make the "final" install. This should as well install the documentation of the framework.</p> - <p>At last you can use the SMySQL_test package to test your install. You will have to make a new user, database and table in your MySQL server for the test application to work. Another way is to modify the connection parameters at the beginning of the program</p> <ul> <li>Binaries to install fast..</li> <ul> ! <li>Getting the MySQL Display application (alone and independent of any library): <a href="http://ftp1.sourceforge.net/mysql-cocoa/MySQL_Display_0.1.2.dmg.gz">Disk image</a>, MD5 : 5a082b108a8eba108b27d22bdc0a3b42</li> ! <li>Installing the Client side of MySQL, and getting the <a href="Display/index.html">MySQL Display application</a> (as a free bonus): <a href="http://ftp1.sourceforge.net/mysql-cocoa/MySQL_Cocoa_installers_0.5.2.dmg.gz">Disk image</a>, MD5: fc88e839717d3a478fa44c56387da908</li> ! </ul> ! <li><a name="sources">Mac OS X 10.1 or higher sources, version 0.5.3 r1 </a><! (note: not up to date, see CVS for version 0.5.2) !></li> ! <ul> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/SMySQL_0.7.0.tgz">SMySQL Framework v0.7.0r1</a>, MD5: a9480df166aae28fff56b79e205f4353</li> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/SMySQL_0.6.0.tgz">SMySQL Framework v0.6.0r1</a>, MD5: 685b6b4361936c4d9109d390686c6cdc</li> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/SMySQL_0.5.3.tgz">SMySQL Framework v0.5.3r1</a>, MD5: 536de45748d9db6218e7e4d3eecaea06</li> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/SMySQL_0.5.1.tgz">SMySQL Framework v0.5.1r1</a>, MD5: a0ecaf53275cc068002b8e45cb0b6695</li> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/SMySQL_0.5.tgz">SMySQL Framework v0.5.0r1</a>, MD5: 3608e6e298cb45836f793081e6f809ab</li> ! </ul> ! <ul> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/MySQL_Display_0.1.3.tgz">MySQL Display v0.1.3r1</a>, MD5: ec06db8c27ff8e53e4c1527024b829e8</li> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/MySQL_Display_0.1.2.tgz">MySQL Display v0.1.2r1</a>, MD5: 42bc3b8210541b166bac51a4d8a08aa7</li> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/MySQL_Display_0.1.1.tgz">MySQL Display v0.1.1r1</a>, MD5: 159f7032d426d5bc5eb9397402925482</li> </ul> <ul> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/SMySQL_test_0.7.0.tgz">SMySQL test application v0.7.0r1</a>, MD5: f10028eaa52a17425104274080eca413</li> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/SMySQL_test_0.6.0.tgz">SMySQL test application v0.6.0r1</a>, MD5: be4b368887698c2fd461d6df89423094</li> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/SMySQL_test_0.5.tgz">SMySQL test application v0.5.0r1</a>, MD5: 303fc130b0b6211283c2f3252c8dfd08</li> </ul> <ul> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/Documentation_0.5.3.tgz">Documentation and patches v0.5.3r1</a>, MD5: 420486b817e964550abf814f0b69a4ce</li> ! <li><a href="http://ftp1.sourceforge.net/mysql-cocoa/Documentation_0.5.tgz">Documentation and patches v0.5.0r1</a></li> </ul> - - <li>Patches</li> <ul> ! <li><a href="patches/ltconfig_1.2S.diff">lt_config_1.2S patche for ltconfig of /usr/share/libtool</a>, MD5: 959b0a944c809413f6c7e190c1f470af</li> </ul> --- 51,77 ---- <a name="files"><h2>Files</h2></a> ! <p>These files provides only the client side of <a href="http://www.mysql.com/">MySQL</a> (and only for Cocoa). If you want to install the server (as well as if you want the sources of the client library), the best thing is to go to the <a href="http://www.mysql.com/">MySQL site</a>. On this respect one has to know that nowadays MySQL install out of the box (binaries as well as from sources – if you have the developer tools –) on Mac OS X.</p> ! ! <!-- <p>It is easy to find on the web the instruction how to get the MySQL server running automatically when you start your Mac, still for the lazy or the one in hurry, I've posted here a small packages which enables that.</p> ... Still have to prepare the package...--> <ul> <li>Binaries to install fast..</li> <ul> ! <li>Getting the binaries of the SMySQL frameworks (version 2.2.1) : <a href="http://prdownloads.sourceforge.net/mysql-cocoa/SMySQL_bin_2.2.1.dmg?download">SMySQL_bin_2.2.1.dmg</a>, MD5 : e8958cea685920fb8cd712f7d166483e</li> ! <li>Getting the MySQL Display application (alone and independent of any library): <a href="http://prdownloads.sourceforge.net/mysql-cocoa/MySQL_Display_0.1.3_F0.7.0.dmg.gz?download">Disk image</a>, MD5 : ea4afc9a6a798776fb2d012de2fbd979. ! <p><em>Note:</em> The MySQL Display application is not developped anymore, the source is still available as a small examples of hte concept (it uses the API of version 1, whilst naming conventions changed in version 2). The binary is available to see how it performs without having to take care of the "obsolete" version 1 of the framework.<!-- Add a link to display page, and rewrite it to redirect to Cocoa MySQL from Lorenz... --></p> ! </li> </ul> + <li><a name="sources">Mac OS X 10.1 or higher sources, version 2.2.1 </a><!!></li> <ul> ! <li><a href="http://prdownloads.sourceforge.net/mysql-cocoa/SMySQL_src_2.2.1.dmg?download">SMySQL Framework v2.2.1 (dmg)</a>, MD5: ea7ed457bc64386513035588496accab</li> ! <li><a href="http://prdownloads.sourceforge.net/mysql-cocoa/SMySQL_src_2.2.1.tgz?download">SMySQL Framework v2.2.1 (tgz)</a>, MD5: dd450188cb7988618560d590c4b0cf28</li> </ul> <ul> ! <li><a href="http://prdownloads.sourceforge.net/mysql-cocoa/MySQL_Display_0.1.3.tgz?download">MySQL Display v0.1.3</a>, MD5: ec06db8c27ff8e53e4c1527024b829e8</li> </ul> <ul> ! <li>SMySQL test application does not exists anymore, now a small application is coming with the frameworks (CLI_Test)</li> </ul> *************** *** 104,115 **** <a name="docs"><h2>Documentation</h2></a> ! <p>Some of the documentation available Online can be found <a href="http://sourceforge.net/docman/index.php?group_id=42424">here on Sourceforge</a> (indeed not yet); the rest is below. You should probably read at least the How-to build MySQL.</p> ! <ul> ! <li>HOWTO: Build MySQL on OS X</li> ! <ul> ! <li><a href="Doc/HowTo_Build_MySQL.rtf">version 0.5.3</a> rtf format, MD5: c1911d90d4d523addb87cb2809d81bf1</li> ! </ul> ! </ul> <a name="lists"><h2>Mailing Lists</h2></a> --- 81,105 ---- <a name="docs"><h2>Documentation</h2></a> ! <p>Some of the documentation available Online can be found <a href="http://sourceforge.net/docman/index.php?group_id=42424">here on Sourceforge</a> (indeed not yet); the rest is below.</p> ! <h4>Vanilla, Strawberry or Chocolate... Which flavour do you want:</h4> ! ! <p><em>This info is also available in the README coming with the frameworks</em> (both in source and binaries distributions).<br> ! If you are a bit used to MacOS X programming (or if you have read the <a href="http://developer.apple.com/documentation/MacOSX/Conceptual/SystemOverview/">System Overview</a> from Apple, and more precisely the section dealing with <a href="http://developer.apple.com/documentation/MacOSX/Conceptual/SystemOverview/Frameworks/index.html">frameworks</a>), you probably already know that there is two main ways to link a framework from the application you are developing:</p> ! ! <ol> ! <li><em>System-Wide</em> (or User-Wide) visibility : If the framework is placed in one of the Library/Frameworks subfolder of the system, then any application (including command line tools) can use the framework (only launch by the user if it is in ~/Library/Frameworks).</li> ! <li><em>Bundled</em> within an application if it is in the Contents/Frameworks/ subfolder of the application bundle of a Cocoa Application (documented <a href="http://developer.apple.com/documentation/DeveloperTools/ProjectBuilder/ProjectBuilder.help/Contents/Resources/English.lproj/Frameworks/index.html">here</a>). Then only this application can see the framework</li> ! </ol> ! ! <p>Both of these possibilities have their own advantages and disadvantages. To make it short, on one hand System-Wide frameworks are the only ones that can be used by command line tools (which does not have a bundle, but are rather simple 'UNIX' executables), if you have a suite of program using the framework you have only one copy on your disk and you are sure all these applications uses exactly the same version of the framework. On the other hand, if you include the framework in the bundle of your application, then it is no longer relying on another component (the user don't need to install one more thing to use your software: it can be used directly 'out of the .dmg').</p> ! ! <p>Because their is no 'one best choice' on this issue, I distribute the framework in two (indeed three) flavours:</p> ! <ol> ! <li><em>SMySQL</em> and <em>SMySQL_static</em>: System-Wide version of the framework, respectively using the dynamic or static mysql client library (Note that the dynamic version of the library is not distributed in the package, so if you want to use SMySQL you have to install your own version of libmysqlclient.dylib).</li> ! <li><em>SMySQL_bundled</em>: A version of the framework which is made to be bundled within a Cocoa Application (statically linked to the mysql client library, so that it is as much self contained as possible).</li> ! </ol> ! ! <p>All these 3 flavours of the frameworks are build from the same sources (indeed they are just three different targets from the same ProjectBuilder project), with different options. They are all three included in the binary release (version 2.2 and higher).</p> <a name="lists"><h2>Mailing Lists</h2></a> *************** *** 126,131 **** <ul> <li>Serge Cohen (<a href="mailto:ser...@us...">ser...@us...</a>)</li> - <li>Bertrand Mansion (<a href="mailto:ma...@us...">ma...@us...</a>)</li> </ul> <a name="links"><h2>Links</h2></a> --- 116,121 ---- <ul> <li>Serge Cohen (<a href="mailto:ser...@us...">ser...@us...</a>)</li> </ul> + <a name="links"><h2>Links</h2></a> |
From: Serge C. <ser...@us...> - 2003-08-22 12:53:53
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1:/tmp/cvs-serv12951/SMySQL.pbproj Modified Files: cohen.pbxuser project.pbxproj Log Message: Added the Info.plist entry to make the framework AppleScriptable... But did not check so far what it is doing (and don't know how to check). 2003-08-21; Serge Cohen. Index: cohen.pbxuser =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/cohen.pbxuser,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** cohen.pbxuser 21 Aug 2003 06:30:53 -0000 1.22 --- cohen.pbxuser 21 Aug 2003 14:08:40 -0000 1.23 *************** *** 11,15 **** ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 83138294; PBXWorkspaceContents = ( { --- 11,15 ---- ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 83144899; PBXWorkspaceContents = ( [...1399 lines suppressed...] + vrLen = 2416; + vrLoc = 7045; + }; + 0DF73C7404F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0867D69CFE84028FC02AAC07; + }; + 0DF73C7504F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + }; + 0DF73C7604F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7208504EE8C3F002E9126; + }; + 0DF73C7704F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0DCFFE7404EE9B4400AD80EC; }; } Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** project.pbxproj 21 Aug 2003 06:30:53 -0000 1.23 --- project.pbxproj 21 Aug 2003 14:08:40 -0000 1.24 *************** *** 171,174 **** --- 171,176 ---- <key>CFBundleExecutable</key> <string>SMySQL</string> + <key>CFBundleGetInfoString</key> + <string>2.2.1, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 181,190 **** <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>2.2.1d1</string> <key>NSPrincipalClass</key> ! <string></string> </dict> </plist> --- 183,196 ---- <key>CFBundlePackageType</key> <string>FMWK</string> + <key>CFBundleShortVersionString</key> + <string>2.2.1</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>2.2.1d1</string> + <key>NSAppleScriptEnabled</key> + <string>Yes</string> <key>NSPrincipalClass</key> ! <string>MCPConnection</string> </dict> </plist> *************** *** 485,489 **** <string>SMySQL_static</string> <key>CFBundleGetInfoString</key> ! <string></string> <key>CFBundleIconFile</key> <string></string> --- 491,495 ---- <string>SMySQL_static</string> <key>CFBundleGetInfoString</key> ! <string>2.2.1, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 493,505 **** <string>6.0</string> <key>CFBundleName</key> ! <string></string> <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string></string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>2.2.1d1</string> </dict> </plist> --- 499,515 ---- <string>6.0</string> <key>CFBundleName</key> ! <string>SMySQL Static</string> <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.2.1</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>2.2.1d1</string> + <key>NSAppleScriptEnabled</key> + <string>Yes</string> + <key>NSPrincipalClass</key> + <string>MCPConnection</string> </dict> </plist> *************** *** 616,620 **** <string>SMySQL_bundle</string> <key>CFBundleGetInfoString</key> ! <string></string> <key>CFBundleIconFile</key> <string></string> --- 626,630 ---- <string>SMySQL_bundle</string> <key>CFBundleGetInfoString</key> ! <string>2.2.1, © Serge Cohen, 2002</string> <key>CFBundleIconFile</key> <string></string> *************** *** 624,636 **** <string>6.0</string> <key>CFBundleName</key> ! <string></string> <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string></string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>2.2.1d1</string> </dict> </plist> --- 634,650 ---- <string>6.0</string> <key>CFBundleName</key> ! <string>SMySQL bundled</string> <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleShortVersionString</key> ! <string>2.2.1</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>2.2.1d1</string> + <key>NSAppleScriptEnabled</key> + <string>Yes</string> + <key>NSPrincipalClass</key> + <string>MCPConnection</string> </dict> </plist> |
From: Serge C. <ser...@us...> - 2003-08-22 11:57:14
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1:/tmp/cvs-serv6978/SMySQL.pbproj Modified Files: Tag: version-2-1 cohen.pbxuser project.pbxproj Log Message: Corrected the issue (raised by Lorenz Textor) on BigInt MySQL type (corresponding to long long, not long int), where a BIGINT would be passed back as a 32 bits integer instead of 64 bits. Now MCPResult handles properly BIGINT. Added a BIGINT column in the test1 table (CLI_Test), to check if it is working. NB : Unsigned int (both INT and BIGINT) might still causes problem if they are in the higher half of their range (because they will be interpreted as signed integers). Version get from 2.1.0 to 2.1.1 2003-08-21; Serge Cohen. Index: cohen.pbxuser =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/cohen.pbxuser,v retrieving revision 1.18 retrieving revision 1.18.2.1 diff -C2 -d -r1.18 -r1.18.2.1 *** cohen.pbxuser 16 Aug 2003 14:11:18 -0000 1.18 --- cohen.pbxuser 21 Aug 2003 06:32:50 -0000 1.18.2.1 *************** *** 15,19 **** ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 76945759; PBXWorkspaceContents = ( { --- 15,19 ---- ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 83139753; PBXWorkspaceContents = ( [...1422 lines suppressed...] - isa = PBXTextBookmark; - name = "README: 81"; - rLen = 19; - rLoc = 5362; - rType = 0; - vrLen = 1039; - vrLoc = 4357; - }; - F57C00E9039BC84701AB07D3 = { - fRef = F5165EBF01C50A6F0116CAC1; - isa = PBXTextBookmark; - name = "SMySQL.h: 38"; - rLen = 0; - rLoc = 1238; - rType = 0; - vrLen = 1068; - vrLoc = 0; }; F59C3D3D02AA458C017B4675 = { --- 550,555 ---- Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.17 retrieving revision 1.17.2.1 diff -C2 -d -r1.17 -r1.17.2.1 *** project.pbxproj 16 Aug 2003 14:11:18 -0000 1.17 --- project.pbxproj 21 Aug 2003 06:32:50 -0000 1.17.2.1 *************** *** 121,125 **** buildSettings = { DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.0.0; FRAMEWORK_SEARCH_PATHS = /Users/cohen/Library/Frameworks; FRAMEWORK_VERSION = A; --- 121,125 ---- buildSettings = { DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.1.1; FRAMEWORK_SEARCH_PATHS = /Users/cohen/Library/Frameworks; FRAMEWORK_VERSION = A; *************** *** 166,170 **** <string>????</string> <key>CFBundleVersion</key> ! <string>2.0.0d1</string> <key>NSPrincipalClass</key> <string>MCPConnection</string> --- 166,170 ---- <string>????</string> <key>CFBundleVersion</key> ! <string>2.1.1d1</string> <key>NSPrincipalClass</key> <string>MCPConnection</string> *************** *** 612,616 **** buildSettings = { DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.0.0; FRAMEWORK_VERSION = A; HEADER_SEARCH_PATHS = mysqlclient_source/headers; --- 612,616 ---- buildSettings = { DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.1.1; FRAMEWORK_VERSION = A; HEADER_SEARCH_PATHS = mysqlclient_source/headers; *************** *** 654,658 **** <string>????</string> <key>CFBundleVersion</key> ! <string>2.0.0d1</string> <key>NSPrincipalClass</key> <string>MCPConnection</string> --- 654,658 ---- <string>????</string> <key>CFBundleVersion</key> ! <string>2.1.1d1</string> <key>NSPrincipalClass</key> <string>MCPConnection</string> *************** *** 2146,2150 **** buildSettings = { DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.0.0; FRAMEWORK_VERSION = A; LIBRARY_SEARCH_PATHS = /usr/local/lib/mysql; --- 2146,2150 ---- buildSettings = { DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.1.1; FRAMEWORK_VERSION = A; LIBRARY_SEARCH_PATHS = /usr/local/lib/mysql; *************** *** 2192,2196 **** <string>????</string> <key>CFBundleVersion</key> ! <string>2.0.0d1</string> <key>NSPrincipalClass</key> <string>MCPConnection</string> --- 2192,2196 ---- <string>????</string> <key>CFBundleVersion</key> ! <string>2.1.1d1</string> <key>NSPrincipalClass</key> <string>MCPConnection</string> |
From: Serge C. <ser...@us...> - 2003-08-22 11:36:13
|
Update of /cvsroot/mysql-cocoa/SMySQL In directory sc8-pr-cvs1:/tmp/cvs-serv6978 Modified Files: Tag: version-2-1 MCPResult.m Log Message: Corrected the issue (raised by Lorenz Textor) on BigInt MySQL type (corresponding to long long, not long int), where a BIGINT would be passed back as a 32 bits integer instead of 64 bits. Now MCPResult handles properly BIGINT. Added a BIGINT column in the test1 table (CLI_Test), to check if it is working. NB : Unsigned int (both INT and BIGINT) might still causes problem if they are in the higher half of their range (because they will be interpreted as signed integers). Version get from 2.1.0 to 2.1.1 2003-08-21; Serge Cohen. Index: MCPResult.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/MCPResult.m,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -C2 -d -r1.3 -r1.3.2.1 *** MCPResult.m 16 Jan 2003 12:18:23 -0000 1.3 --- MCPResult.m 21 Aug 2003 06:32:50 -0000 1.3.2.1 *************** *** 258,261 **** --- 258,262 ---- else { char *theData = calloc(sizeof(char),theLengths[i]+1); + char *theUselLess; memcpy(theData, theRow[i],theLengths[i]); theData[theLengths[i]] = '\0'; *************** *** 264,272 **** case FIELD_TYPE_TINY: case FIELD_TYPE_SHORT: - case FIELD_TYPE_LONG: case FIELD_TYPE_INT24: case FIELD_TYPE_LONGLONG: ! theCurrentObj = [NSNumber numberWithLong:atol(theData)]; ! break; case FIELD_TYPE_DECIMAL: case FIELD_TYPE_FLOAT: --- 265,275 ---- case FIELD_TYPE_TINY: case FIELD_TYPE_SHORT: case FIELD_TYPE_INT24: + case FIELD_TYPE_LONG: + theCurrentObj = [NSNumber numberWithLong:atol(theData)]; + break; case FIELD_TYPE_LONGLONG: ! theCurrentObj = [NSNumber numberWithLongLong:strtoq(theData, &theUselLess, 0)]; ! break; case FIELD_TYPE_DECIMAL: case FIELD_TYPE_FLOAT: |
From: Serge C. <ser...@us...> - 2003-08-22 04:54:39
|
Update of /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj In directory sc8-pr-cvs1:/tmp/cvs-serv6792/SMySQL.pbproj Modified Files: cohen.pbxuser project.pbxproj Log Message: Corrected the issue (raised by Lorenz Textor) on BigInt MySQL type (corresponding to long long, not long int), where a BIGINT would be passed back as a 32 bits integer instead of 64 bits. Now MCPResult handles properly BIGINT. Added a BIGINT column in the test1 table (CLI_Test), to check if it is working. NB : Unsigned int (both INT and BIGINT) might still causes problem if they are in the higher half of their range (because they will be interpreted as signed integers). 2003-08-21; Serge Cohen. Index: cohen.pbxuser =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/cohen.pbxuser,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** cohen.pbxuser 18 Aug 2003 21:24:49 -0000 1.21 --- cohen.pbxuser 21 Aug 2003 06:30:53 -0000 1.22 *************** *** 11,15 **** ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 82902926; PBXWorkspaceContents = ( { --- 11,15 ---- ); perUserDictionary = { ! PBXPerProjectTemplateStateSaveDate = 83138294; PBXWorkspaceContents = ( { *************** *** 18,31 **** Split0 = { NavContent0 = { ! bookmark = 0D079E9404F100D800A8C863; history = ( - 0D8AD06504F04D8300C86E30, - 0D8AD06604F04D8300C86E30, 0D82DD6C04F0FEC100B97554, 0D82DD6D04F0FEC100B97554, 0D82DD6E04F0FEC100B97554, 0D82DD6F04F0FEC100B97554, 0D079E9204F100D800A8C863, - 0D82DD7004F0FEC100B97554, ); prevStack = ( --- 18,35 ---- Split0 = { NavContent0 = { ! bookmark = 0DF73C7804F49C5000A8C863; history = ( 0D82DD6C04F0FEC100B97554, 0D82DD6D04F0FEC100B97554, 0D82DD6E04F0FEC100B97554, 0D82DD6F04F0FEC100B97554, + 0D0D0ADF04F24A0900A8C863, + 0DF73C6B04F49C5000A8C863, + 0DF73C6C04F49C5000A8C863, + 0DF73C6D04F49C5000A8C863, + 0DF73C6E04F49C5000A8C863, + 0DF73C6F04F49C5000A8C863, + 0DF73C7004F49C5000A8C863, 0D079E9204F100D800A8C863, ); prevStack = ( *************** *** 35,38 **** --- 39,50 ---- 0D8AD06A04F04D8300C86E30, 0D079E9304F100D800A8C863, + 0D0D0AE104F24A0900A8C863, + 0DF73C7104F49C5000A8C863, + 0DF73C7204F49C5000A8C863, + 0DF73C7304F49C5000A8C863, + 0DF73C7404F49C5000A8C863, + 0DF73C7504F49C5000A8C863, + 0DF73C7604F49C5000A8C863, + 0DF73C7704F49C5000A8C863, ); }; *************** *** 137,141 **** }; Tab4 = { ! Frame = "{{0, 0}, {748, 295}}"; }; TabCount = 5; --- 149,153 ---- }; Tab4 = { ! Frame = "{{0, 0}, {887, 295}}"; }; TabCount = 5; *************** *** 199,211 **** Template = F5F68CF101725D4C0D7A8F4C; ToolbarVisible = YES; ! WindowLocation = "{28, 60}"; }, ); ! PBXWorkspaceStateSaveDate = 82902926; }; perUserProjectItems = { 0D079E9204F100D800A8C863 = 0D079E9204F100D800A8C863; 0D079E9304F100D800A8C863 = 0D079E9304F100D800A8C863; ! 0D079E9404F100D800A8C863 = 0D079E9404F100D800A8C863; 0D6DC6FD04F03FE40025C233 = 0D6DC6FD04F03FE40025C233; 0D82DD6C04F0FEC100B97554 = 0D82DD6C04F0FEC100B97554; --- 211,224 ---- Template = F5F68CF101725D4C0D7A8F4C; ToolbarVisible = YES; ! WindowLocation = "{52, 44}"; }, ); ! PBXWorkspaceStateSaveDate = 83138294; }; perUserProjectItems = { 0D079E9204F100D800A8C863 = 0D079E9204F100D800A8C863; 0D079E9304F100D800A8C863 = 0D079E9304F100D800A8C863; ! 0D0D0ADF04F24A0900A8C863 = 0D0D0ADF04F24A0900A8C863; ! 0D0D0AE104F24A0900A8C863 = 0D0D0AE104F24A0900A8C863; 0D6DC6FD04F03FE40025C233 = 0D6DC6FD04F03FE40025C233; 0D82DD6C04F0FEC100B97554 = 0D82DD6C04F0FEC100B97554; *************** *** 213,222 **** 0D82DD6E04F0FEC100B97554 = 0D82DD6E04F0FEC100B97554; 0D82DD6F04F0FEC100B97554 = 0D82DD6F04F0FEC100B97554; - 0D82DD7004F0FEC100B97554 = 0D82DD7004F0FEC100B97554; - 0D8AD06504F04D8300C86E30 = 0D8AD06504F04D8300C86E30; - 0D8AD06604F04D8300C86E30 = 0D8AD06604F04D8300C86E30; 0D8AD06804F04D8300C86E30 = 0D8AD06804F04D8300C86E30; 0D8AD06904F04D8300C86E30 = 0D8AD06904F04D8300C86E30; 0D8AD06A04F04D8300C86E30 = 0D8AD06A04F04D8300C86E30; }; projectwideBuildSettings = { --- 226,246 ---- 0D82DD6E04F0FEC100B97554 = 0D82DD6E04F0FEC100B97554; 0D82DD6F04F0FEC100B97554 = 0D82DD6F04F0FEC100B97554; 0D8AD06804F04D8300C86E30 = 0D8AD06804F04D8300C86E30; 0D8AD06904F04D8300C86E30 = 0D8AD06904F04D8300C86E30; 0D8AD06A04F04D8300C86E30 = 0D8AD06A04F04D8300C86E30; + 0DF73C6B04F49C5000A8C863 = 0DF73C6B04F49C5000A8C863; + 0DF73C6C04F49C5000A8C863 = 0DF73C6C04F49C5000A8C863; + 0DF73C6D04F49C5000A8C863 = 0DF73C6D04F49C5000A8C863; + 0DF73C6E04F49C5000A8C863 = 0DF73C6E04F49C5000A8C863; + 0DF73C6F04F49C5000A8C863 = 0DF73C6F04F49C5000A8C863; + 0DF73C7004F49C5000A8C863 = 0DF73C7004F49C5000A8C863; + 0DF73C7104F49C5000A8C863 = 0DF73C7104F49C5000A8C863; + 0DF73C7204F49C5000A8C863 = 0DF73C7204F49C5000A8C863; + 0DF73C7304F49C5000A8C863 = 0DF73C7304F49C5000A8C863; + 0DF73C7404F49C5000A8C863 = 0DF73C7404F49C5000A8C863; + 0DF73C7504F49C5000A8C863 = 0DF73C7504F49C5000A8C863; + 0DF73C7604F49C5000A8C863 = 0DF73C7604F49C5000A8C863; + 0DF73C7704F49C5000A8C863 = 0DF73C7704F49C5000A8C863; + 0DF73C7804F49C5000A8C863 = 0DF73C7804F49C5000A8C863; }; projectwideBuildSettings = { *************** *** 231,268 **** isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {607, 224}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {241, 224}}"; - TOCViewSelectedItems = ( - PBXTargetSummarySettingsModule, - ); - }; }; 0D079E9304F100D800A8C863 = { isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; - uiCtxt = { - TOCViewDetailVisibleRect = "{{0, 0}, {607, 224}}"; - TOCViewExpandedItems = ( - "com.apple.target-editor-pane.settings", - "com.apple.target-editor-pane.settings.simple", - "com.apple.target-editor-pane.info-plist", - "com.apple.target-editor-pane.info-plist.simple", - "com.apple.target-editor-pane.buildphases", - ); - TOCViewMasterVisibleRect = "{{0, 0}, {241, 224}}"; - TOCViewSelectedItems = ( - PBXTargetSummarySettingsModule, - ); - }; }; ! 0D079E9404F100D800A8C863 = { fRef = 0D82DD6B04F0D92100B97554; isa = PBXTextBookmark; --- 255,264 ---- isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; }; 0D079E9304F100D800A8C863 = { isa = PBXTargetBookmark; trg = 0DEFA05704F0318B00A68F01; }; ! 0D0D0ADF04F24A0900A8C863 = { fRef = 0D82DD6B04F0D92100B97554; isa = PBXTextBookmark; *************** *** 271,275 **** rLoc = 82; rType = 0; ! vrLen = 2816; vrLoc = 0; }; --- 267,281 ---- rLoc = 82; rType = 0; ! vrLen = 1152; ! vrLoc = 0; ! }; ! 0D0D0AE104F24A0900A8C863 = { ! fRef = 0D82DD6B04F0D92100B97554; ! isa = PBXTextBookmark; ! name = "README_BIN: 3"; ! rLen = 0; ! rLoc = 82; ! rType = 0; ! vrLen = 1152; vrLoc = 0; }; *************** *** 318,339 **** vrLoc = 0; }; - 0D82DD7004F0FEC100B97554 = { - fRef = 0D82DD6B04F0D92100B97554; - isa = PBXTextBookmark; - name = "README_BIN: 3"; - rLen = 0; - rLoc = 82; - rType = 0; - vrLen = 2192; - vrLoc = 5589; - }; - 0D8AD06504F04D8300C86E30 = { - isa = PBXTargetBookmark; - trg = 0DCFFE7404EE9B4400AD80EC; - }; - 0D8AD06604F04D8300C86E30 = { - isa = PBXTargetBookmark; - trg = 0867D69CFE84028FC02AAC07; - }; 0D8AD06804F04D8300C86E30 = { isa = PBXTargetBookmark; --- 324,327 ---- *************** *** 382,385 **** --- 370,581 ---- 0DEFA05704F0318B00A68F01 = { activeExec = 0; + }; + 0DF73C6B04F49C5000A8C863 = { + fRef = 0DCEFA2504EEAF1600F30895; + isa = PBXTextBookmark; + name = "Make_DB_and_table.mysql: 6"; + rLen = 0; + rLoc = 345; + rType = 0; + vrLen = 1504; + vrLoc = 0; + }; + 0DF73C6C04F49C5000A8C863 = { + fRef = 0DCFFE4004EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPResult.m: 265"; + rLen = 401; + rLoc = 7343; + rType = 0; + vrLen = 2416; + vrLoc = 7045; + }; + 0DF73C6D04F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0867D69CFE84028FC02AAC07; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 85}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0867D6A0FE84028FC02AAC07, + ); + }; + }; + 0DF73C6E04F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 287}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + PBXInfoPlistExpertSettingsEditorModule, + ); + }; + }; + 0DF73C6F04F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7208504EE8C3F002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 287}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + PBXInfoPlistExpertSettingsEditorModule, + ); + }; + }; + 0DF73C7004F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0DCFFE7404EE9B4400AD80EC; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 68}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0DCFFE7304EE9B4400AD80EC, + ); + }; + }; + 0DF73C7104F49C5000A8C863 = { + fRef = 0DCFFE4004EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPResult.m: 274"; + rLen = 0; + rLoc = 7744; + rType = 0; + vrLen = 2373; + vrLoc = 7088; + }; + 0DF73C7204F49C5000A8C863 = { + fRef = 0DCEFA2504EEAF1600F30895; + isa = PBXTextBookmark; + name = "Make_DB_and_table.mysql: 6"; + rLen = 0; + rLoc = 345; + rType = 0; + vrLen = 1504; + vrLoc = 0; + }; + 0DF73C7304F49C5000A8C863 = { + fRef = 0DCFFE4004EE97AE00AD80EC; + isa = PBXTextBookmark; + name = "MCPResult.m: 265"; + rLen = 401; + rLoc = 7343; + rType = 0; + vrLen = 2416; + vrLoc = 7045; + }; + 0DF73C7404F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0867D69CFE84028FC02AAC07; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 85}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0867D6A0FE84028FC02AAC07, + ); + }; + }; + 0DF73C7504F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7207E04EE8A99002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 287}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + PBXInfoPlistExpertSettingsEditorModule, + ); + }; + }; + 0DF73C7604F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0DA7208504EE8C3F002E9126; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 287}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + PBXInfoPlistExpertSettingsEditorModule, + ); + }; + }; + 0DF73C7704F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0DCFFE7404EE9B4400AD80EC; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {636, 68}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {253, 587}}"; + TOCViewSelectedItems = ( + 0DCFFE7304EE9B4400AD80EC, + ); + }; + }; + 0DF73C7804F49C5000A8C863 = { + isa = PBXTargetBookmark; + trg = 0DEFA05704F0318B00A68F01; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {607, 587}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.info-plist", + "com.apple.target-editor-pane.info-plist.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {241, 587}}"; + TOCViewSelectedItems = ( + 0DEFA05904F0336400A68F01, + ); + }; }; } Index: project.pbxproj =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/SMySQL.pbproj/project.pbxproj,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** project.pbxproj 18 Aug 2003 21:24:49 -0000 1.22 --- project.pbxproj 21 Aug 2003 06:30:53 -0000 1.23 *************** *** 137,141 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.1.0; FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_VERSION = A; --- 137,141 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.1; FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_VERSION = A; *************** *** 184,188 **** <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.0d1</string> <key>NSPrincipalClass</key> <string></string> --- 184,188 ---- <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.1d1</string> <key>NSPrincipalClass</key> <string></string> *************** *** 450,454 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.1.0; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; --- 450,454 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.1; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; *************** *** 501,505 **** <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.0d1</string> </dict> </plist> --- 501,505 ---- <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.1d1</string> </dict> </plist> *************** *** 581,585 **** CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.1.0; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; --- 581,585 ---- CPLUSPLUS = "/usr/bin/g++-3.3"; DYLIB_COMPATIBILITY_VERSION = 2.0.0; ! DYLIB_CURRENT_VERSION = 2.2.1; FRAMEWORK_VERSION = A; GCC_VERSION = 3.3; *************** *** 632,636 **** <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.0d1</string> </dict> </plist> --- 632,636 ---- <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.1d1</string> </dict> </plist> *************** *** 1464,1468 **** <string>????</string> <key>CFBundleVersion</key> ! <string>0.0.1d1</string> </dict> </plist> --- 1464,1468 ---- <string>????</string> <key>CFBundleVersion</key> ! <string>2.2.1d1</string> </dict> </plist> *************** *** 1485,1489 **** runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.2.0\"\n\nSOURCE_FILES=\"MCPConnection.h MCPConnection.m MCPFastQueries.h MCPFastQueries.m MCPNull.h MCPNull.m MCPResult.h MCPResult.m MCPResultPlus.h MCPResultPlus.m SMySQL.h SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test.command\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README \n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 --- 1485,1489 ---- runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; ! shellScript = "MKDIRS=\"mkdir -p\"\nCP=\"cp -r\"\nWORK_DIR=\"$TARGET_BUILD_DIR/Distributions\"\n\nBASE_DIST_NAME=\"SMySQL\"\nVERSION_DIST=\"2.2.1\"\n\nSOURCE_FILES=\"MCPConnection.h MCPConnection.m MCPFastQueries.h MCPFastQueries.m MCPNull.h MCPNull.m MCPResult.h MCPResult.m MCPResultPlus.h MCPResultPlus.m SMySQL.h SMySQLConstants.h SMySQL_Prefix.h README TO_DO TO_INSTALL gpl.txt gpl.html mysql_bins CLI_Test SMySQL.pbproj\"\n\nBIN_FILES=\"SMySQL.framework SMySQL_static.framework SMySQL_bundled.framework CLI_Test.command\"\n\nrm -rf \"$WORK_DIR\"\n$MKDIRS \"$WORK_DIR\"\ncd \"$WORK_DIR\"\n\n#cat - > foo.txt <<EOF\n#This Foo Bar saying Hello World...\n#EOF\n\n# Preparing the source distribution:\nSOURCE_DIST_NAME=\"${BASE_DIST_NAME}_src_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Sources_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_SOURCES=`hdid -nomount Sources_Temp.dmg`\nnewfs_hfs -v \"$SOURCE_DIST_NAME\" $DEV_SOURCES\nhdiutil eject $DEV_SOURCES\n# Mount in writable way:\nhdid Sources_Temp.dmg > mount_source.log\nDEV_SOURCES=`awk '{print $1}' mount_source.log`\nVOL_SOURCES=`awk '{print $2}' mount_source.log`\n# Copy the sources to the source volume...\ncd \"$SRCROOT\"\n$CP $SOURCE_FILES $VOL_SOURCES\nfind $VOL_SOURCES -name 'CVS' -exec rm -rf {} \\;\n# Make a Tar/gz version of the distribution...\ncd $VOL_SOURCES\ncd ..\ngnutar -cvzf \"${WORK_DIR}/${SOURCE_DIST_NAME}.tgz\" ${SOURCE_DIST_NAME}\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_SOURCES\nhdiutil convert -format UDZO Sources_Temp.dmg -o ${SOURCE_DIST_NAME}.dmg\n\n# Preparing the binary distribution:\nBINS_DIST_NAME=\"${BASE_DIST_NAME}_bin_${VERSION_DIST}\"\n# Create a writable DMG file :\nhdiutil create -megabytes 5 Bins_Temp.dmg -layout NONE\n# Mount it just to be able to format it (and format in HFS+)\nDEV_BINS=`hdid -nomount Bins_Temp.dmg`\nnewfs_hfs -v \"$BINS_DIST_NAME\" $DEV_BINS\nhdiutil eject $DEV_BINS\n# Mount in writable way:\nhdid Bins_Temp.dmg > mount_bin.log\nDEV_BINS=`awk '{print $1}' mount_bin.log`\nVOL_BINS=`awk '{print $2}' mount_bin.log`\n# Copy the sources to the source volume...\ncd \"$TARGET_BUILD_DIR\"\n$CP $BIN_FILES $VOL_BINS\n$CP ${SRCROOT}/README_BIN ${VOL_BINS}/README \n$CP \"${SRCROOT}/CLI_Test/README.txt\" ${VOL_BINS}/CLI_Test_README\n$CP \"${SRCROOT}/CLI_Test/Make_DB_and_table.mysql\" ${VOL_BINS}/\ncd \"$WORK_DIR\"\n# Copying is done, we can eject and compress the image:\nhdiutil eject $DEV_BINS\nhdiutil convert -format UDZO Bins_Temp.dmg -o ${BINS_DIST_NAME}.dmg\n\n\n# Clean_up:\nrm -f Sources_Temp.dmg\nrm -f mount_source.log\nrm -f Bins_Temp.dmg\nrm -f mount_bin.log\n\necho Everything will be in : $WORK_DIR\n"; }; //0D0 |
From: Serge C. <ser...@us...> - 2003-08-22 04:43:28
|
Update of /cvsroot/mysql-cocoa/SMySQL In directory sc8-pr-cvs1:/tmp/cvs-serv7098 Modified Files: Tag: version-1 SMySQLResult.m Log Message: Corrected the issue (raised by Lorenz Textor) on BigInt MySQL type (corresponding to long long, not long int), where a BIGINT would be passed back as a 32 bits integer instead of 64 bits. Now SMySQLResult handles properly BIGINT. Added a BIGINT column in the test1 table (CLI_Test), to check if it is working. NB : Unsigned int (both INT and BIGINT) might still causes problem if they are in the higher half of their range (because they will be interpreted as signed integers). Version get from 1.0.0 to 1.0.1 2003-08-21; Serge Cohen. Index: SMySQLResult.m =================================================================== RCS file: /cvsroot/mysql-cocoa/SMySQL/Attic/SMySQLResult.m,v retrieving revision 1.8.2.1 retrieving revision 1.8.2.2 diff -C2 -d -r1.8.2.1 -r1.8.2.2 *** SMySQLResult.m 16 Jan 2003 12:16:05 -0000 1.8.2.1 --- SMySQLResult.m 21 Aug 2003 06:33:54 -0000 1.8.2.2 *************** *** 213,216 **** --- 213,217 ---- id theCurrentObj,theDataObj; char *theData = calloc(sizeof(char),theLengths[i]+1); + char *theUselLess; if (theRow[i] == NULL) { theCurrentObj = [NSNull null]; *************** *** 223,234 **** switch (theField[i].type) { ! case FIELD_TYPE_TINY: ! case FIELD_TYPE_SHORT: ! case FIELD_TYPE_LONG: ! case FIELD_TYPE_INT24: ! case FIELD_TYPE_LONGLONG: ! theCurrentObj = [NSNumber numberWithLong:atol(theData)]; ! break; ! case FIELD_TYPE_DECIMAL: case FIELD_TYPE_FLOAT: case FIELD_TYPE_DOUBLE: --- 224,237 ---- switch (theField[i].type) { ! case FIELD_TYPE_TINY: ! case FIELD_TYPE_SHORT: ! case FIELD_TYPE_INT24: ! case FIELD_TYPE_LONG: ! theCurrentObj = [NSNumber numberWithLong:atol(theData)]; ! break; ! case FIELD_TYPE_LONGLONG: ! theCurrentObj = [NSNumber numberWithLongLong:strtoq(theData, &theUselLess, 0)]; ! break; ! case FIELD_TYPE_DECIMAL: case FIELD_TYPE_FLOAT: case FIELD_TYPE_DOUBLE: *************** *** 330,333 **** --- 333,337 ---- id theCurrentObj,theDataObj; char *theData = calloc(sizeof(char),theLengths[i]+1); + char *theUselLess; if (theRow[i] == NULL) { theCurrentObj = [NSNull null]; *************** *** 341,352 **** switch (theField[i].type) { ! case FIELD_TYPE_TINY: ! case FIELD_TYPE_SHORT: ! case FIELD_TYPE_LONG: ! case FIELD_TYPE_INT24: ! case FIELD_TYPE_LONGLONG: ! theCurrentObj = [NSNumber numberWithLong:atol(theData)]; ! break; ! case FIELD_TYPE_DECIMAL: case FIELD_TYPE_FLOAT: case FIELD_TYPE_DOUBLE: --- 345,358 ---- switch (theField[i].type) { ! case FIELD_TYPE_TINY: ! case FIELD_TYPE_SHORT: ! case FIELD_TYPE_INT24: ! case FIELD_TYPE_LONG: ! theCurrentObj = [NSNumber numberWithLong:atol(theData)]; ! break; ! case FIELD_TYPE_LONGLONG: ! theCurrentObj = [NSNumber numberWithLongLong:strtoq(theData, &theUselLess, 0)]; ! break; ! case FIELD_TYPE_DECIMAL: case FIELD_TYPE_FLOAT: case FIELD_TYPE_DOUBLE: |