From f85e71af7997af33ca10ee581c20c7c2264c6287 Mon Sep 17 00:00:00 2001 From: rowanbeentje Date: Mon, 14 Sep 2009 00:14:25 +0000 Subject: Significantly improve export: - Rework CSV export to stream data, significantly reducing memory consumption and so increasing speed and stability when exporting large tables. By default safe/fast streaming is used, but a checkbox is available to select "low memory mode" full streaming, allowing export of any size table in theory. This addresses Issue #224. - Rework XML export to stream data in the same way, also significantly reducing memory usage and providing the option of using low memory mode. - Make SQL, CSV and XML export progress bars update more smoothly - When exporting the current browse view or custom query result, show an indeterminate progress bar when copying large resultsets to avoid the app appearing to hang --- Interfaces/English.lproj/DBView.xib | 4027 +++++++++++++++++++++-------------- Source/TableDump.h | 11 +- Source/TableDump.m | 496 +++-- 3 files changed, 2790 insertions(+), 1744 deletions(-) diff --git a/Interfaces/English.lproj/DBView.xib b/Interfaces/English.lproj/DBView.xib index 6ac089b9..d4a9ff7e 100644 --- a/Interfaces/English.lproj/DBView.xib +++ b/Interfaces/English.lproj/DBView.xib @@ -1,23 +1,38 @@ - + 1050 - 9L30 - 677 - 949.54 - 353.00 + 10A432 + 732 + 1038 + 437.00 + + YES + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.WebKitIBPlugin + com.brandonwalkin.BWToolkit + + + YES + 732 + 732 + 1.2.1 + + YES YES - com.apple.WebKitIBPlugin com.brandonwalkin.BWToolkit com.apple.InterfaceBuilder.CocoaPlugin + com.apple.WebKitIBPlugin YES - + YES @@ -43,7 +58,7 @@ Connecting... NSWindow View - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} {780, 480} @@ -107,7 +122,7 @@ LucidaGrande - 1.100000e+01 + 11 3100 @@ -135,9 +150,9 @@ 130560 0 search + _searchFieldSearch: - 138690815 0 @@ -152,7 +167,7 @@ YES YES - + YES AXDescription NSAccessibilityEncodedAttributesValueType @@ -160,13 +175,13 @@ YES cancel - + + _searchFieldCancel: - 138690815 0 @@ -193,30 +208,30 @@ _sourceListBackgroundColor 1 - MC44MzkyMTU3IDAuODY2NjY2NjcgMC44OTgwMzkyMgA + MC44MzkyMTU2OTU5IDAuODY2NjY2Njc0NiAwLjg5ODAzOTIyMTgAA 4 - 256 + -2147483392 {{-100, -100}, {15, 94}} _doScroller: - 1.000000e+00 - 9.636363e-01 + 1 + 0.9636363 - 256 + -2147483392 {{-100, -100}, {166, 15}} 1 _doScroller: - 5.060241e-01 + 0.50602409999999998 {212, 26} @@ -262,12 +277,12 @@ YES tables - 2.090000e+02 - 4.286900e+01 - 1.000000e+03 + 209 + 42.869 + 1000 - 75628032 - 0 + 75628096 + 2048 Tables @@ -294,7 +309,7 @@ controlColor 3 - MC42NjY2NjY2OQA + MC42NjY2NjY2NjY3AA @@ -305,15 +320,15 @@ - 3.000000e+00 - 2.000000e+00 + 3 + 2 6 System _sourceListBackgroundColor 1 - MC44MzkyMTU3IDAuODY2NjY2NjcgMC44OTgwMzkyMgA + MC44MzkyMTU2OTU5IDAuODY2NjY2Njc0NiAwLjg5ODAzOTIyMTgAA @@ -325,13 +340,16 @@ MC41AA - 1.700000e+01 + 17 1514143744 + + 2 15 0 YES 1 + 1 {212, 354} @@ -353,17 +371,17 @@ _doScroller: - 9.965870e-01 + 0.996587 - 256 + -2147483392 {{-100, -100}, {141, 11}} 257 _doScroller: - 9.904762e-01 + 0.99047620000000003 {212, 354} @@ -387,20 +405,20 @@ YES - + - + - - + + - - + + 1 NO @@ -440,12 +458,12 @@ YES info - 2.088690e+02 - 4.286900e+01 - 1.000000e+03 + 208.86900000000003 + 42.869 + 1000 - 75628032 - 0 + 75628096 + 2048 Information @@ -470,25 +488,28 @@ - 3.000000e+00 - 2.000000e+00 + 3 + 2 6 System _sourceListBackgroundColor 1 - MC44MzkyMTU3IDAuODY2NjY2NjcgMC44OTgwMzkyMgA + MC44MzkyMTU2OTU5IDAuODY2NjY2Njc0NiAwLjg5ODAzOTIyMTgAA - 1.700000e+01 + 17 1514143744 + + 2 15 0 YES 1 + 1 {212, 145} @@ -505,17 +526,17 @@ _doScroller: - 9.473684e-01 + 0.9473684 - 256 + -2147483392 {{-100, -100}, {141, 11}} 257 _doScroller: - 9.904762e-01 + 0.99047620000000003 {212, 145} @@ -539,37 +560,37 @@ NO - - + + - + YES - + YES - - + + YES - - + + YES - + YES - - + + YES - - + + 2 @@ -615,7 +636,7 @@ 134219776 LucidaGrande - 1.300000e+01 + 13 1044 @@ -840,12 +861,12 @@ YES Field - 9.700000e+01 - 4.000000e+01 - 1.000000e+03 + 97 + 40 + 1000 - 75628032 - 0 + 75628096 + 2048 Field @@ -867,12 +888,12 @@ Type - 6.400000e+01 - 1.000000e+01 - 1.000000e+03 + 64 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Type @@ -935,10 +956,10 @@ YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 67239424 0 @@ -961,11 +982,11 @@ - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -228556800 @@ -975,6 +996,7 @@ 15 0 YES + 0 NO @@ -985,12 +1007,12 @@ Length - 7.300000e+01 - 1.000000e+01 - 1.000000e+03 + 73 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Length @@ -1012,12 +1034,12 @@ unsigned - 5.500000e+01 - 1.000000e+01 - 1.000000e+03 + 55 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Unsigned @@ -1050,12 +1072,12 @@ zerofill - 5.500000e+01 - 1.000000e+01 - 1.000000e+03 + 55 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Zerofill @@ -1083,12 +1105,12 @@ binary - 5.500000e+01 - 1.000000e+01 - 1.000000e+03 + 55 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Binary @@ -1116,12 +1138,12 @@ Null - 6.000000e+01 - 1.000000e+01 - 1.000000e+03 + 60 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Allow Null @@ -1149,12 +1171,12 @@ Key - 5.500000e+01 - 1.000000e+01 - 1.000000e+03 + 55 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Key @@ -1175,12 +1197,12 @@ Default - 6.700000e+01 - 1.000000e+01 - 1.000000e+03 + 67 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Default @@ -1202,12 +1224,12 @@ Extra - 7.739795e+01 - 3.139795e+01 - 1.000000e+03 + 77.39794999999998 + 31.397950000000002 + 1000 - 67239424 - 0 + 75628096 + 2048 Extra @@ -1240,10 +1262,10 @@ YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 67239424 0 @@ -1266,11 +1288,11 @@ - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -228556800 @@ -1280,6 +1302,7 @@ 15 0 YES + 0 NO @@ -1289,16 +1312,19 @@ - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 -222265344 + + 1 15 0 YES + 0 {{1, 17}, {688, 289}} @@ -1315,7 +1341,7 @@ _doScroller: - 9.858657e-01 + 0.98586569999999996 @@ -1325,7 +1351,7 @@ 1 _doScroller: - 9.985486e-01 + 0.99854860000000001 @@ -1421,7 +1447,7 @@ button_remove - fw +  400 75 @@ -1455,7 +1481,7 @@ 290 YES - + YES Apple PDF pasteboard type Apple PICT pasteboard type @@ -1533,7 +1559,7 @@ INDEXES LucidaGrande-Bold - 1.100000e+01 + 11 16 @@ -1552,7 +1578,7 @@ 265 YES - + YES Apple PDF pasteboard type Apple PICT pasteboard type @@ -1605,8 +1631,8 @@ NO NO NO - 0.000000e+00 - 0.000000e+00 + 0.0 + 0.0 @@ -1641,12 +1667,12 @@ YES Non_unique - 7.900000e+01 - 4.000000e+01 - 1.000000e+03 + 79 + 40 + 1000 - 75628032 - 0 + 75628096 + 2048 Non_unique @@ -1667,12 +1693,12 @@ Key_name - 6.900000e+01 - 4.000000e+01 - 1.000000e+03 + 69 + 40 + 1000 - 75628032 - 0 + 75628096 + 2048 Key_name @@ -1693,12 +1719,12 @@ Seq_in_index - 8.100000e+01 - 1.000000e+01 - 1.000000e+03 + 81 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Seq_in_index @@ -1719,12 +1745,12 @@ Column_name - 8.800000e+01 - 1.000000e+01 - 1.000000e+03 + 88 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Column_name @@ -1745,12 +1771,12 @@ Collation - 5.900000e+01 - 1.000000e+01 - 1.000000e+03 + 59 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Collation @@ -1771,12 +1797,12 @@ Cardinality - 6.900000e+01 - 1.000000e+01 - 1.000000e+03 + 69 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Cardinality @@ -1797,12 +1823,12 @@ Sub_part - 6.000000e+01 - 1.000000e+01 - 1.000000e+03 + 60 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Sub_part @@ -1823,12 +1849,12 @@ Packed - 4.700000e+01 - 1.000000e+01 - 1.000000e+03 + 47 + 10 + 1000 - 67239424 - 0 + 75628096 + 2048 Packed @@ -1849,12 +1875,12 @@ Comment - 1.089760e+02 - 5.597600e+01 - 1.000000e+03 + 108.976 + 55.975999999999999 + 1000 - 67239424 - 0 + 75628096 + 2048 Comment @@ -1874,16 +1900,19 @@ - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.300000e+01 + 13 -222265344 + + 1 15 0 YES + 0 {{1, 17}, {688, 142}} @@ -1900,7 +1929,7 @@ _doScroller: - 8.936170e-01 + 0.89361699999999999 @@ -1910,7 +1939,7 @@ 1 _doScroller: - 9.744409e-01 + 0.97444090000000005 @@ -2007,7 +2036,7 @@ 290 YES - + YES Apple PDF pasteboard type Apple PICT pasteboard type @@ -2087,12 +2116,12 @@ YES - 6.230000e+02 - 8.000000e+00 - 1.000000e+03 + 623 + 8 + 1000 - 75628032 - 0 + 75628096 + 2048 @@ -2113,16 +2142,19 @@ - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 -627048448 + + 0 15 0 YES + 0 {{1, 17}, {688, 455}} @@ -2139,7 +2171,7 @@ _doScroller: - 9.669604e-01 + 0.96696040000000005 @@ -2149,8 +2181,8 @@ 1 _doScroller: - 1.453488e-03 - 9.984025e-01 + 0.001453488 + 0.99840249999999997 @@ -2193,34 +2225,32 @@ YES - + YES allowsFloats formatterBehavior + locale YES - + + + + # # - - - - - - + + NaN YES - - YES - + YES @@ -2241,10 +2271,10 @@ YES YES - , - . + . + , NO - YES + NO NO 0 @@ -2282,7 +2312,7 @@ {{676, 513}, {16, 16}} 28938 - 1.000000e+02 + 100 @@ -2296,7 +2326,7 @@ Filter LucidaGrande - 1.100000e+01 + 11 16 @@ -2319,8 +2349,8 @@ 131072 - 1.000000e+02 - 1.000000e+00 + 100 + 1 YES @@ -2382,7 +2412,7 @@ 35 - fw +  400 75 @@ -2413,7 +2443,7 @@ 290 YES - + YES Apple PDF pasteboard type Apple PICT pasteboard type @@ -2632,9 +2662,9 @@ 537001472 0 search + _searchFieldSearch: - 138690815 0 @@ -2649,7 +2679,7 @@ YES YES - + YES AXDescription NSAccessibilityEncodedAttributesValueType @@ -2657,13 +2687,13 @@ YES cancel - + + _searchFieldCancel: - 138690815 0 @@ -2711,9 +2741,9 @@ 130560 0 search + _searchFieldSearch: - 138690815 0 @@ -2728,7 +2758,7 @@ YES YES - + YES AXDescription NSAccessibilityEncodedAttributesValueType @@ -2736,13 +2766,13 @@ YES cancel - + + _searchFieldCancel: - 138690815 0 @@ -2772,9 +2802,9 @@ 130560 0 search + _searchFieldSearch: - 138690815 0 @@ -2789,7 +2819,7 @@ YES YES - + YES AXDescription NSAccessibilityEncodedAttributesValueType @@ -2797,13 +2827,13 @@ YES cancel - + + _searchFieldCancel: - 138690815 0 @@ -2863,7 +2893,7 @@ 6418 YES - + YES Apple HTML pasteboard type Apple PDF pasteboard type @@ -2902,16 +2932,17 @@ - 6.880000e+02 + 688 1 28003 + 0 + - YES - + YES NSBackgroundColor NSColor @@ -2932,7 +2963,7 @@ - + @@ -2960,18 +2991,18 @@ _doScroller: - 1.000000e+00 + 1 - 256 + -2147483392 {{-100, -100}, {601, 11}} 257 _doScroller: - 9.767442e-01 - 9.456522e-01 + 0.97674419999999995 + 0.94565220000000005 {690, 157} @@ -3024,12 +3055,12 @@ YES - 6.850000e+02 - 4.000000e+01 - 1.000000e+03 + 685 + 40 + 1000 - 75628032 - 0 + 75628096 + 2048 @@ -3049,16 +3080,19 @@ - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.300000e+01 + 13 -88080384 + + 4 15 0 YES + 0 {{1, 17}, {688, 228}} @@ -3075,7 +3109,7 @@ _doScroller: - 9.375000e-01 + 0.9375 @@ -3085,7 +3119,7 @@ 1 _doScroller: - 9.904762e-01 + 0.99047620000000003 @@ -3127,10 +3161,6 @@ -1231011585 402653229 - - NSImage - appicon - h 400 @@ -3288,10 +3318,6 @@ -2042609409 35 - - NSImage - button_action - 400 @@ -3303,7 +3329,10 @@ 1048576 2147483647 - + + NSImage + button_action + _popUpItemAction: @@ -3354,7 +3383,7 @@ YES Previous Query from History - 75yAA + 262144 2147483647 @@ -3367,7 +3396,7 @@ YES Next Query from History - 75yBA + 262144 2147483647 @@ -3614,7 +3643,7 @@ 266 YES - + YES Apple PDF pasteboard type Apple PICT pasteboard type @@ -3761,16 +3790,17 @@ - 5.360000e+02 + 536 1 11139 + 0 + - YES - + YES NSBackgroundColor NSColor @@ -3781,10 +3811,10 @@ - + YES - + YES NSColor NSUnderline @@ -3795,7 +3825,7 @@ 1 MCAwIDEAA - + @@ -3822,18 +3852,18 @@ 256 _doScroller: - 9.931507e-01 + 0.99315070000000005 - 256 + -2147483392 {{-100, -100}, {87, 18}} 1 _doScroller: - 1.000000e+00 - 9.456522e-01 + 1 + 0.94565220000000005 {{96, 0}, {549, 71}} @@ -3901,16 +3931,17 @@ - 5.360000e+02 + 536 1 2305 + 0 + - YES - + YES NSBackgroundColor NSColor @@ -3921,10 +3952,10 @@ - + YES - + YES NSColor NSUnderline @@ -3932,7 +3963,7 @@ YES - + @@ -3959,18 +3990,18 @@ 256 _doScroller: - 9.931507e-01 + 0.99315070000000005 - 256 + -2147483392 {{-100, -100}, {87, 18}} 1 _doScroller: - 1.000000e+00 - 9.456522e-01 + 1 + 0.94565220000000005 {{96, 0}, {549, 198}} @@ -4402,12 +4433,12 @@ YES name - 1.350000e+02 - 8.000000e+00 - 1.000000e+03 + 135 + 8 + 1000 - 75628032 - 0 + 75628096 + 2048 Name @@ -4432,12 +4463,12 @@ columns - 1.190000e+02 - 1.000000e+01 - 3.402823e+38 + 119 + 10 + 3.4028229999999999e+38 - 75628032 - 0 + 75628096 + 2048 Columns @@ -4459,12 +4490,12 @@ fk_table - 1.040000e+02 - 1.000000e+01 - 3.402823e+38 + 104 + 10 + 3.4028229999999999e+38 - 75628032 - 0 + 75628096 + 2048 FK Table @@ -4486,12 +4517,12 @@ fk_columns - 1.390000e+02 - 1.000000e+01 - 3.402823e+38 + 139 + 10 + 3.4028229999999999e+38 - 75628032 - 0 + 75628096 + 2048 FK Columns @@ -4513,12 +4544,12 @@ on_update - 8.500000e+01 - 1.000000e+01 - 3.402823e+38 + 85 + 10 + 3.4028229999999999e+38 - 75628032 - 0 + 75628096 + 2048 On Update @@ -4540,12 +4571,12 @@ on_delete - 8.800000e+01 - 1.000000e+01 - 3.402823e+38 + 88 + 10 + 3.4028229999999999e+38 - 75628032 - 0 + 75628096 + 2048 On Delete @@ -4566,16 +4597,19 @@ - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 -624918528 + + 1 15 0 YES + 0 {{1, 17}, {688, 454}} @@ -4592,7 +4626,7 @@ _doScroller: - 9.679487e-01 + 0.9679487 @@ -4602,7 +4636,7 @@ 1 _doScroller: - 9.985486e-01 + 0.99854860000000001 @@ -4689,7 +4723,7 @@ 35 - fw +  400 75 @@ -4699,7 +4733,7 @@ 290 YES - + YES Apple PDF pasteboard type Apple PICT pasteboard type @@ -4773,7 +4807,7 @@ {{0, 0}, {1920, 1178}} {780, 502} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} @@ -4854,13 +4888,13 @@ 138018816 Add - 1 + 1 -2038284033 1 Helvetica - 1.100000e+01 + 11 16 @@ -5298,8 +5332,8 @@ 138018816 Add - 1 + 1 -2038284033 1 @@ -5794,8 +5828,8 @@ 138018816 Duplicate - 1 + 1 -2038284033 1 @@ -5895,8 +5929,8 @@ 138018816 Rename - 1 + 1 -2038284033 1 @@ -5944,7 +5978,7 @@ View - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} {213, 107} @@ -6112,17 +6146,17 @@ YES - - 1.200000e+01 - 1.000000e+01 - 1.000000e+03 + + 12 + 10 + 1000 75628032 0 LucidaGrande - 1.200000e+01 + 12 16 @@ -6142,11 +6176,11 @@ - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -767524864 @@ -6156,6 +6190,7 @@ 15 0 YES + 0 @@ -6222,7 +6257,7 @@ {{0, 0}, {1440, 878}} {213, 129} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} 1 @@ -6234,7 +6269,7 @@ View - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} {213, 107} @@ -6351,8 +6386,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 138018816 Add - 1 + 1 -2038284033 1 @@ -6371,7 +6406,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 67239424 138018816 - RG9uJ3QgYWRkA + Don't add -2038284033 @@ -6390,7 +6425,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 {{0, 0}, {1440, 878}} {213, 129} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} 1 @@ -6400,7 +6435,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 New Relation NSPanel - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} 256 @@ -7001,7 +7036,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 {302, 307} {{0, 0}, {1440, 878}} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} 3 @@ -7013,7 +7048,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 View - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} {213, 50} @@ -7027,7 +7062,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 {{18, 56}, {343, 20}} 16394 - 1.000000e+02 + 100 @@ -7038,7 +7073,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 67239488 4197120 - SW1wb3J0aW5n4oCmA + Importing… @@ -7067,7 +7102,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 1 LucidaGrande - 1.300000e+01 + 13 16 @@ -7085,10 +7120,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 67239488 4196352 - RG9pbmcgU3R1ZmbigKY + Doing Stuff… LucidaGrande-Bold - 1.300000e+01 + 13 2072 @@ -7101,7 +7136,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 268 YES - + YES Apple PDF pasteboard type Apple PICT pasteboard type @@ -7133,7 +7168,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 {{0, 0}, {1920, 1178}} {213, 72} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} 9 @@ -7145,7 +7180,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 View - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} {213, 107} @@ -7183,16 +7218,17 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.700000e+02 + 370 1 3045 + 0 + - YES - + YES NSBackgroundColor NSColor @@ -7203,7 +7239,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - + @@ -7229,18 +7265,18 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 _doScroller: - 6.896552e-01 + 0.68965520000000002 - 256 + -2147483392 {{-100, -100}, {87, 18}} 257 _doScroller: - 1.000000e+00 - 9.456522e-01 + 1 + 0.94565220000000005 {{-1, 35}, {383, 206}} @@ -7263,8 +7299,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 134348800 Close - 1 + 1 -2038284033 35 @@ -7279,7 +7315,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 {{0, 0}, {1440, 878}} {213, 129} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} 15 @@ -7291,7 +7327,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 View - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} {350, 200} @@ -7331,12 +7367,12 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES Variable_name - 2.020000e+02 - 4.000000e+01 - 1.000000e+03 + 202 + 40 + 1000 - 75628032 - 0 + 75628096 + 2048 Variable Name @@ -7360,12 +7396,12 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 Value - 1.910000e+02 - 4.000000e+01 - 1.000000e+03 + 191 + 40 + 1000 - 75628032 - 0 + 75628096 + 2048 Value @@ -7385,16 +7421,19 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.300000e+01 + 13 1514176512 + + 1 15 0 YES + 0 {{1, 17}, {399, 251}} @@ -7412,17 +7451,17 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 _doScroller: - 7.736842e-01 + 0.77368420000000004 - 256 + -2147483392 {{-100, -100}, {358, 11}} 257 _doScroller: - 9.972145e-01 + 0.9972145 @@ -7529,9 +7568,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 130560 0 search + _searchFieldSearch: - 138690815 0 @@ -7546,7 +7585,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES YES - + YES AXDescription NSAccessibilityEncodedAttributesValueType @@ -7554,13 +7593,13 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES cancel - + + _searchFieldCancel: - 138690815 0 @@ -7592,7 +7631,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 {{0, 0}, {1440, 878}} {350, 222} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} 8219 @@ -7602,7 +7641,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 Create Table Syntax NSPanel - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} {120, 100} @@ -7654,7 +7693,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES YES - + YES NSColor NSFont @@ -7668,7 +7707,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 LucidaGrande - 1.000000e+01 + 10 2843 @@ -7676,100 +7715,100 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - 0.000000e+00 + 0.0 - 5.600000e+01 + 56 - 1.120000e+02 + 112 - 1.680000e+02 + 168 - 2.240000e+02 + 224 - 2.800000e+02 + 280 - 3.360000e+02 + 336 - 3.920000e+02 + 392 - 4.480000e+02 + 448 - 5.040000e+02 + 504 - 5.600000e+02 + 560 - 6.160000e+02 + 616 - 6.720000e+02 + 672 - 7.280000e+02 + 728 - 7.840000e+02 + 784 - 8.400000e+02 + 840 - 8.960000e+02 + 896 - 9.520000e+02 + 952 - 1.008000e+03 + 1008 - 1.064000e+03 + 1064 - 1.120000e+03 + 1120 - 1.176000e+03 + 1176 - 1.232000e+03 + 1232 - 1.288000e+03 + 1288 - 1.344000e+03 + 1344 - 1.400000e+03 + 1400 - 1.456000e+03 + 1456 - 1.512000e+03 + 1512 - 1.568000e+03 + 1568 - 1.624000e+03 + 1624 - 1.680000e+03 + 1680 - 1.736000e+03 + 1736 @@ -7777,7 +7816,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + YES NSColor NSFont @@ -7788,7 +7827,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 LucidaGrande-Bold - 1.000000e+01 + 10 16 @@ -7845,16 +7884,17 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 2.660000e+02 + 266 1 2049 + 0 + - YES - + YES NSBackgroundColor NSColor @@ -7865,10 +7905,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - + YES - + YES NSColor NSUnderline @@ -7876,7 +7916,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + @@ -7904,18 +7944,18 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 2 _doScroller: - 8.402778e-01 + 0.84027777777777779 - 256 + -2147483392 {{-100, -100}, {574, 15}} 1 _doScroller: - 1.000000e+00 - 9.456522e-01 + 1 + 0.94565220000000005 {{1, 34}, {278, 121}} @@ -7931,7 +7971,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 {{0, 0}, {1440, 878}} {120, 119} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} createTableSyntaxWindow @@ -7944,7 +7984,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 View - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} {213, 107} @@ -7998,16 +8038,17 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.520000e+02 + 352 1 2913 + 0 + - YES - + YES NSBackgroundColor NSColor @@ -8018,7 +8059,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - + @@ -8044,18 +8085,18 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 _doScroller: - 1.000000e+00 + 1 - 256 + -2147483392 {{-100, -100}, {87, 18}} 257 _doScroller: - 1.000000e+00 - 9.456522e-01 + 1 + 0.94565220000000005 {{20, 45}, {365, 180}} @@ -8092,7 +8133,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 {{0, 0}, {1440, 878}} {213, 129} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} 31 @@ -8102,7 +8143,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 MySQL Help NSPanel - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} {351, 120} @@ -8114,7 +8155,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 274 YES - + YES Apple HTML pasteboard type Apple PDF pasteboard type @@ -8142,7 +8183,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + YES WebKitDefaultFixedFontSize WebKitDefaultFontSize @@ -8150,9 +8191,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - - + + + @@ -8180,9 +8221,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 130560 0 search + _searchFieldSearch: - 138690815 0 @@ -8197,7 +8238,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES YES - + YES AXDescription NSAccessibilityEncodedAttributesValueType @@ -8205,13 +8246,13 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES cancel - + + _searchFieldCancel: - 138690815 0 @@ -8276,7 +8317,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - 3.200000e+01 + 32 NSImage NSLeftFacingTriangleTemplate @@ -8285,7 +8326,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 0 - 3.200000e+01 + 32 NSImage NSListViewTemplate @@ -8296,7 +8337,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 0 - 3.200000e+01 + 32 NSImage NSRightFacingTriangleTemplate @@ -8407,23 +8448,23 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - 4.800000e+01 + 48 MySQL - U2VhcmNoIGluIE15U1FMIEhlbHAgIFvih6fijJhNXQ + Search in MySQL Help [⇧⌘M] YES 0 - 4.800000e+01 + 48 Page - U2VhcmNoIGluIGN1cnJlbnQgcGFnZSBb4oen4oyYUF0 + Search in current page [⇧⌘P] 1 0 - 4.800000e+01 + 48 Web - U2VhcmNoIGluIHRoZSBvbmxpbmUgZG9jdW1lbnRhdGlvbiBb4oen4oyYV10 + Search in the online documentation [⇧⌘W] 2 0 @@ -8496,7 +8537,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 {{0, 0}, {1280, 1002}} {351, 136} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} MYSQL_HELP_WINDOW @@ -8509,7 +8550,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 View - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} {350, 250} @@ -8636,12 +8677,12 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES field - 2.100000e+02 - 1.500000e+01 - 1.000000e+03 + 210 + 15 + 1000 - 75628032 - 0 + 75628096 + 2048 Field @@ -8665,12 +8706,12 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 value - 2.070000e+02 - 4.000000e+01 - 1.000000e+03 + 207 + 40 + 1000 - 75628032 - 0 + 75628096 + 2048 Value @@ -8691,17 +8732,20 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 2.000000e+01 + 20 1379958784 + + 1 1 15 0 YES + 0 {{1, 17}, {423, 141}} @@ -8719,17 +8763,17 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 _doScroller: - 9.929078e-01 + 0.99290780000000001 - 256 + -2147483392 {{-100, -100}, {227, 11}} 257 _doScroller: - 9.904762e-01 + 0.99047620000000003 @@ -8790,7 +8834,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 1 Helvetica - 1.300000e+01 + 13 16 @@ -8811,8 +8855,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 137887744 Import - 1 + 1 -2038284033 1 @@ -8858,8 +8902,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 134217728 - 1 + 1 -2030812929 34 @@ -8893,7 +8937,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 {{0, 0}, {1920, 1178}} {350, 272} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} 9 @@ -8957,8 +9001,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 138018816 Save - 1 + 1 -2038284033 1 @@ -9026,7 +9070,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 Secure Text Input Sheet NSPanel - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} 256 @@ -9130,18 +9174,41 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 {338, 138} {{0, 0}, {1280, 778}} - {3.40282e+38, 3.40282e+38} + {1.79769e+308, 1.79769e+308} - + 256 YES + + + 265 + {{17, 18}, {389, 18}} + + + YES + + 67239424 + 131072 + Low-memory export (May block server during export) + + + 1211912703 + 2 + + + + 200 + 25 + + 256 - {{28, 20}, {106, 14}} + {{28, 43}, {106, 14}} + YES 68288064 @@ -9156,8 +9223,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 - {{17, 45}, {117, 14}} + {{17, 68}, {117, 14}} + YES 68288064 @@ -9172,8 +9240,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 257 - {{353, 16}, {54, 22}} + {{353, 39}, {54, 22}} + YES 343014977 @@ -9203,10 +9272,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -9234,11 +9303,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -9248,14 +9317,16 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 257 - {{235, 20}, {113, 14}} + {{235, 43}, {113, 14}} + YES 68288064 @@ -9270,8 +9341,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 257 - {{353, 41}, {54, 22}} + {{353, 64}, {54, 22}} + YES 343014977 @@ -9287,7 +9359,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES \ - Ig + " @@ -9300,10 +9372,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -9331,11 +9403,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -9345,14 +9417,16 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 257 - {{246, 45}, {102, 14}} + {{246, 68}, {102, 14}} + YES 68288064 @@ -9367,8 +9441,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 - {{139, 41}, {54, 22}} + {{139, 64}, {54, 22}} + YES 343014977 @@ -9398,10 +9473,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -9429,11 +9504,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -9443,19 +9518,21 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 256 - {{139, 16}, {54, 22}} + {{139, 39}, {54, 22}} + YES 343014977 132096 - Ig + " YES @@ -9465,7 +9542,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES YES - Ig + " @@ -9479,10 +9556,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -9510,11 +9587,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -9524,14 +9601,16 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 256 - {{17, 68}, {172, 18}} + {{17, 91}, {172, 18}} + YES -2080244224 @@ -9549,12 +9628,14 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - {424, 104} + {424, 127} + + NSView NSResponder - + 256 YES @@ -9571,8 +9652,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 - {198, 107} + {198, 149} + YES @@ -9583,12 +9665,12 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES switch - 1.500000e+01 - 1.500000e+01 - 1.000000e+03 + 15 + 15 + 1000 - 75628032 - 0 + 75628096 + 2048 @@ -9610,12 +9692,12 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 tables - 1.770000e+02 - 4.000000e+01 - 1.000000e+03 + 177 + 40 + 1000 - 75628032 - 0 + 75628096 + 2048 @@ -9634,20 +9716,24 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.500000e+01 + 15 306184192 + + 4 15 0 YES + 0 - {{1, 1}, {198, 107}} + {{1, 1}, {198, 149}} + @@ -9656,26 +9742,29 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 - {{199, 1}, {11, 107}} + {{199, 1}, {11, 149}} + 256 _doScroller: - 6.294118e-01 + 0.62941179999999997 - 256 + -2147483392 {{-100, -100}, {227, 11}} + 257 _doScroller: - 9.904762e-01 + 0.99047620000000003 - {{20, 20}, {211, 109}} + {{20, 20}, {211, 151}} + 18 @@ -9686,8 +9775,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 265 - {{237, 102}, {26, 28}} + {{237, 144}, {26, 28}} + YES 67239424 @@ -9709,8 +9799,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 257 - {{237, 45}, {26, 28}} + {{237, 46}, {26, 28}} + 1 YES @@ -9718,8 +9809,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 134348800 select all - 1 + 1 116670719 2 @@ -9735,8 +9826,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 257 - {{237, 15}, {26, 28}} + {{237, 16}, {26, 28}} + YES 67239424 @@ -9759,8 +9851,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 265 - {{288, 52}, {151, 18}} + {{288, 94}, {151, 18}} + YES 67239424 @@ -9780,8 +9873,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 265 - {{288, 32}, {151, 18}} + {{288, 74}, {151, 18}} + YES 67239424 @@ -9801,8 +9895,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 265 - {{288, 72}, {118, 18}} + {{288, 114}, {118, 18}} + YES -2080244224 @@ -9822,8 +9917,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 265 - {{288, 92}, {110, 18}} + {{288, 134}, {110, 18}} + YES -2080244224 @@ -9843,8 +9939,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 265 - {{288, 112}, {151, 18}} + {{288, 154}, {151, 18}} + YES -2080244224 @@ -9864,8 +9961,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 268 - {{306, 22}, {141, 11}} + {{306, 64}, {141, 11}} + YES 68288064 @@ -9873,7 +9971,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 May block server during export LucidaGrande - 9.000000e+00 + 9 3614 @@ -9882,20 +9980,62 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - {457, 149} + {457, 191} + + NSView NSResponder - + 256 YES + + + 265 + {{288, 31}, {151, 18}} + + + YES + + 67239424 + 131072 + Low-memory export + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 268 + {{306, 21}, {141, 11}} + + + YES + + 68288064 + 272892928 + May block server during export + + + + + + 257 - {{291, 65}, {54, 22}} + {{291, 100}, {54, 22}} + YES 343014977 @@ -9911,7 +10051,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES \ - Ig + " @@ -9924,10 +10064,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -9955,11 +10095,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -9969,14 +10109,16 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 257 - {{288, 18}, {172, 18}} + {{288, 53}, {172, 18}} + YES -2080244224 @@ -9996,8 +10138,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 - {{348, 95}, {102, 14}} + {{348, 130}, {102, 14}} + YES 67239424 @@ -10012,8 +10155,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 257 - {{348, 70}, {102, 14}} + {{348, 105}, {102, 14}} + YES 67239424 @@ -10028,8 +10172,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 - {{348, 120}, {113, 14}} + {{348, 155}, {113, 14}} + YES 67239424 @@ -10044,8 +10189,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 257 - {{291, 40}, {54, 22}} + {{291, 75}, {54, 22}} + YES 343014977 @@ -10075,10 +10221,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -10106,11 +10252,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -10120,14 +10266,16 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 257 - {{348, 45}, {113, 14}} + {{348, 80}, {113, 14}} + YES 67239424 @@ -10142,13 +10290,14 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 - {{291, 90}, {54, 22}} + {{291, 125}, {54, 22}} + YES 343014977 132096 - Ig + " YES @@ -10158,7 +10307,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES YES - Ig + " @@ -10172,10 +10321,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -10203,11 +10352,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -10217,14 +10366,16 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 256 - {{291, 115}, {54, 22}} + {{291, 150}, {54, 22}} + YES 343014977 @@ -10254,10 +10405,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -10285,11 +10436,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -10299,14 +10450,16 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 257 - {{237, 46}, {26, 28}} + {{237, 47}, {26, 28}} + 1 YES @@ -10314,8 +10467,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 134348800 select all - 1 + 1 116670719 2 @@ -10328,8 +10481,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 265 - {{237, 110}, {26, 28}} + {{237, 145}, {26, 28}} + YES 67239424 @@ -10351,8 +10505,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 257 - {{237, 16}, {26, 28}} + {{237, 17}, {26, 28}} + YES 67239424 @@ -10382,8 +10537,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 - {198, 115} + {198, 149} + YES @@ -10394,12 +10550,12 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES switch - 1.500000e+01 - 1.500000e+01 - 1.000000e+03 + 15 + 15 + 1000 - 75628032 - 0 + 75628096 + 2048 @@ -10421,12 +10577,12 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 tables - 1.770000e+02 - 4.000000e+01 - 1.000000e+03 + 177 + 40 + 1000 - 75628032 - 0 + 75628096 + 2048 @@ -10445,20 +10601,24 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.500000e+01 + 15 306184192 + + 4 15 0 YES + 0 - {{1, 1}, {198, 115}} + {{1, 1}, {198, 149}} + @@ -10467,26 +10627,29 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 - {{199, 1}, {11, 115}} + {{199, 1}, {11, 149}} + 256 _doScroller: - 6.764706e-01 + 0.67647060000000003 - 256 + -2147483392 {{-100, -100}, {227, 11}} + 257 _doScroller: - 9.904762e-01 + 0.99047620000000003 - {{20, 20}, {211, 117}} + {{20, 21}, {211, 151}} + 18 @@ -10495,22 +10658,64 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 QSAAAEEgAABBiAAAQYgAAA - {478, 157} + {478, 192} + + NSView NSResponder - + 256 YES + + + 265 + {{288, 155}, {151, 18}} + + + YES + + 67239424 + 131072 + Low-memory export + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 268 + {{306, 145}, {141, 11}} + + + YES + + 68288064 + 272892928 + May block server during export + + + + + + 257 {{237, 46}, {26, 28}} + 1 YES @@ -10518,8 +10723,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 134348800 select all - 1 + 1 116670719 2 @@ -10534,6 +10739,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 257 {{237, 16}, {26, 28}} + YES 67239424 @@ -10553,8 +10759,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 265 - {{237, 110}, {26, 28}} + {{237, 144}, {26, 28}} + YES 67239424 @@ -10586,8 +10793,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 - {198, 115} + {198, 149} + YES @@ -10598,12 +10806,12 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES switch - 1.500000e+01 - 1.500000e+01 - 1.000000e+03 + 15 + 15 + 1000 - 75628032 - 0 + 75628096 + 2048 @@ -10625,12 +10833,12 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 tables - 1.770000e+02 - 4.000000e+01 - 1.000000e+03 + 177 + 40 + 1000 - 75628032 - 0 + 75628096 + 2048 @@ -10649,20 +10857,24 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.500000e+01 + 15 306184192 + + 4 15 0 YES + 0 - {{1, 1}, {198, 115}} + {{1, 1}, {198, 149}} + @@ -10671,26 +10883,29 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 256 - {{199, 1}, {11, 115}} + {{199, 1}, {11, 149}} + 256 _doScroller: - 6.764706e-01 + 0.67647060000000003 - 256 + -2147483392 {{-100, -100}, {227, 11}} + 257 _doScroller: - 9.904762e-01 + 0.99047620000000003 - {{20, 20}, {211, 117}} + {{20, 20}, {211, 151}} + 18 @@ -10699,7 +10914,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 QSAAAEEgAABBiAAAQYgAAA - {281, 157} + {478, 191} + + NSView @@ -10750,7 +10967,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 343014977 132096 - Ig + " YES @@ -10760,7 +10977,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES YES - Ig + " @@ -10774,10 +10991,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -10805,11 +11022,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -10819,6 +11036,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 @@ -10858,7 +11076,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES \ - Ig + " @@ -10871,10 +11089,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -10902,11 +11120,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -10916,6 +11134,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 @@ -10969,10 +11188,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -11000,11 +11219,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -11014,6 +11233,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 @@ -11068,10 +11288,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - 1.000000e+01 - 1.000000e+01 - 1.000000e+03 + + 10 + 10 + 1000 75628032 0 @@ -11100,11 +11320,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - 3.000000e+00 - 2.000000e+00 + 3 + 2 - 1.600000e+01 + 16 tableViewAction: -765427712 @@ -11114,6 +11334,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 15 0 YES + 0 @@ -11289,7 +11510,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - QWRkIERhdGFiYXNl4oCmA + Add Database… 2147483647 @@ -11332,7 +11553,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - 2.700000e+01 + 27 Back @@ -11340,7 +11561,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 0 - 2.700000e+01 + 27 Forward @@ -11368,7 +11589,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 265 YES - + YES Apple PDF pasteboard type Apple PICT pasteboard type @@ -11410,7 +11631,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 disabledControlTextColor 3 - MC4zMzMzMzMzNAA + MC4zMzMzMzMzMzMzAA @@ -11445,9 +11666,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 130560 0 search + _searchFieldSearch: - 138690815 0 @@ -11462,7 +11683,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES YES - + YES AXDescription NSAccessibilityEncodedAttributesValueType @@ -11470,13 +11691,13 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES cancel - + + _searchFieldCancel: - 138690815 0 @@ -11518,9 +11739,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 130560 0 search + _searchFieldSearch: - 138690815 0 @@ -11535,7 +11756,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES YES - + YES AXDescription NSAccessibilityEncodedAttributesValueType @@ -11543,13 +11764,13 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES cancel - + + _searchFieldCancel: - 138690815 0 @@ -15477,7 +15698,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 values._dummy YES - + YES NSMultipleValuesPlaceholder NSNoSelectionPlaceholder @@ -15486,10 +15707,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - - - + + + + 2 @@ -15513,34 +15734,56 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 6519 + + + csvFullStreamingSwitch + + + + 6524 + + + + multiCSVFullStreamingSwitch + + + + 6529 + + + + multiXMLFullStreamingSwitch + + + + 6534 + YES 0 - - YES - + -2 - - RmlsZSdzIE93bmVyA + + File's Owner -1 - + First Responder -3 - + Application @@ -15550,7 +15793,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + SP Document Window @@ -15565,25 +15808,25 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 67 - + TableContent 68 - + TablesList 69 - + TableSource 134 - + CustomQuery @@ -15593,7 +15836,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + New Index Sheet @@ -15687,7 +15930,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 362 - + TableDump @@ -15697,7 +15940,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Key Sheet @@ -15755,7 +15998,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Duplicate Table Sheet @@ -15823,7 +16066,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + New Database Sheet @@ -15883,7 +16126,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Field Value Sheet @@ -15935,8 +16178,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 + - + Export CSV Accessory View @@ -16027,7 +16271,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Server Variables Sheet @@ -16091,16 +16335,16 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - + + - + exportDumpView @@ -16212,7 +16456,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Error Sheet @@ -16274,12 +16518,14 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - - + + + + - + exportMultipleCSVView @@ -16434,12 +16680,14 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - - + + + + - + exportMultipleXMLView @@ -16511,13 +16759,13 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 1277 - + SPExtendedTableInfo 1907 - + Shared User Defaults Controller @@ -16979,7 +17227,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Create Table Syntax HUD @@ -17014,7 +17262,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - + Custom Toolbar Views @@ -17055,7 +17303,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 4488 - + SPTableInfo @@ -17082,7 +17330,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - + Import CSV Accessory View @@ -17287,7 +17535,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + CSV Field Mapping Sheet @@ -17505,7 +17753,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 4702 - + SPTableData @@ -17725,7 +17973,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + New Table Sheet @@ -17979,7 +18227,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 5377 - + SPExportController @@ -19246,7 +19494,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Help Panel @@ -19576,7 +19824,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 5567 - + SPTableRelations @@ -19670,7 +19918,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + New RelationSheet @@ -20083,7 +20331,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Rename Table Sheet @@ -20475,7 +20723,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 5814 - + SPDatabaseData @@ -20596,7 +20844,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - + Title Icon View @@ -20798,7 +21046,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Progress Sheet @@ -21016,7 +21264,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - + Table List Menu @@ -21052,7 +21300,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - + Table Structure Menu @@ -21072,7 +21320,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Table Indexes Menu @@ -21092,7 +21340,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 - + Table Content Menu @@ -21112,7 +21360,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Table Relations Menu @@ -21283,7 +21531,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 6297 - + SPHistoryController @@ -21536,7 +21784,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Query Favorite Sheet @@ -21625,7 +21873,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Query Favorite Search @@ -21654,7 +21902,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Query History Search @@ -21698,7 +21946,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES - + Secure Text Input Sheet @@ -21798,14 +22046,82 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 + + 6521 + + + YES + + + + + + 6522 + + + + + 6525 + + + YES + + + + + + 6526 + + + YES + + + + + + 6527 + + + + + 6528 + + + + + 6530 + + + YES + + + + + + 6531 + + + YES + + + + + + 6532 + + + + + 6533 + + + YES - + YES - -1.IBPluginDependency - -2.IBPluginDependency -3.IBPluginDependency -3.ImportedFromIB2 1007.IBPluginDependency @@ -21930,7 +22246,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 125.IBAttributePlaceholdersKey 125.IBPluginDependency 125.ImportedFromIB2 - 1277.IBPluginDependency 1277.ImportedFromIB2 1304.IBPluginDependency 1304.ImportedFromIB2 @@ -21971,7 +22286,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 1325.ImportedFromIB2 133.IBPluginDependency 133.ImportedFromIB2 - 134.IBPluginDependency 134.ImportedFromIB2 144.IBPluginDependency 144.ImportedFromIB2 @@ -22060,6 +22374,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 298.IBPluginDependency 298.ImportedFromIB2 320.IBEditorWindowLastContentRect + 320.IBPluginDependency 320.IBWindowTemplateEditedContentRect 320.ImportedFromIB2 320.windowTemplate.hasMaxSize @@ -22102,7 +22417,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 36.CustomClassName 36.IBPluginDependency 36.ImportedFromIB2 - 362.IBPluginDependency 362.ImportedFromIB2 3754.IBPluginDependency 3755.IBPluginDependency @@ -22255,8 +22569,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 3972.IBPluginDependency 3973.IBPluginDependency 3974.IBPluginDependency + 3976.IBNumberFormatterLocalizesFormatMetadataKey 3976.IBPluginDependency 3987.IBEditorWindowLastContentRect + 3987.IBPluginDependency 3987.IBWindowTemplateEditedContentRect 3987.NSWindowTemplate.visibleAtLaunch 3987.editorWindowContentRectSynchronizationRect @@ -22278,6 +22594,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 4015.CustomClassName 4015.IBPluginDependency 409.IBEditorWindowLastContentRect + 409.IBPluginDependency 409.IBWindowTemplateEditedContentRect 409.ImportedFromIB2 409.windowTemplate.hasMaxSize @@ -22317,7 +22634,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 4485.ImportedFromIB2 4486.CustomClassName 4486.IBPluginDependency - 4488.IBPluginDependency 4503.IBPluginDependency 4504.IBPluginDependency 4521.IBPluginDependency @@ -22367,6 +22683,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 4554.IBPluginDependency 4555.IBPluginDependency 4565.IBEditorWindowLastContentRect + 4565.IBPluginDependency 4565.IBWindowTemplateEditedContentRect 4565.ImportedFromIB2 4565.editorWindowContentRectSynchronizationRect @@ -22421,7 +22738,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 4677.IBPluginDependency 4686.IBPluginDependency 4687.IBPluginDependency - 4702.IBPluginDependency 4741.IBPluginDependency 4741.ImportedFromIB2 4742.IBPluginDependency @@ -22482,6 +22798,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 4777.ImportedFromIB2 4795.IBPluginDependency 5.IBEditorWindowLastContentRect + 5.IBPluginDependency 5.IBViewEditorWindowController.showingLayoutRectangles 5.IBWindowTemplateEditedContentRect 5.ImportedFromIB2 @@ -22494,6 +22811,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 500.IBPluginDependency 500.ImportedFromIB2 501.IBEditorWindowLastContentRect + 501.IBPluginDependency 501.IBWindowTemplateEditedContentRect 501.ImportedFromIB2 501.windowTemplate.hasMaxSize @@ -22577,6 +22895,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 5301.IBPluginDependency 5317.IBPluginDependency 5322.IBEditorWindowLastContentRect + 5322.IBPluginDependency 5322.IBWindowTemplateEditedContentRect 5322.ImportedFromIB2 5322.windowTemplate.hasMaxSize @@ -22654,8 +22973,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 5360.IBPluginDependency 5361.IBPluginDependency 5369.IBPluginDependency - 5377.IBPluginDependency 5428.IBEditorWindowLastContentRect + 5428.IBPluginDependency 5428.IBWindowTemplateEditedContentRect 5428.NSWindowTemplate.visibleAtLaunch 5428.windowTemplate.hasMinSize @@ -22720,7 +23039,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 5564.IBPluginDependency 5565.IBPluginDependency 5566.IBPluginDependency - 5567.IBPluginDependency 557.IBPluginDependency 557.ImportedFromIB2 5578.IBPluginDependency @@ -22736,6 +23054,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 5589.IBPluginDependency 5590.IBPluginDependency 5596.IBEditorWindowLastContentRect + 5596.IBPluginDependency 5596.IBWindowTemplateEditedContentRect 5596.NSWindowTemplate.visibleAtLaunch 5597.IBPluginDependency @@ -22785,6 +23104,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 5642.IBPluginDependency 5643.IBPluginDependency 565.IBEditorWindowLastContentRect + 565.IBPluginDependency 565.IBWindowTemplateEditedContentRect 565.ImportedFromIB2 565.windowTemplate.hasMaxSize @@ -22803,6 +23123,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 5670.IBPluginDependency 5671.IBPluginDependency 5675.IBEditorWindowLastContentRect + 5675.IBPluginDependency 5675.IBWindowTemplateEditedContentRect 5675.ImportedFromIB2 5675.windowTemplate.hasMaxSize @@ -22884,7 +23205,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 581.IBPluginDependency 581.ImportedFromIB2 5810.IBPluginDependency - 5814.IBPluginDependency 5818.IBPluginDependency 5819.IBPluginDependency 582.IBPluginDependency @@ -22925,6 +23245,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 6116.IBPluginDependency 6117.IBPluginDependency 6125.IBEditorWindowLastContentRect + 6125.IBPluginDependency 6125.IBWindowTemplateEditedContentRect 6125.ImportedFromIB2 6125.windowTemplate.hasMinSize @@ -23015,7 +23336,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 6293.IBSegmentedControlTracker.RoundRobinState 6293.IBSegmentedControlTracker.WasGrowing 6294.IBPluginDependency - 6297.IBPluginDependency 6303.IBPluginDependency 6304.IBPluginDependency 6305.IBPluginDependency @@ -23042,6 +23362,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 6371.IBPluginDependency 6372.IBPluginDependency 6405.IBEditorWindowLastContentRect + 6405.IBPluginDependency 6405.IBWindowTemplateEditedContentRect 6405.ImportedFromIB2 6405.windowTemplate.hasMaxSize @@ -23081,6 +23402,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 6466.IBAttributePlaceholdersKey 6466.IBPluginDependency 6492.IBEditorWindowLastContentRect + 6492.IBPluginDependency 6492.IBWindowTemplateEditedContentRect 6492.NSWindowTemplate.visibleAtLaunch 6493.IBPluginDependency @@ -23097,6 +23419,22 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 6516.IBAttributePlaceholdersKey 6516.IBPluginDependency 6517.IBPluginDependency + 6521.IBAttributePlaceholdersKey + 6521.IBPluginDependency + 6521.ImportedFromIB2 + 6522.IBPluginDependency + 6525.IBPluginDependency + 6526.IBAttributePlaceholdersKey + 6526.IBPluginDependency + 6526.ImportedFromIB2 + 6527.IBPluginDependency + 6528.IBPluginDependency + 6530.IBPluginDependency + 6531.IBAttributePlaceholdersKey + 6531.IBPluginDependency + 6531.ImportedFromIB2 + 6532.IBPluginDependency + 6533.IBPluginDependency 654.IBPluginDependency 654.ImportedFromIB2 655.IBPluginDependency @@ -23107,7 +23445,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 663.ImportedFromIB2 669.IBPluginDependency 669.ImportedFromIB2 - 67.IBPluginDependency 67.ImportedFromIB2 670.IBPluginDependency 670.ImportedFromIB2 @@ -23124,15 +23461,14 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 677.CustomClassName 677.IBPluginDependency 677.ImportedFromIB2 - 68.IBPluginDependency 68.ImportedFromIB2 - 69.IBPluginDependency 69.ImportedFromIB2 711.IBPluginDependency 711.ImportedFromIB2 713.IBPluginDependency 713.ImportedFromIB2 714.IBEditorWindowLastContentRect + 714.IBPluginDependency 714.IBWindowTemplateEditedContentRect 714.ImportedFromIB2 714.editorWindowContentRectSynchronizationRect @@ -23154,6 +23490,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 835.IBPluginDependency 835.ImportedFromIB2 839.IBEditorWindowLastContentRect + 839.IBPluginDependency 839.IBWindowTemplateEditedContentRect 839.ImportedFromIB2 839.editorWindowContentRectSynchronizationRect @@ -23206,6 +23543,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 935.IBPluginDependency 935.ImportedFromIB2 959.IBEditorWindowLastContentRect + 959.IBPluginDependency 959.IBWindowTemplateEditedContentRect 959.ImportedFromIB2 959.windowTemplate.hasMaxSize @@ -23226,13 +23564,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 YES com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23242,9 +23578,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23254,9 +23590,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23266,7 +23602,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23276,12 +23612,12 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - - {{177, 464}, {478, 157}} + + {{177, 429}, {478, 192}} com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23291,15 +23627,15 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23309,9 +23645,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23321,7 +23657,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23331,9 +23667,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23343,7 +23679,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23353,7 +23689,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23363,18 +23699,18 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - - {{0, 677}, {281, 157}} + + {{177, 216}, {478, 191}} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23384,7 +23720,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23394,7 +23730,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23404,30 +23740,30 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip ToolTip - Q2hvb3NlIGEgcXVlcnkgZnJvbSB5b3VyIHJlY2VudCBxdWVyaWVzICjijKXijJhIKQ + Choose a query from your recent queries (⌥⌘H) com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + {{323, 485}, {215, 98}} com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23437,94 +23773,91 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8 com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip ToolTip - Q2hvb3NlIGEgZmF2b3JpdGUgZnJvbSB0aGUgbWVudSBvciBzYXZlIHF1ZXJpZXMgdG8gdGhlIGZhdm9y -aXRlcyAo4oyl4oyYRik + Choose a favorite from the menu or save queries to the favorites (⌥⌘F) com.apple.InterfaceBuilder.CocoaPlugin - + {{516, 546}, {215, 37}} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + CMTextView com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin YES - + ToolTip ToolTip - UnVuIGFsbCBxdWVyaWVzIGluIHRoZSBlZGl0b3IgKOKMmFIsIEVudGVyIG9yIGZuLVJldHVybik + Run all queries in the editor (⌘R, Enter or fn-Return) com.apple.InterfaceBuilder.CocoaPlugin - + + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - + CMCopyTable com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23534,12 +23867,12 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin - + {{338, 798}, {99, 23}} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23549,41 +23882,41 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin - + {{710, 843}, {89, 20}} com.apple.InterfaceBuilder.CocoaPlugin - + {{535, 926}, {92, 23}} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + SPTableView com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + SPTableView com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + InitialTabViewItem @@ -23593,54 +23926,55 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin YES - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + SPTableView com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + {{210, 465}, {262, 139}} + com.apple.InterfaceBuilder.CocoaPlugin {{210, 465}, {262, 139}} - - - + + + {3.40282e+38, 3.40282e+38} {213, 107} com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23650,17 +23984,17 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23670,11 +24004,11 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23684,20 +24018,19 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + CMCopyTable com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -23708,7 +24041,7 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -23766,81 +24099,81 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -23849,13 +24182,15 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin {{172, 622}, {280, 162}} + com.apple.InterfaceBuilder.CocoaPlugin {{172, 622}, {280, 162}} - + {{115, 214}, {588, 350}} - - + + {3.40282e+38, 3.40282e+38} {120, 100} com.apple.InterfaceBuilder.CocoaPlugin @@ -23872,20 +24207,21 @@ aXRlcyAo4oyl4oyYRik ImageAndTextCell com.apple.InterfaceBuilder.CocoaPlugin {{355, 517}, {306, 122}} + com.apple.InterfaceBuilder.CocoaPlugin {{355, 517}, {306, 122}} - - - + + + {3.40282e+38, 3.40282e+38} {213, 107} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23895,27 +24231,27 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ImageAndTextCell com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -23923,10 +24259,9 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin {{173, 658}, {417, 135}} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -23937,9 +24272,9 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23949,9 +24284,9 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23961,7 +24296,7 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23971,9 +24306,9 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -23983,9 +24318,9 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -23996,44 +24331,45 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{603, 243}, {465, 294}} + com.apple.InterfaceBuilder.CocoaPlugin {{603, 243}, {465, 294}} - + {{387, 725}, {432, 282}} - - + + {3.40282e+38, 3.40282e+38} {350, 250} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24051,107 +24387,107 @@ aXRlcyAo4oyl4oyYRik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin {{577, 117}, {228, 379}} com.apple.InterfaceBuilder.CocoaPlugin - + {{67, 289}, {228, 362}} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin {{66, 206}, {944, 550}} - + com.apple.InterfaceBuilder.CocoaPlugin + {{66, 206}, {944, 550}} - - + + {{62, 352}, {845, 504}} - - + + {3.40282e+38, 3.40282e+38} {780, 480} com.apple.InterfaceBuilder.CocoaPlugin - + {{628, 485}, {260, 127}} + com.apple.InterfaceBuilder.CocoaPlugin {{628, 485}, {260, 127}} - - - + + + {600, 127} {260, 127} com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip ToolTip - UnVuIHRoZSBxdWVyeSB0aGF0IHRoZSB0ZXh0IGN1cnNvciBpcyBjdXJyZW50bHkgd2l0aGluLCBvciB0 -aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik + Run the query that the text cursor is currently within, or the active selection (⌥⌘R) com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin ToolTip ToolTip - QWRkIGZpZWxkICjijKXijJhBKQ + Add field (⌥⌘A) com.apple.InterfaceBuilder.CocoaPlugin @@ -24161,7 +24497,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik ToolTip - UmVmcmVzaCB0YWJsZSBzdHJ1Y3R1cmUgKOKMmFIpA + Refresh table structure (⌘R) com.apple.InterfaceBuilder.CocoaPlugin @@ -24171,7 +24507,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik ToolTip - RGVsZXRlIHNlbGVjdGVkIGZpZWxkICjijKspA + Delete selected field (⌫) com.apple.InterfaceBuilder.CocoaPlugin @@ -24181,17 +24517,17 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik ToolTip - RHVwbGljYXRlIHNlbGVjdGVkIG9yIGxhc3QgZmllbGQgZGVmaW5pdGlvbiAo4oyYRCk + Duplicate selected or last field definition (⌘D) com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -24206,7 +24542,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik ToolTip - UmVmcmVzaCB0YWJsZSBpbmRleGVzICjijJhSKQ + Refresh table indexes (⌘R) com.apple.InterfaceBuilder.CocoaPlugin @@ -24223,13 +24559,13 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip ToolTip - QWRkIHJvdyAo4oyl4oyYQSk + Add row (⌥⌘A) com.apple.InterfaceBuilder.CocoaPlugin @@ -24238,7 +24574,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik ToolTip - UmVmcmVzaCB0YWJsZSBjb250ZW50cyAo4oyYUik + Refresh table contents (⌘R) com.apple.InterfaceBuilder.CocoaPlugin @@ -24247,7 +24583,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik ToolTip - RGVsZXRlIHNlbGVjdGVkIHJvdyhzKSAo4oyrKQ + Delete selected row(s) (⌫) com.apple.InterfaceBuilder.CocoaPlugin @@ -24256,7 +24592,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik ToolTip - RHVwbGljYXRlIHNlbGVjdGVkIHJvdyAo4oyYRCk + Duplicate selected row (⌘D) com.apple.InterfaceBuilder.CocoaPlugin @@ -24298,88 +24634,89 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{630, 405}, {269, 142}} + com.apple.InterfaceBuilder.CocoaPlugin {{630, 405}, {269, 142}} - - - + + + {600, 142} {269, 142} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{907, -2}, {228, 379}} com.apple.InterfaceBuilder.CocoaPlugin - + {{67, 289}, {228, 362}} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{317, 217}, {505, 308}} + com.apple.InterfaceBuilder.CocoaPlugin {{317, 217}, {505, 308}} - - + + {351, 120} com.apple.InterfaceBuilder.CocoaPlugin com.apple.WebKitIBPlugin @@ -24398,13 +24735,13 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + - - + + com.apple.InterfaceBuilder.CocoaPlugin - - + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24416,26 +24753,26 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + CMCopyTable com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip ToolTip - QWRkIHRhYmxlIHJlbGF0aW9uICjijKXijJhBKQ + Add table relation (⌥⌘A) com.apple.InterfaceBuilder.CocoaPlugin @@ -24444,7 +24781,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik ToolTip - UmVmcmVzaCB0YWJsZSByZWxhdGlvbnMgKOKMmFIpA + Refresh table relations (⌘R) com.apple.InterfaceBuilder.CocoaPlugin @@ -24453,7 +24790,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik ToolTip - RGVsZXRlIHNlbGVjdGVkIHJlbGF0aW9uKHMpICjijKspA + Delete selected relation(s) (⌫) com.apple.InterfaceBuilder.CocoaPlugin @@ -24463,8 +24800,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24478,19 +24814,20 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{610, 374}, {302, 307}} + com.apple.InterfaceBuilder.CocoaPlugin {{610, 374}, {302, 307}} - + com.apple.InterfaceBuilder.CocoaPlugin YES - 9.200000e+01 + 92 0 - 2.660000e+02 + 266 0 @@ -24539,10 +24876,11 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{456, 425}, {292, 112}} + com.apple.InterfaceBuilder.CocoaPlugin {{456, 425}, {292, 112}} - - - + + + {292, 112} {292, 112} com.apple.InterfaceBuilder.CocoaPlugin @@ -24557,37 +24895,38 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{654, 442}, {260, 112}} + com.apple.InterfaceBuilder.CocoaPlugin {{654, 442}, {260, 112}} - - - + + + {600, 112} {260, 112} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin {{728, 469}, {143, 6}} com.apple.InterfaceBuilder.CocoaPlugin - + {{67, 289}, {228, 362}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24621,7 +24960,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24631,18 +24970,17 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24658,7 +24996,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik {{567, 305}, {110, 20}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24666,7 +25004,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik ToolTip - RWRpdCBUYWJsZSBEZXRhaWxzICjijJg0KQ + Edit Table Details (⌘4) com.apple.InterfaceBuilder.CocoaPlugin @@ -24686,22 +25024,23 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.brandonwalkin.BWToolkit com.brandonwalkin.BWToolkit {{717, 615}, {379, 139}} + com.apple.InterfaceBuilder.CocoaPlugin {{717, 615}, {379, 139}} - - + + {213, 50} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24850,8 +25189,8 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - - + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24861,10 +25200,9 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24876,7 +25214,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24887,22 +25225,23 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{546, 589}, {260, 127}} + com.apple.InterfaceBuilder.CocoaPlugin {{546, 589}, {260, 127}} - - - + + + {600, 127} {260, 127} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24913,9 +25252,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin YES - - YES - + YES @@ -24927,9 +25264,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik com.apple.InterfaceBuilder.CocoaPlugin YES - - YES - + YES @@ -24944,14 +25279,14 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik ToolTip - U2F2ZSBlZGl0b3IgY29udGVudCB0byBGYXZvcml0ZS4gUHJlc3Mg4oyYIHRvIHJlc3RyaWN0IGZvciBj -dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 + Save editor content to Favorite. Press ⌘ to restrict for current query or selection. com.apple.InterfaceBuilder.CocoaPlugin {{370, 428}, {338, 138}} + com.apple.InterfaceBuilder.CocoaPlugin {{370, 428}, {338, 138}} - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -24973,93 +25308,129 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Use very low memory export, however large the table. With some table types like MyISAM this may prevent UPDATES/INSERTS until the table is exported. + + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Use very low memory export, however large the table. With some table types like MyISAM this may prevent UPDATES/INSERTS until the table is exported. + + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - + + ToolTip + + ToolTip + + Use very low memory export, however large the table. With some table types like MyISAM this may prevent UPDATES/INSERTS until the table is exported. + + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - - BWSplitView + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + + BWSplitView + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin - + + com.apple.InterfaceBuilder.CocoaPlugin + {{709, 208}, {381, 247}} + com.apple.InterfaceBuilder.CocoaPlugin {{709, 208}, {381, 247}} - + {{321, 837}, {381, 247}} - - + + {3.40282e+38, 3.40282e+38} {213, 107} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - - {{174, 526}, {424, 104}} + + {{31, 480}, {424, 127}} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + {{356, 287}, {411, 341}} + com.apple.InterfaceBuilder.CocoaPlugin {{356, 287}, {411, 341}} - + {{321, 508}, {411, 341}} - - + + {3.40282e+38, 3.40282e+38} {350, 200} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - - {{193, 707}, {457, 149}} + + {{193, 665}, {457, 191}} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -25069,7 +25440,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -25079,7 +25450,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -25089,7 +25460,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -25099,7 +25470,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -25109,7 +25480,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -25119,7 +25490,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 com.apple.InterfaceBuilder.CocoaPlugin - + ToolTip @@ -25129,31 +25500,30 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 com.apple.InterfaceBuilder.CocoaPlugin - + {{189, 360}, {405, 267}} + com.apple.InterfaceBuilder.CocoaPlugin {{189, 360}, {405, 267}} - - - + + + {3.40282e+38, 3.40282e+38} {213, 107} com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + YES - - YES - + YES @@ -25161,15 +25531,13 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 YES - - YES - + YES - 6519 + 6534 @@ -25183,7 +25551,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 YES - + YES mySQLConnection tableData @@ -25238,12 +25606,13 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSObject YES - + YES chooseQueryFavorite: chooseQueryHistory: closeSheet: filterQueryFavorites: + filterQueryHistory: gearMenuItemSelected: helpSearchFindNextInPage: helpSearchFindPreviousInPage: @@ -25275,11 +25644,12 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 id id id + id YES - + YES affectedRowsText autohelpMenuItem @@ -25302,15 +25672,21 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 multipleLineEditingButton queryFavoriteNameTextField queryFavoritesButton + queryFavoritesSaveAllMenuItem + queryFavoritesSaveAsMenuItem queryFavoritesSearchField queryFavoritesSearchFieldView queryFavoritesSearchMenuItem queryFavoritesSheet queryHistoryButton + queryHistorySearchField + queryHistorySearchFieldView + queryHistorySearchMenuItem runAllButton runSelectionButton runSelectionMenuItem saveQueryFavoriteButton + saveQueryFavoriteGlobal shiftLeftMenuItem shiftRightMenuItem tableDocumentInstance @@ -25342,15 +25718,21 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 id NSTextField id + NSMenuItem + NSMenuItem NSSearchField id NSMenuItem NSWindow id + NSSearchField + id + NSMenuItem id id NSMenuItem NSButton + id NSMenuItem NSMenuItem id @@ -25429,6 +25811,13 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 Source/SPConnectionController.h + + NSObject + + IBProjectSource + Source/SPExporter.h + + NSObject @@ -25451,7 +25840,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSTextView YES - + YES doDecomposedStringWithCanonicalMapping: doDecomposedStringWithCompatibilityMapping: @@ -25509,8 +25898,10 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSObject YES - + YES + cancelExport: + changeExportOutputPath: closeSheet: switchInput: switchTab: @@ -25520,11 +25911,13 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 id id id + id + id YES - + YES exampleNameLabel exportCSVFieldsEscapedField @@ -25539,6 +25932,11 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 exportHTMLIncludeStructureCheck exportInputMatrix exportPDFIncludeStructureCheck + exportPathField + exportProgressIndicator + exportProgressText + exportProgressTitle + exportProgressWindow exportSQLIncludeDropSyntaxCheck exportSQLIncludeErrorsCheck exportSQLIncludeStructureCheck @@ -25583,6 +25981,11 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 id id id + id + id + id + id + id @@ -25595,7 +25998,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSObject YES - + YES reloadTable: updateTableCollation: @@ -25612,7 +26015,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 YES - + YES databaseDataInstance tableCollationPopUpButton @@ -25667,7 +26070,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 YES - + YES historyControl theDocument @@ -25688,7 +26091,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSObject YES - + YES tableDocumentInstance tableListInstance @@ -25709,7 +26112,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSObject YES - + YES infoTable tableDataInstance @@ -25736,7 +26139,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSObject YES - + YES addRelation: closeRelationSheet: @@ -25759,7 +26162,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 YES - + YES addRelationButton addRelationPanel @@ -25820,7 +26223,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSObject YES - + YES addRow: copyRow: @@ -25845,7 +26248,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 YES - + YES addButton argumentField @@ -25914,11 +26317,12 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSDocument YES - + YES addConnectionToFavorites: addDatabase: analyzeTable: + backForwardInHistory: checkTable: checksumTable: chooseDatabase: @@ -25937,7 +26341,6 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 optimizeTable: removeDatabase: repairTable: - saveConnectionAccessoryPasswordButton: saveConnectionSheet: saveServerVariables: setDatabases: @@ -25945,6 +26348,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 showMySQLHelp: showUserManager: showVariables: + validateSaveConnectionAccessory: viewContent: viewQuery: viewRelations: @@ -25987,11 +26391,12 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 id id id + id YES - + YES addDatabaseButton chooseDatabaseButton @@ -26124,7 +26529,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSObject YES - + YES cancelProgressBar: changeFormat: @@ -26153,12 +26558,13 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 YES - + YES addCreateTableSwitch addDropTableSwitch addErrorsSwitch addTableContentSwitch + csvFullStreamingSwitch customQueryInstance errorsSheet errorsView @@ -26194,6 +26600,8 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 importFieldsTerminatedField importFormatPopup importLinesTerminatedField + multiCSVFullStreamingSwitch + multiXMLFullStreamingSwitch recordCountLabel rowDownButton rowUpButton @@ -26248,6 +26656,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 id id id + id NSPopUpButton id id @@ -26264,6 +26673,8 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 id id id + id + id @@ -26284,7 +26695,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSObject YES - + YES addField: addIndex: @@ -26313,7 +26724,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 YES - + YES addFieldButton addIndexButton @@ -26374,7 +26785,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 NSObject YES - + YES addTable: closeSheet: @@ -26401,7 +26812,7 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 YES - + YES addTableButton copyTableButton @@ -26499,32 +26910,136 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 - + YES - CustomQuery + NSActionCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSActionCell.h + + + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSApplicationScripting.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSColorPanel.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSHelpManager.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSPageLayout.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSUserInterfaceItemSearching.h + + + + NSBox + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSBox.h + + + + NSButton + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSButton.h + + + + NSButtonCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSButtonCell.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSComboBox + NSTextField + + IBFrameworkSource + AppKit.framework/Headers/NSComboBox.h + + + + NSComboBoxCell + NSTextFieldCell + + IBFrameworkSource + AppKit.framework/Headers/NSComboBoxCell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSController + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSController.h + + + + NSDocument NSObject YES - + YES - chooseQueryFavorite: - chooseQueryHistory: - closeSheet: - filterQueryFavorites: - filterQueryHistory: - gearMenuItemSelected: - helpSearchFindNextInPage: - helpSearchFindPreviousInPage: - helpSegmentDispatcher: - helpSelectHelpTargetMySQL: - helpSelectHelpTargetPage: - helpSelectHelpTargetWeb: - helpTargetDispatcher: - runAllQueries: - runSelectedQueries: - showHelpForCurrentWord: - showHelpForSearchString: + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: YES @@ -26534,292 +27049,688 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 id id id - id - id - id - id - id - id - id - id - id - id - id - - YES - - YES - affectedRowsText - autohelpMenuItem - autoindentMenuItem - autopairMenuItem - autouppercaseKeywordsMenuItem - clearHistoryMenuItem - commentCurrentQueryMenuItem - commentLineOrSelectionMenuItem - completionListMenuItem - customQueryView - editorFontMenuItem - errorText - helpNavigator - helpSearchField - helpSearchFieldCell - helpTargetSelector - helpWebView - helpWebViewWindow - multipleLineEditingButton - queryFavoriteNameTextField - queryFavoritesButton - queryFavoritesSaveAllMenuItem - queryFavoritesSaveAsMenuItem - queryFavoritesSearchField - queryFavoritesSearchFieldView - queryFavoritesSearchMenuItem - queryFavoritesSheet - queryHistoryButton - queryHistorySearchField - queryHistorySearchFieldView - queryHistorySearchMenuItem - runAllButton - runSelectionButton - runSelectionMenuItem - saveQueryFavoriteButton - saveQueryFavoriteGlobal - shiftLeftMenuItem - shiftRightMenuItem - tableDocumentInstance - tableWindow - textView - valueSheet - valueTextField - - - YES - id - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - CMCopyTable - NSMenuItem - id - NSSegmentedControl - NSSearchField - NSSearchFieldCell - NSSegmentedControl - WebView - NSWindow - id - NSTextField - id - NSMenuItem - NSMenuItem - NSSearchField - id - NSMenuItem - NSWindow - id - NSSearchField - id - NSMenuItem - id - id - NSMenuItem - NSButton - id - NSMenuItem - NSMenuItem - id - id - CMTextView - id - id - + + IBFrameworkSource + AppKit.framework/Headers/NSDocument.h + + + + NSDocument + + IBFrameworkSource + AppKit.framework/Headers/NSDocumentScripting.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSImageCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSImageCell.h + + + + NSImageView + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSImageView.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSMenuItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSMenuItemCell + NSButtonCell + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItemCell.h + + + + NSNumberFormatter + NSFormatter + + IBFrameworkSource + Foundation.framework/Headers/NSNumberFormatter.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAccessibility.h + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDictionaryController.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDragging.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontManager.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontPanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSKeyValueBinding.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSNibLoading.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSOutlineView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSPasteboard.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSavePanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSToolbarItem.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObjectScripting.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPortCoder.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptObjectSpecifiers.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptWhoseTests.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLDownload.h + + + + NSObject + + IBFrameworkSource + Growl.framework/Headers/GrowlApplicationBridge.h + + + + NSObject + + IBFrameworkSource + Sparkle.framework/Headers/SUAppcast.h + + + + NSObject + + IBFrameworkSource + Sparkle.framework/Headers/SUUpdater.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebDownload.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebEditingDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebFrameLoadDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebJavaPlugIn.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebPlugin.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebPluginContainer.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebPolicyDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebResourceLoadDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebScriptObject.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebUIDelegate.h + + + + NSPanel + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSPanel.h + + + + NSPopUpButton + NSButton + + IBFrameworkSource + AppKit.framework/Headers/NSPopUpButton.h + + + + NSPopUpButtonCell + NSMenuItemCell + + IBFrameworkSource + AppKit.framework/Headers/NSPopUpButtonCell.h + + + + NSProgressIndicator + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSProgressIndicator.h + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSScrollView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSScrollView.h + + + + NSScroller + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSScroller.h + + + + NSSearchField + NSTextField + + IBFrameworkSource + AppKit.framework/Headers/NSSearchField.h + + + + NSSearchFieldCell + NSTextFieldCell + + IBFrameworkSource + AppKit.framework/Headers/NSSearchFieldCell.h + + + + NSSecureTextField + NSTextField + + IBFrameworkSource + AppKit.framework/Headers/NSSecureTextField.h + + + + NSSecureTextFieldCell + NSTextFieldCell + + + + NSSegmentedCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSSegmentedCell.h + + + + NSSegmentedControl + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSSegmentedControl.h + + + + NSSplitView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSSplitView.h + + + NSStepper + NSControl - IBDocumentRelativeSource - ../../Source/CustomQuery.h + IBFrameworkSource + AppKit.framework/Headers/NSStepper.h - TableDocument - NSDocument - - YES - - YES - addConnectionToFavorites: - addDatabase: - analyzeTable: - checkTable: - checksumTable: - chooseDatabase: - chooseEncoding: - closeDatabaseSheet: - closeErrorConnectionSheet: - closePasswordSheet: - closeSheet: - copyCreateTableSyntax: - export: - exportMultipleTables: - exportTable: - flushPrivileges: - flushTable: - import: - optimizeTable: - removeDatabase: - repairTable: - saveConnectionAccessoryPasswordButton: - saveConnectionSheet: - saveServerVariables: - setDatabases: - showCreateTableSyntax: - showMySQLHelp: - showUserManager: - showVariables: - viewContent: - viewQuery: - viewRelations: - viewStatus: - viewStructure: - - - YES - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - + NSStepperCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSStepperCell.h - + + + NSTabView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSTabView.h + + + + NSTabViewItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTabViewItem.h + + + + NSTableColumn + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableColumn.h + + + + NSTableHeaderView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSTableHeaderView.h + + + + NSTableView + NSControl + + + + NSText + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSText.h + + + + NSTextField + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTextField.h + + + + NSTextFieldCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSTextFieldCell.h + + + + NSTextView + NSText + + IBFrameworkSource + AppKit.framework/Headers/NSTextView.h + + + + NSUserDefaultsController + NSController + + IBFrameworkSource + AppKit.framework/Headers/NSUserDefaultsController.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSClipView.h + + + + NSView + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSRulerView.h + + + + NSView + NSResponder + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSDrawer.h + + + + NSWindow + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSWindow.h + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSWindowScripting.h + + + + WebView + NSView + YES - + YES - addDatabaseButton - chooseDatabaseButton - connectionErrorDialog - contentViewSplitter - createTableSyntaxWindow - customQueryInstance - customQueryTextView - databaseDataInstance - databaseEncodingButton - databaseNameField - databaseSheet - dbTablesTableView - encodingPopUp - extendedTableInfoInstance - favoritesButton - historyControl - inputTextWindow - inputTextWindowHeader - inputTextWindowMessage - inputTextWindowSecureTextField - listFilterField - queryProgressBar - saveConnectionAccessory - saveConnectionAutoConnect - saveConnectionEncrypt - saveConnectionEncryptString - saveConnectionIncludeData - saveConnectionIncludeQuery - saveConnectionSavePassword - saveConnectionSavePasswordAlert - saveVariablesButton - sidebarGrabber - spExportControllerInstance - spHistoryControllerInstance - syntaxView - syntaxViewContent - tableContentInstance - tableDataInstance - tableDumpInstance - tableInfoCollapseButton - tableInfoTable - tableListSplitter - tableRelationsInstance - tableSourceInstance - tableTabView - tableWindow - tablesListInstance - titleAccessoryView - titleImageView - titleStringView - variablesCountTextField - variablesSearchField - variablesSheet - variablesTableView + goBack: + goForward: + makeTextLarger: + makeTextSmaller: + makeTextStandardSize: + reload: + reloadFromOrigin: + stopLoading: + takeStringURLFrom: + toggleContinuousSpellChecking: + toggleSmartInsertDelete: YES id id - NSWindow - NSSplitView - NSWindow - id - NSTextView - id - id - id - id - NSTableView - NSPopUpButton - id - id - id - id - id - id - id - NSSearchField - id - id - id - id - NSSecureTextField - id - id - id - id - NSButton - id id id id @@ -26827,31 +27738,31 @@ dXJyZW50IHF1ZXJ5IG9yIHNlbGVjdGlvbi4 id id id - NSButton - NSTableView - NSSplitView - id - id - NSTabView - id - id - id - id - id - NSTextField - NSSearchField id id - IBDocumentRelativeSource - ../../Source/TableDocument.h + IBFrameworkSource + WebKit.framework/Headers/WebView.h 0 + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES ../../sequel-pro.xcodeproj 3 diff --git a/Source/TableDump.h b/Source/TableDump.h index 1dba02e2..de659fa2 100644 --- a/Source/TableDump.h +++ b/Source/TableDump.h @@ -76,6 +76,9 @@ IBOutlet id addTableContentSwitch; IBOutlet id addErrorsSwitch; IBOutlet id sqlFullStreamingSwitch; + IBOutlet id csvFullStreamingSwitch; + IBOutlet id multiCSVFullStreamingSwitch; + IBOutlet id multiXMLFullStreamingSwitch; IBOutlet id errorsSheet; IBOutlet id errorsView; IBOutlet id singleProgressSheet; @@ -131,14 +134,14 @@ // Export methods - (BOOL)dumpSelectedTablesAsSqlToFileHandle:(NSFileHandle *)fileHandle; - (BOOL)dumpSchemaAsDotToFileHandle:(NSFileHandle *)fileHandle; -- (BOOL)writeCsvForArray:(NSArray *)array orQueryResult:(MCPResult *)queryResult +- (BOOL)writeCsvForArray:(NSArray *)array orStreamingResult:(MCPStreamingResult *)streamingResult toFileHandle:(NSFileHandle *)fileHandle outputFieldNames:(BOOL)firstLine terminatedBy:(NSString *)terminated enclosedBy:(NSString *)enclosed escapedBy:(NSString *)escaped - lineEnds:(NSString *)lineEnds withNumericColumns:(NSArray *)tableColumnNumericStatus silently:(BOOL)silently; -- (BOOL)writeXmlForArray:(NSArray *)array orQueryResult:(MCPResult *)queryResult + lineEnds:(NSString *)lineEnds withNumericColumns:(NSArray *)tableColumnNumericStatus totalRows:(NSInteger)totalRows silently:(BOOL)silently; +- (BOOL)writeXmlForArray:(NSArray *)array orStreamingResult:(MCPStreamingResult *)streamingResult toFileHandle:(NSFileHandle *)fileHandle - tableName:(NSString *)table withHeader:(BOOL)header silently:(BOOL)silently; + tableName:(NSString *)table withHeader:(BOOL)header totalRows:(NSInteger)totalRows silently:(BOOL)silently; - (NSString *)htmlEscapeString:(NSString *)string; - (NSString *)createViewPlaceholderSyntaxForView:(NSString *)viewName; diff --git a/Source/TableDump.m b/Source/TableDump.m index eaa86510..55f81e1a 100644 --- a/Source/TableDump.m +++ b/Source/TableDump.m @@ -148,6 +148,7 @@ case 6: file = [NSString stringWithFormat:@"%@.csv", [tableDocumentInstance table]]; [savePanel setAccessoryView:exportCSVView]; + [csvFullStreamingSwitch setEnabled:YES]; contextInfo = @"exportTableContentAsCSV"; break; @@ -161,6 +162,7 @@ case 8: file = [NSString stringWithFormat:@"%@ view.csv", [tableDocumentInstance table]]; [savePanel setAccessoryView:exportCSVView]; + [csvFullStreamingSwitch setEnabled:NO]; contextInfo = @"exportBrowseViewAsCSV"; break; @@ -174,6 +176,7 @@ case 10: file = @"customresult.csv"; [savePanel setAccessoryView:exportCSVView]; + [csvFullStreamingSwitch setEnabled:NO]; contextInfo = @"exportCustomResultAsCSV"; break; @@ -277,46 +280,86 @@ } else if ( [contextInfo isEqualToString:@"exportTableContentAsXML"] ) { success = [self exportTables:[NSArray arrayWithObject:[tableDocumentInstance table]] toFileHandle:fileHandle usingFormat:@"xml" usingMulti:NO]; - // Export the current "browse" view to a file in CSV format - } else if ( [contextInfo isEqualToString:@"exportBrowseViewAsCSV"] ) { - success = [self writeCsvForArray:[tableContentInstance currentResult] orQueryResult:nil - toFileHandle:fileHandle - outputFieldNames:[exportFieldNamesSwitch state] - terminatedBy:[exportFieldsTerminatedField stringValue] - enclosedBy:[exportFieldsEnclosedField stringValue] - escapedBy:[exportFieldsEscapedField stringValue] - lineEnds:[exportLinesTerminatedField stringValue] - withNumericColumns:nil - silently:NO]; - - // Export the current "browse" view to a file in XML format - } else if ( [contextInfo isEqualToString:@"exportBrowseViewAsXML"] ) { - success = [self writeXmlForArray:[tableContentInstance currentResult] orQueryResult:nil - toFileHandle:fileHandle - tableName:(NSString *)[tableDocumentInstance table] - withHeader:YES - silently:NO]; - - // Export the current custom query result set to a file in CSV format - } else if ( [contextInfo isEqualToString:@"exportCustomResultAsCSV"] ) { - success = [self writeCsvForArray:[customQueryInstance currentResult] orQueryResult:nil - toFileHandle:fileHandle - outputFieldNames:[exportFieldNamesSwitch state] - terminatedBy:[exportFieldsTerminatedField stringValue] - enclosedBy:[exportFieldsEnclosedField stringValue] - escapedBy:[exportFieldsEscapedField stringValue] - lineEnds:[exportLinesTerminatedField stringValue] - withNumericColumns:nil - silently:NO]; - - // Export the current custom query result set to a file in XML format - } else if ( [contextInfo isEqualToString:@"exportCustomResultAsXML"] ) { - success = [self writeXmlForArray:[customQueryInstance currentResult] orQueryResult:nil - toFileHandle:fileHandle - tableName:@"custom" - withHeader:YES - silently:NO]; + // Export the current "browse" view to a file in CSV or XML format + } else if ( [contextInfo isEqualToString:@"exportBrowseViewAsCSV"] + || [contextInfo isEqualToString:@"exportBrowseViewAsXML"] ) + { + + // Start an indeterminate progress sheet, as getting the current result set can take a significant period of time + [singleProgressTitle setStringValue:[NSString stringWithFormat:NSLocalizedString(@"Exporting content view to CSV", @"title showing that application is saving content view as CSV")]]; + [singleProgressText setStringValue:NSLocalizedString(@"Exporting data...", @"text showing that app is preparing data")]; + [singleProgressBar setUsesThreadedAnimation:YES]; + [singleProgressBar setIndeterminate:YES]; + [NSApp beginSheet:singleProgressSheet modalForWindow:tableWindow modalDelegate:self didEndSelector:nil contextInfo:nil]; + + [singleProgressBar startAnimation:self]; + NSArray *contentViewArray = [tableContentInstance currentResult]; + + if ( [contextInfo isEqualToString:@"exportBrowseViewAsCSV"] ) { + success = [self writeCsvForArray:contentViewArray orStreamingResult:nil + toFileHandle:fileHandle + outputFieldNames:[exportFieldNamesSwitch state] + terminatedBy:[exportFieldsTerminatedField stringValue] + enclosedBy:[exportFieldsEnclosedField stringValue] + escapedBy:[exportFieldsEscapedField stringValue] + lineEnds:[exportLinesTerminatedField stringValue] + withNumericColumns:nil + totalRows:[contentViewArray count] + silently:YES]; + } else { + success = [self writeXmlForArray:contentViewArray orStreamingResult:nil + toFileHandle:fileHandle + tableName:(NSString *)[tableDocumentInstance table] + withHeader:YES + totalRows:[contentViewArray count] + silently:YES]; + } + + // Close the progress sheet + [singleProgressBar stopAnimation:self]; + [NSApp endSheet:singleProgressSheet]; + [singleProgressSheet orderOut:nil]; + // Export the current custom query result set to a file in CSV or XML format + } else if ( [contextInfo isEqualToString:@"exportCustomResultAsCSV"] + || [contextInfo isEqualToString:@"exportCustomResultAsXML"] ) + { + + // Start an indeterminate progress sheet, as getting the current result set can take a significant period of time + [singleProgressTitle setStringValue:[NSString stringWithFormat:NSLocalizedString(@"Exporting custom query view to CSV", @"title showing that application is saving custom query view as CSV")]]; + [singleProgressText setStringValue:NSLocalizedString(@"Exporting data...", @"text showing that app is preparing data")]; + [singleProgressBar setUsesThreadedAnimation:YES]; + [singleProgressBar setIndeterminate:YES]; + [NSApp beginSheet:singleProgressSheet modalForWindow:tableWindow modalDelegate:self didEndSelector:nil contextInfo:nil]; + + [singleProgressBar startAnimation:self]; + NSArray *customQueryViewArray = [customQueryInstance currentResult]; + + if ( [contextInfo isEqualToString:@"exportCustomResultAsCSV"] ) { + success = [self writeCsvForArray:customQueryViewArray orStreamingResult:nil + toFileHandle:fileHandle + outputFieldNames:[exportFieldNamesSwitch state] + terminatedBy:[exportFieldsTerminatedField stringValue] + enclosedBy:[exportFieldsEnclosedField stringValue] + escapedBy:[exportFieldsEscapedField stringValue] + lineEnds:[exportLinesTerminatedField stringValue] + withNumericColumns:nil + totalRows:[customQueryViewArray count] + silently:YES]; + } else { + success = [self writeXmlForArray:customQueryViewArray orStreamingResult:nil + toFileHandle:fileHandle + tableName:@"custom" + withHeader:YES + totalRows:[customQueryViewArray count] + silently:YES]; + } + + // Close the progress sheet + [singleProgressBar stopAnimation:self]; + [NSApp endSheet:singleProgressSheet]; + [singleProgressSheet orderOut:nil]; + // Export multiple tables to a file in CSV format } else if ( [contextInfo isEqualToString:@"exportMultipleTablesAsCSV"] ) { success = [self exportSelectedTablesToFileHandle:fileHandle usingFormat:@"csv"]; @@ -977,7 +1020,7 @@ - (BOOL)dumpSelectedTablesAsSqlToFileHandle:(NSFileHandle *)fileHandle { int i,j,t,rowCount, colCount, lastProgressValue, queryLength; - // int progressBarWidth; + int progressBarWidth; int tableType = SP_TABLETYPE_TABLE; //real tableType will be setup later MCPResult *queryResult; MCPStreamingResult *streamingResult; @@ -1007,6 +1050,8 @@ [singleProgressText displayIfNeeded]; [singleProgressBar setDoubleValue:0]; [singleProgressBar displayIfNeeded]; + progressBarWidth = (int)[singleProgressBar bounds].size.width; + [singleProgressBar setMaxValue:progressBarWidth]; // Open the progress sheet [NSApp beginSheet:singleProgressSheet @@ -1128,7 +1173,7 @@ } // Retrieve the number of rows in the table for progress bar drawing - rowCount = [[[[mySQLConnection queryString:[NSString stringWithFormat:@"SELECT COUNT(1) FROM %@", [tableName backtickQuotedString]]] fetchRowAsArray] objectAtIndex:0] intValue]; + rowCount = [[[[mySQLConnection queryString:[NSString stringWithFormat:@"SELECT COUNT(1) FROM %@", [tableName backtickQuotedString]]] fetchRowAsArray] objectAtIndex:0] integerValue]; // Set up a result set in streaming mode streamingResult = [mySQLConnection streamingQueryString:[NSString stringWithFormat:@"SELECT * FROM %@", [tableName backtickQuotedString]] useLowMemoryBlockingStreaming:([sqlFullStreamingSwitch state] == NSOnState)]; @@ -1163,7 +1208,7 @@ [sqlString setString:@""]; // Update the progress bar - [singleProgressBar setDoubleValue:(j*100/rowCount)]; + [singleProgressBar setDoubleValue:(j*progressBarWidth/rowCount)]; if ((int)[singleProgressBar doubleValue] > lastProgressValue) { lastProgressValue = (int)[singleProgressBar doubleValue]; [singleProgressBar displayIfNeeded]; @@ -1295,7 +1340,10 @@ // Close the progress sheet [NSApp endSheet:singleProgressSheet]; [singleProgressSheet orderOut:nil]; - + + // Restore the default maximum of the progress bar + [singleProgressBar setMaxValue:100]; + // Show errors sheet if there have been errors if ( [errors length] ) { [errorsView setString:errors]; @@ -1461,31 +1509,42 @@ /* - Takes an array and writes it in CSV format to the supplied NSFileHandle + * Takes an array, or a streaming result set, and writes the appropriate data + * in CSV format to the supplied NSFileHandle. + * The field terminators, quotes and escape characters should all be supplied + * together with the line terminators; if an array of numeric column types is + * supplied, processing of rows is significantly sped up as each field does not + * need to be parsed. + * Also takes a totalRows parameter, which is used for drawing progress bars - + * for arrays, this must be accurate, but for streaming result sets it is only + * used for drawing the progress bar. */ -- (BOOL)writeCsvForArray:(NSArray *)array orQueryResult:(MCPResult *)queryResult toFileHandle:(NSFileHandle *)fileHandle +- (BOOL)writeCsvForArray:(NSArray *)array orStreamingResult:(MCPStreamingResult *)streamingResult toFileHandle:(NSFileHandle *)fileHandle outputFieldNames:(BOOL)outputFieldNames terminatedBy:(NSString *)fieldSeparatorString enclosedBy:(NSString *)enclosingString escapedBy:(NSString *)escapeString lineEnds:(NSString *)lineEndString withNumericColumns:(NSArray *)tableColumnNumericStatus + totalRows:(NSInteger)totalRows silently:(BOOL)silently; { + NSAutoreleasePool *csvExportPool; NSStringEncoding tableEncoding = [MCPConnection encodingForMySQLEncoding:[[tableDocumentInstance connectionEncoding] UTF8String]]; - NSMutableString *csvCell = [NSMutableString string]; - NSMutableArray *csvRow = [NSMutableArray array]; + NSMutableString *csvCellString = [NSMutableString string]; + NSArray *csvRow; + id csvCell; NSMutableString *csvString = [NSMutableString string]; NSString *nullString = [NSString stringWithString:[prefs objectForKey:@"NullValue"]]; NSString *escapedEscapeString, *escapedFieldSeparatorString, *escapedEnclosingString, *escapedLineEndString; NSString *dataConversionString; + NSInteger currentRowIndex; NSScanner *csvNumericTester; BOOL quoteFieldSeparators = [enclosingString isEqualToString:@""]; BOOL csvCellIsNumeric; - int i, j, startingRow, totalRows, progressBarWidth, lastProgressValue; - - if (queryResult != nil && [queryResult numOfRows]) [queryResult dataSeek:0]; - + int i, progressBarWidth, lastProgressValue, currentPoolDataLength; + int csvCellCount = 0; + // Detect and restore special characters being used as terminating or line end strings NSMutableString *tempSeparatorString = [NSMutableString stringWithString:fieldSeparatorString]; [tempSeparatorString replaceOccurrencesOfString:@"\\t" withString:@"\t" @@ -1513,7 +1572,9 @@ // Updating the progress bar can take >20% of processing time - store details to only update when required progressBarWidth = (int)[singleProgressBar bounds].size.width; lastProgressValue = 0; + [singleProgressBar setMaxValue:progressBarWidth]; [singleProgressBar setDoubleValue:0]; + [singleProgressBar setIndeterminate:NO]; [singleProgressBar setUsesThreadedAnimation:YES]; [singleProgressBar displayIfNeeded]; @@ -1521,9 +1582,7 @@ // Set the progress text [singleProgressTitle setStringValue:NSLocalizedString(@"Exporting CSV", @"text showing that the application is exporting a CSV")]; - [singleProgressText setStringValue:NSLocalizedString(@"Exporting...", @"text showing that app is exporting to text file")]; - // [singleProgressText displayIfNeeded]; - + [singleProgressText setStringValue:NSLocalizedString(@"Writing...", @"text showing that app is writing text file")]; // Open progress sheet [NSApp beginSheet:singleProgressSheet @@ -1537,134 +1596,156 @@ escapedEnclosingString = [NSString stringWithFormat:@"%@%@", escapeString, enclosingString]; escapedLineEndString = [NSString stringWithFormat:@"%@%@", escapeString, lineEndString]; - // Determine the total number of rows and starting row depending on supplied data format - if (array == nil) { - startingRow = outputFieldNames ? -1 : 0; - totalRows = [queryResult numOfRows]; - } else { - startingRow = outputFieldNames ? 0 : 1; - totalRows = [array count]; + // Set up the starting row; for supplied arrays, which include the column + // headers as the first row, decide whether to skip the first row. + currentRowIndex = 0; + if (array && !outputFieldNames) { + currentRowIndex++; } - - // Walk through the supplied data constructing the CSV string - for ( i = startingRow ; i < totalRows ; i++ ) { - - // Update the progress bar - if (totalRows) [singleProgressBar setDoubleValue:((i+1)*100/totalRows)]; - if ((int)[singleProgressBar doubleValue] > lastProgressValue) { - lastProgressValue = (int)[singleProgressBar doubleValue]; - [singleProgressBar displayIfNeeded]; - } - - // Retrieve the row from the supplied data - if (array == nil) { + + // Drop into the processing loop + csvExportPool = [[NSAutoreleasePool alloc] init]; + currentPoolDataLength = 0; + while (1) { + + // Retrieve the next row from the supplied data, either directly from the array... + if (array) { + csvRow = NSArrayObjectAtIndex(array, currentRowIndex); + + // Or by reading an appropriate row from the streaming result + } else { - // Header row - if (i == -1) { - [csvRow setArray:[queryResult fetchFieldNames]]; + // If still requested to read the field names, get the field names + if (outputFieldNames) { + csvRow = [streamingResult fetchFieldNames]; + outputFieldNames = NO; } else { - [csvRow setArray:[queryResult fetchRowAsArray]]; + csvRow = [streamingResult fetchNextRowAsArray]; + if (!csvRow) break; } - } else { - [csvRow setArray:NSArrayObjectAtIndex(array, i)]; } + // Get the cell count if we don't already have it stored + if (!csvCellCount) csvCellCount = [csvRow count]; + [csvString setString:@""]; - for ( j = 0 ; j < [csvRow count] ; j++ ) { - + for ( i = 0 ; i < csvCellCount ; i++ ) { + csvCell = NSArrayObjectAtIndex(csvRow, i); + // For NULL objects supplied from a queryResult, add an unenclosed null string as per prefs - if ([[csvRow objectAtIndex:j] isKindOfClass:[NSNull class]]) { + if ([csvCell isKindOfClass:[NSNull class]]) { [csvString appendString:nullString]; - if (j < [csvRow count] - 1) [csvString appendString:fieldSeparatorString]; + if (i < csvCellCount - 1) [csvString appendString:fieldSeparatorString]; continue; } // Retrieve the contents of this cell - if ([NSArrayObjectAtIndex(csvRow, j) isKindOfClass:[NSData class]]) { - dataConversionString = [[NSString alloc] initWithData:NSArrayObjectAtIndex(csvRow, j) encoding:tableEncoding]; + if ([csvCell isKindOfClass:[NSData class]]) { + dataConversionString = [[NSString alloc] initWithData:csvCell encoding:tableEncoding]; if (dataConversionString == nil) - dataConversionString = [[NSString alloc] initWithData:NSArrayObjectAtIndex(csvRow, j) encoding:NSASCIIStringEncoding]; - [csvCell setString:[NSString stringWithString:dataConversionString]]; + dataConversionString = [[NSString alloc] initWithData:csvCell encoding:NSASCIIStringEncoding]; + [csvCellString setString:[NSString stringWithString:dataConversionString]]; [dataConversionString release]; } else { - [csvCell setString:[NSArrayObjectAtIndex(csvRow, j) description]]; + [csvCellString setString:[csvCell description]]; } // For NULL values supplied via an array add the unenclosed null string as set in preferences - if ( [csvCell isEqualToString:nullString] ) { + if ( [csvCellString isEqualToString:nullString] ) { [csvString appendString:nullString]; // Add empty strings as a pair of enclosing characters. - } else if ( [csvCell length] == 0 ) { + } else if ( [csvCellString length] == 0 ) { [csvString appendString:enclosingString]; [csvString appendString:enclosingString]; } else { - // Test whether this cell contains a number - if ([NSArrayObjectAtIndex(csvRow, j) isKindOfClass:[NSData class]]) { - csvCellIsNumeric = FALSE; - // If an array of bools supplying information as to whether the column is numeric has been supplied, use it. - } else if (tableColumnNumericStatus != nil) { - csvCellIsNumeric = [NSArrayObjectAtIndex(tableColumnNumericStatus, j) boolValue]; + if (tableColumnNumericStatus != nil) { + csvCellIsNumeric = [NSArrayObjectAtIndex(tableColumnNumericStatus, i) boolValue]; + + // Otherwise, first test whether this cell contains data + } else if ([NSArrayObjectAtIndex(csvRow, i) isKindOfClass:[NSData class]]) { + csvCellIsNumeric = FALSE; // Or fall back to testing numeric content via an NSScanner. } else { - csvNumericTester = [NSScanner scannerWithString:csvCell]; + csvNumericTester = [NSScanner scannerWithString:csvCellString]; csvCellIsNumeric = [csvNumericTester scanFloat:nil] && [csvNumericTester isAtEnd] - && ([csvCell characterAtIndex:0] != '0' - || [csvCell length] == 1 - || ([csvCell length] > 1 && [csvCell characterAtIndex:1] == '.')); + && ([csvCellString characterAtIndex:0] != '0' + || [csvCellString length] == 1 + || ([csvCellString length] > 1 && [csvCellString characterAtIndex:1] == '.')); } // Escape any occurrences of the escaping character - [csvCell replaceOccurrencesOfString:escapeString - withString:escapedEscapeString - options:NSLiteralSearch - range:NSMakeRange(0,[csvCell length])]; + [csvCellString replaceOccurrencesOfString:escapeString + withString:escapedEscapeString + options:NSLiteralSearch + range:NSMakeRange(0, [csvCellString length])]; // Escape any occurrences of the enclosure string if ( ![escapeString isEqualToString:enclosingString] ) { - [csvCell replaceOccurrencesOfString:enclosingString - withString:escapedEnclosingString - options:NSLiteralSearch - range:NSMakeRange(0,[csvCell length])]; + [csvCellString replaceOccurrencesOfString:enclosingString + withString:escapedEnclosingString + options:NSLiteralSearch + range:NSMakeRange(0, [csvCellString length])]; } // Escape occurrences of the line end character - [csvCell replaceOccurrencesOfString:lineEndString - withString:escapedLineEndString - options:NSLiteralSearch - range:NSMakeRange(0,[csvCell length])]; + [csvCellString replaceOccurrencesOfString:lineEndString + withString:escapedLineEndString + options:NSLiteralSearch + range:NSMakeRange(0, [csvCellString length])]; // If the string isn't quoted or otherwise enclosed, escape occurrences of the // field separators if ( quoteFieldSeparators || csvCellIsNumeric ) { - [csvCell replaceOccurrencesOfString:fieldSeparatorString - withString:escapedFieldSeparatorString - options:NSLiteralSearch - range:NSMakeRange(0,[csvCell length])]; + [csvCellString replaceOccurrencesOfString:fieldSeparatorString + withString:escapedFieldSeparatorString + options:NSLiteralSearch + range:NSMakeRange(0, [csvCellString length])]; } // Write out the cell data by appending strings - this is significantly faster than stringWithFormat. if (csvCellIsNumeric) { - [csvString appendString:csvCell]; + [csvString appendString:csvCellString]; } else { [csvString appendString:enclosingString]; - [csvString appendString:csvCell]; + [csvString appendString:csvCellString]; [csvString appendString:enclosingString]; } } - if (j < [csvRow count] - 1) [csvString appendString:fieldSeparatorString]; + if (i < csvCellCount - 1) [csvString appendString:fieldSeparatorString]; } - // Append the line ending to the string for this row + // Append the line ending to the string for this row, and record the length processed for pool flushing [csvString appendString:lineEndString]; + currentPoolDataLength += [csvString length]; // Write it to the fileHandle [fileHandle writeData:[csvString dataUsingEncoding:tableEncoding]]; + + // Update the progress counter and progress bar + currentRowIndex++; + if (totalRows) + [singleProgressBar setDoubleValue:(currentRowIndex*progressBarWidth/totalRows)]; + if ((int)[singleProgressBar doubleValue] > lastProgressValue) { + lastProgressValue = (int)[singleProgressBar doubleValue]; + [singleProgressBar displayIfNeeded]; + } + + // If an array was supplied and we've processed all rows, break + if (array && totalRows == currentRowIndex) break; + + // Drain the autorelease pool as required to keep memory usage low + if (currentPoolDataLength > 250000) { + [csvExportPool drain]; + csvExportPool = [[NSAutoreleasePool alloc] init]; + } } + + [csvExportPool drain]; // Close the progress sheet if it's present if ( !silently ) { @@ -1672,6 +1753,9 @@ [singleProgressSheet orderOut:nil]; } + // Restore the progress bar to a normal maximum + [singleProgressBar setMaxValue:100]; + return TRUE; } @@ -1905,48 +1989,52 @@ /* - Takes an array and writes it in XML format to the supplied NSFileHandle + * Takes an array, or streaming result reference, and writes it in XML + * format to the supplied NSFileHandle. For output, also takes a table + * name for tag construction, and a toggle to control whether the header + * is output. + * Also takes a totalRows parameter, which is used for drawing progress bars - + * for arrays, this must be accurate, but for streaming result sets it is only + * used for drawing the progress bar. */ -- (BOOL)writeXmlForArray:(NSArray *)array orQueryResult:(MCPResult *)queryResult toFileHandle:(NSFileHandle *)fileHandle tableName:(NSString *)table withHeader:(BOOL)header silently:(BOOL)silently +- (BOOL)writeXmlForArray:(NSArray *)array orStreamingResult:(MCPStreamingResult *)streamingResult toFileHandle:(NSFileHandle *)fileHandle tableName:(NSString *)table withHeader:(BOOL)header totalRows:(NSInteger)totalRows silently:(BOOL)silently { + NSAutoreleasePool *xmlExportPool; NSStringEncoding tableEncoding = [MCPConnection encodingForMySQLEncoding:[[tableDocumentInstance connectionEncoding] UTF8String]]; NSMutableArray *xmlTags = [NSMutableArray array]; - NSMutableArray *xmlRow = [NSMutableArray array]; + NSArray *xmlRow; NSMutableString *xmlString = [NSMutableString string]; NSMutableString *xmlItem = [NSMutableString string]; NSString *dataConversionString; - int i,j, startingRow, totalRows, lastProgressValue; - // int progressBarWidth; - - if (queryResult != nil && [queryResult numOfRows]) [queryResult dataSeek:0]; + int i, currentRowIndex, lastProgressValue, progressBarWidth, currentPoolDataLength; + int xmlRowCount = 0; // Updating the progress bar can take >20% of processing time - store details to only update when required - //progressBarWidth = (int)[singleProgressBar bounds].size.width; + progressBarWidth = (int)[singleProgressBar bounds].size.width; lastProgressValue = 0; + [singleProgressBar setMaxValue:progressBarWidth]; [singleProgressBar setDoubleValue:0]; [singleProgressBar displayIfNeeded]; // Set up an array of encoded field names as opening and closing tags - if (array == nil) { - [xmlRow setArray:[queryResult fetchFieldNames]]; + if (array) { + xmlRow = [array objectAtIndex:0]; } else { - [xmlRow setArray:[array objectAtIndex:0]]; + xmlRow = [streamingResult fetchFieldNames]; } - for ( j = 0; j < [xmlRow count]; j++ ) { + for ( i = 0; i < [xmlRow count]; i++ ) { [xmlTags addObject:[NSMutableArray array]]; - [[xmlTags objectAtIndex:j] addObject:[NSString stringWithFormat:@"\t\t<%@>", - [self htmlEscapeString:[[xmlRow objectAtIndex:j] description]]]]; - [[xmlTags objectAtIndex:j] addObject:[NSString stringWithFormat:@"\n", - [self htmlEscapeString:[[xmlRow objectAtIndex:j] description]]]]; + [[xmlTags objectAtIndex:i] addObject:[NSString stringWithFormat:@"\t\t<%@>", + [self htmlEscapeString:[[xmlRow objectAtIndex:i] description]]]]; + [[xmlTags objectAtIndex:i] addObject:[NSString stringWithFormat:@"\n", + [self htmlEscapeString:[[xmlRow objectAtIndex:i] description]]]]; } if ( !silently ) { // Set the progress text [singleProgressTitle setStringValue:NSLocalizedString(@"Exporting XML", @"text showing that the application is exporting XML")]; - [singleProgressTitle displayIfNeeded]; [singleProgressText setStringValue:NSLocalizedString(@"Writing...", @"text showing that app is writing text file")]; - [singleProgressText displayIfNeeded]; // Open progress sheet [NSApp beginSheet:singleProgressSheet @@ -1975,58 +2063,74 @@ [self htmlEscapeString:table]] dataUsingEncoding:tableEncoding]]; - // Determine the total number of rows and starting row depending on supplied data format - if (array == nil) { - startingRow = 0; - totalRows = [queryResult numOfRows]; - } else { - startingRow = 1; - totalRows = [array count]; - } - - // Walk through the array, contructing the XML string. - // Note: the XML array starts at index 1 thus we have to iterate - // to i < totalRows + 1 in order to output the very last row. - for ( i = 1 ; i < totalRows + 1 ; i++ ) { - - // Update the progress bar - if (totalRows) [singleProgressBar setDoubleValue:((i+1)*100/totalRows)]; - if ((int)[singleProgressBar doubleValue] > lastProgressValue) { - lastProgressValue = (int)[singleProgressBar doubleValue]; - [singleProgressBar displayIfNeeded]; - } - - // Retrieve the row from the supplied data - if (array == nil) { - [xmlRow setArray:[queryResult fetchRowAsArray]]; + // Set up the starting row, which is 0 for streaming result sets and + // 1 for supplied arrays which include the column headers as the first row. + currentRowIndex = 0; + if (array) currentRowIndex++; + + // Drop into the processing loop + xmlExportPool = [[NSAutoreleasePool alloc] init]; + currentPoolDataLength = 0; + while (1) { + + // Retrieve the next row from the supplied data, either directly from the array... + if (array) { + xmlRow = NSArrayObjectAtIndex(array, currentRowIndex); + + // Or by reading an appropriate row from the streaming result } else { - [xmlRow setArray:[array objectAtIndex:i]]; + xmlRow = [streamingResult fetchNextRowAsArray]; + if (!xmlRow) break; } + + // Get the cell count if we don't already have it stored + if (!xmlRowCount) xmlRowCount = [xmlRow count]; // Construct the row [xmlString setString:@"\t\n"]; - for ( j = 0 ; j < [xmlRow count] ; j++ ) { + for ( i = 0 ; i < xmlRowCount ; i++ ) { // Retrieve the contents of this tag - if ([[xmlRow objectAtIndex:j] isKindOfClass:[NSData class]]) { - dataConversionString = [[NSString alloc] initWithData:[xmlRow objectAtIndex:j] encoding:tableEncoding]; + if ([NSArrayObjectAtIndex(xmlRow, i) isKindOfClass:[NSData class]]) { + dataConversionString = [[NSString alloc] initWithData:NSArrayObjectAtIndex(xmlRow, i) encoding:tableEncoding]; if (dataConversionString == nil) - dataConversionString = [[NSString alloc] initWithData:[xmlRow objectAtIndex:j] encoding:NSASCIIStringEncoding]; + dataConversionString = [[NSString alloc] initWithData:NSArrayObjectAtIndex(xmlRow, i) encoding:NSASCIIStringEncoding]; [xmlItem setString:[NSString stringWithString:dataConversionString]]; [dataConversionString release]; } else { - [xmlItem setString:[[xmlRow objectAtIndex:j] description]]; + [xmlItem setString:[NSArrayObjectAtIndex(xmlRow, i) description]]; } // Add the opening and closing tag and the contents to the XML string - [xmlString appendString:[[xmlTags objectAtIndex:j] objectAtIndex:0]]; + [xmlString appendString:NSArrayObjectAtIndex(NSArrayObjectAtIndex(xmlTags, i), 0)]; [xmlString appendString:[self htmlEscapeString:xmlItem]]; - [xmlString appendString:[[xmlTags objectAtIndex:j] objectAtIndex:1]]; + [xmlString appendString:NSArrayObjectAtIndex(NSArrayObjectAtIndex(xmlTags, i), 1)]; } [xmlString appendString:@"\t\n"]; + // Record the total length for use with pool flushing + currentPoolDataLength += [xmlString length]; + // Write the row to the filehandle [fileHandle writeData:[xmlString dataUsingEncoding:tableEncoding]]; + + // Update the progress counter and progress bar + currentRowIndex++; + if (totalRows) + [singleProgressBar setDoubleValue:(currentRowIndex*progressBarWidth/totalRows)]; + if ((int)[singleProgressBar doubleValue] > lastProgressValue) { + lastProgressValue = (int)[singleProgressBar doubleValue]; + [singleProgressBar displayIfNeeded]; + } + + // If an array was supplied and we've processed all rows, break + if (array && totalRows == currentRowIndex) break; + + // Drain the autorelease pool as required to keep memory usage low + if (currentPoolDataLength > 250000) { + [xmlExportPool drain]; + xmlExportPool = [[NSAutoreleasePool alloc] init]; + } } // Write the closing tag for the table @@ -2034,12 +2138,17 @@ [self htmlEscapeString:table]] dataUsingEncoding:tableEncoding]]; + [xmlExportPool drain]; + // Close the progress sheet if appropriate if ( !silently ) { [NSApp endSheet:singleProgressSheet]; [singleProgressSheet orderOut:nil]; } - + + // Restore the progress bar to a normal maximum + [singleProgressBar setMaxValue:100]; + return TRUE; } @@ -2070,6 +2179,8 @@ { int i, j; MCPResult *queryResult; + MCPStreamingResult *streamingResult; + NSInteger streamingResultCount; NSString *tableName, *tableColumnTypeGrouping; NSMutableString *infoString = [NSMutableString string]; NSMutableString *errors = [NSMutableString string]; @@ -2167,16 +2278,27 @@ } } - // Retrieve all the content within this table - queryResult = [mySQLConnection queryString:[NSString stringWithFormat:@"SELECT * FROM %@", [tableName backtickQuotedString]]]; - - // Note any errors during retrieval + BOOL useLowMemoryBlockingStreaming; + if ([type isEqualToString:@"csv"]) { + if (multi) + useLowMemoryBlockingStreaming = ([multiCSVFullStreamingSwitch state] == NSOnState); + else + useLowMemoryBlockingStreaming = ([csvFullStreamingSwitch state] == NSOnState); + } else { + useLowMemoryBlockingStreaming = ([multiXMLFullStreamingSwitch state] == NSOnState); + } + + // Perform a COUNT for progress purposes and make a streaming request for the data + streamingResultCount = [[[[mySQLConnection queryString:[NSString stringWithFormat:@"SELECT COUNT(1) FROM %@", [tableName backtickQuotedString]]] fetchRowAsArray] objectAtIndex:0] integerValue]; + streamingResult = [mySQLConnection streamingQueryString:[NSString stringWithFormat:@"SELECT * FROM %@", [tableName backtickQuotedString]] useLowMemoryBlockingStreaming:useLowMemoryBlockingStreaming]; + + // Note any errors during initial query if ( ![[mySQLConnection getLastErrorMessage] isEqualToString:@""] ) { [errors appendString:[NSString stringWithFormat:@"%@\n", [mySQLConnection getLastErrorMessage]]]; } - + // Update the progress text and set the progress bar back to determinate - [singleProgressText setStringValue:[NSString stringWithFormat:NSLocalizedString(@"Table %i of %i (%@): Writing...", @"text showing that app is writing data for table export"), (i+1), [selectedTables count], tableName]]; + [singleProgressText setStringValue:[NSString stringWithFormat:NSLocalizedString(@"Table %i of %i (%@): Writing data...", @"text showing that app is writing data for table export"), (i+1), [selectedTables count], tableName]]; [singleProgressText displayIfNeeded]; [singleProgressBar stopAnimation:self]; [singleProgressBar setUsesThreadedAnimation:NO]; @@ -2187,7 +2309,7 @@ // Use the appropriate export method to write the data to file if ( [type isEqualToString:@"csv"] ) { if (multi) { - [self writeCsvForArray:nil orQueryResult:queryResult + [self writeCsvForArray:nil orStreamingResult:streamingResult toFileHandle:fileHandle outputFieldNames:[exportMultipleFieldNamesSwitch state] terminatedBy:[exportMultipleFieldsTerminatedField stringValue] @@ -2195,9 +2317,10 @@ escapedBy:[exportMultipleFieldsEscapedField stringValue] lineEnds:[exportMultipleLinesTerminatedField stringValue] withNumericColumns:tableColumnNumericStatus + totalRows:streamingResultCount silently:YES]; } else { - [self writeCsvForArray:nil orQueryResult:queryResult + [self writeCsvForArray:nil orStreamingResult:streamingResult toFileHandle:fileHandle outputFieldNames:[exportFieldNamesSwitch state] terminatedBy:[exportFieldsTerminatedField stringValue] @@ -2205,22 +2328,31 @@ escapedBy:[exportFieldsEscapedField stringValue] lineEnds:[exportLinesTerminatedField stringValue] withNumericColumns:tableColumnNumericStatus + totalRows:streamingResultCount silently:YES]; } // Add a spacer to the file [fileHandle writeData:[[NSString stringWithFormat:@"%@%@%@", csvLineEnd, csvLineEnd, csvLineEnd] dataUsingEncoding:connectionEncoding]]; } else if ( [type isEqualToString:@"xml"] ) { - [self writeXmlForArray:nil orQueryResult:queryResult + [self writeXmlForArray:nil orStreamingResult:streamingResult toFileHandle:fileHandle tableName:tableName withHeader:NO + totalRows:streamingResultCount silently:YES]; // Add a spacer to the file [fileHandle writeData:[[NSString stringWithString:@"\n\n\n"] dataUsingEncoding:connectionEncoding]]; } - + + // Release the result set + [streamingResult release]; + + // Note any errors during data retrieval + if ( ![[mySQLConnection getLastErrorMessage] isEqualToString:@""] ) { + [errors appendString:[NSString stringWithFormat:@"%@\n", [mySQLConnection getLastErrorMessage]]]; + } } // For XML output, close the database tag -- cgit v1.2.3