large query result caching (using C API)
MySQL 4.1.0-alpha-max-nt MySQL C API interface Visual C++ 6.0 trying some query when cache is on... it causes ERROR: Lost connection to MySQL sever during query MySQL cache memory used for _this_ query ~900Kb but when cache is off or query result size is less than few Kb, everything is OK. WHY? additional information: /* my.ini BEGIN */ [WinMySQLAdmin] Server=E:/mysql/bin/mysqld-nt.exe QueryInterval=10 [mysqld] basedir = e:/mysql/ datadir = e:/mysql/data/ default-character-set=cp1251 key_buffer_size=64M tmp_table_size=16M table_cache=256 sort_buffer=16M read_buffer_size=1M read_rnd_buffer_size=1M query_cache_size=64M query_cache_limit=5M /* my.ini END */ --- Best regards, Alex. mailto:[EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
mysql error
Hello mysql, MySQL 4.1.0-alpha-max-nt phpMyAdmin 2.5.4 /* BEGIN DUMP */ CREATE TABLE `sp_tovar_vid` ( `id` int(11) NOT NULL auto_increment, `id_tovar_vid` int(11) NOT NULL default '0', `name` varchar(100) NOT NULL default '', `description` varchar(255) NOT NULL default '', UNIQUE KEY `id` (`id`) ) TYPE=InnoDB CHARSET=cp1251; INSERT INTO `sp_tovar_vid` VALUES (1, 0, 'string 1', ''); INSERT INTO `sp_tovar_vid` VALUES (2, 1, 'string 2', ''); INSERT INTO `sp_tovar_vid` VALUES (3, 2, 'string 3', ''); INSERT INTO `sp_tovar_vid` VALUES (4, 0, 'string 4', ''); INSERT INTO `sp_tovar_vid` (`id`,`id_tovar_vid`,`name`,`description`) VALUES ('','0','',''); UPDATE `sp_tovar_vid` SET `id` = '0' WHERE `id` = LAST_INSERT_ID() LIMIT 1 ; /* END DUMP */ /* BEGIN QUERY */ SELECT t1.`id`, CONCAT(if(t3.`name`='','',CONCAT(t3.`name`,' - ')),if(t2.`name`='','',CONCAT(t2.`name`,' - ')),t1.`name`) AS col1, t1.`description` FROM`sp_tovar_vid` AS t1, `sp_tovar_vid` AS t2, `sp_tovar_vid` AS t3 WHERE t1.`id_tovar_vid`=t2.`id` AND t2.`id_tovar_vid`=t3.`id` AND col1'string' ORDER BY col1; /* END QUERY */ QUESTION: why ERROR caused: #1054 - Unknown column 'col1' in 'where clause' result wanted ++--+-+ | id | col1 | description | ++--+-+ | 1 | string 1 | | | 2 | string 1 - string 2 | | | 3 | string 1 - string 2 - string 3 | | | 4 | string 4 | | ++--+-+ 4 rows in set (0.00 sec) /**/ -- Best regards, Alex mailto:[EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re[2]: Tree-like structure: make it simply
Hello Matthew, Friday, December 5, 2003, 2:12:08 AM, you wrote: thanks, but some more see below. [skipped] I have some table: /* BEGIN DUMP */ CREATE TABLE `sp_tovar_vid` ( `id` int(11) NOT NULL auto_increment, `id_tovar_vid` int(11) NOT NULL default '0', `name` varchar(100) NOT NULL default '', `description` varchar(255) NOT NULL default '', UNIQUE KEY `id` (`id`) ); INSERT INTO `sp_tovar_vid` VALUES (0, 0, 'root', 'root category'); INSERT INTO `sp_tovar_vid` VALUES (7, 0, 'cat.1', ''); INSERT INTO `sp_tovar_vid` VALUES (8, 0, 'cat.2', ''); INSERT INTO `sp_tovar_vid` VALUES (9, 0, 'cat.3', ''); INSERT INTO `sp_tovar_vid` VALUES (10, 0, 'cat.4', ''); INSERT INTO `sp_tovar_vid` VALUES (11, 0, 'cat.5', ''); INSERT INTO `sp_tovar_vid` VALUES (12, 7, 'subcat 1', '(to cat.1)'); INSERT INTO `sp_tovar_vid` VALUES (13, 7, 'subcat 2', '(to cat.1)'); INSERT INTO `sp_tovar_vid` VALUES (14, 7, 'subcat 3', '(to cat.1)'); INSERT INTO `sp_tovar_vid` VALUES (15, 9, 'subcat 1', '(to cat.3)'); INSERT INTO `sp_tovar_vid` VALUES (16, 9, 'subcat 2', '(to cat.3)'); INSERT INTO `sp_tovar_vid` VALUES (17, 9, 'subcat 3', '(to cat.3)'); INSERT INTO `sp_tovar_vid` VALUES (18, 13, 'subsubcat 1', '(to subcat.2 to cat.1)'); /* END DUMP / [skipped] _QUESTION 2_: how to display table with columns= ('parent_category.name' ,'category.name')? i tried this: /***/ SELECT t1.`name`,t2.`name` FROM `sp_tovar_vid` AS t1, `sp_tovar_vid` AS t2 WHERE t1.`id`=t2.`id_tovar_vid` ORDER BY t1.`name`,t2.`name`; /***/ How to make it more simply? _QUESTION 3_: how to display string: subsubcat 1 - subcat.2 - cat.1 if we have only `id`=18 ? M use SELECT IF(id=18, true_expression, false expression) FROM table... M I'm not clear what you mean by subsubcat 1 - subcat.2 - cat.1... minus, or M some sort of string concatenation? M true expression might be field1 - field2, or CONCAT(field1, field2, ...) elucidation: i need to run recurse search to build string shown. it means: if we have `id`=18, we must build following string after mentioned recurse search runnnig. string: subsubcat 1 + subcat 2 + cat.1 + root it's tree: /**/ root (`id`=0, `parent`=0) |--cat.1 (`id`=7, `parent`=0) | |-subcat 1 | |--subcat 2 (`id`=13, `parent`=7) | | |-subsubcat 1 (`id`=18, `parent`=13) | |-subcat 3 |-cat.2 |--cat.3 | |-subcat 1 | |-subcat 2 | |-subcat 3 |-cat.4 |-cat.5 /**/ -- Best regards, Alexmailto:[EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Tree-like structure: make it simply
Hello mysql, I have some table: /* BEGIN DUMP */ CREATE TABLE `sp_tovar_vid` ( `id` int(11) NOT NULL auto_increment, `id_tovar_vid` int(11) NOT NULL default '0', `name` varchar(100) NOT NULL default '', `description` varchar(255) NOT NULL default '', UNIQUE KEY `id` (`id`) ); INSERT INTO `sp_tovar_vid` VALUES (0, 0, 'root', 'root category'); INSERT INTO `sp_tovar_vid` VALUES (7, 0, 'cat.1', ''); INSERT INTO `sp_tovar_vid` VALUES (8, 0, 'cat.2', ''); INSERT INTO `sp_tovar_vid` VALUES (9, 0, 'cat.3', ''); INSERT INTO `sp_tovar_vid` VALUES (10, 0, 'cat.4', ''); INSERT INTO `sp_tovar_vid` VALUES (11, 0, 'cat.5', ''); INSERT INTO `sp_tovar_vid` VALUES (12, 7, 'subcat 1', '(to cat.1)'); INSERT INTO `sp_tovar_vid` VALUES (13, 7, 'subcat 2', '(to cat.1)'); INSERT INTO `sp_tovar_vid` VALUES (14, 7, 'subcat 3', '(to cat.1)'); INSERT INTO `sp_tovar_vid` VALUES (15, 9, 'subcat 1', '(to cat.3)'); INSERT INTO `sp_tovar_vid` VALUES (16, 9, 'subcat 2', '(to cat.3)'); INSERT INTO `sp_tovar_vid` VALUES (17, 9, 'subcat 3', '(to cat.3)'); INSERT INTO `sp_tovar_vid` VALUES (18, 13, 'subsubcat 1', '(to subcat.2 to cat.1)'); /* END DUMP / _QUESTION 1_: in what way should i run query to restore table with `id`' like in dump? (`id` is auto_increment) _QUESTION 2_: how to display table with columns= ('parent_category.name' ,'category.name')? i tried this: /***/ SELECT t1.`name`,t2.`name` FROM `sp_tovar_vid` AS t1, `sp_tovar_vid` AS t2 WHERE t1.`id`=t2.`id_tovar_vid` ORDER BY t1.`name`,t2.`name`; /***/ How to make it more simply? _QUESTION 3_: how to display string: subsubcat 1 - subcat.2 - cat.1 if we have only `id`=18 ? -- Best regards, Alex mailto:[EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]