Author Topic: Contact Tab - SQL Error  (Read 51389 times)

betty111111

  • Jr. Member
  • **
  • Posts: 78
    • View Profile
    • Email
Contact Tab - SQL Error
« on: April 23, 2009, 04:05:43 am »
I created a company record and a few contacts via an admin user "admin".  Using a second user if I go to the Contact tab and click on a few workspaces including the Trash (I have not isolated the exact situation that causes it) I am getting the following error:

---------------------------------------------------

Query failed with message 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'co``.`id` AND ( ( ( `created_by_id` = 2) OR ( `pc`.`project_id` = (SELECT `per' at line 161'
Error params:
File:    /home/zi5635/public_html/zinet/goo14b/environment/library/database/adapters/AbstractDBAdapter.class.php
Line:    386
Sql:    SELECT count(*) AS `quantity`, 'Messages' AS `objectName` FROM ( SELECT 'ProjectMessages' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_project_messages` `co` WHERE `trashed_by_id` <> 0 AND `id` IN (SELECT `object_id` FROM `og_workspace_objects` WHERE `object_manager` = 'ProjectMessages' AND `workspace_id` IN (2)) AND ( ( ( `created_by_id` = 2) OR ( EXISTS(SELECT * FROM `og_users` `xx_u`, `og_workspace_objects` `xx_wo` WHERE `xx_u`.`id` = 2 AND `xx_u`.`personal_project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'ProjectMessages' )) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu`, `og_workspace_objects` `xx_wo` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'ProjectMessages' AND `xx_pu`.can_read_messages = true ) ) ) ) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'MessagesComments' AS `objectName` FROM ( SELECT 'Comments' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_comments` WHERE `trashed_by_id` <> 0 AND `rel_object_manager` = 'ProjectMessages' AND `rel_object_id` IN (SELECT `co`.`id` FROM `og_project_messages` `co` WHERE `trashed_by_id` = 0 AND `id` IN (SELECT `object_id` FROM `og_workspace_objects` WHERE `object_manager` = 'ProjectMessages' AND `workspace_id` IN (2)) AND ( ( ( `created_by_id` = 2) OR ( EXISTS(SELECT * FROM `og_users` `xx_u`, `og_workspace_objects` `xx_wo` WHERE `xx_u`.`id` = 2 AND `xx_u`.`personal_project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'ProjectMessages' )) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu`, `og_workspace_objects` `xx_wo` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'ProjectMessages' AND `xx_pu`.can_read_messages = true ) ) ) )) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'Calendar' AS `objectName` FROM ( SELECT 'ProjectEvents' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_project_events` `co` WHERE `trashed_by_id` <> 0 AND `project_id` IN (2) AND ( ( ( `created_by_id` = 2) OR ( `co`.`project_id` = (SELECT `personal_project_id` FROM `og_users` `xx_u` WHERE `xx_u`.`id` = 2)) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `co`.`project_id` AND `xx_pu`.can_read_events = true ) ) ) ) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'CalendarComments' AS `objectName` FROM ( SELECT 'Comments' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_comments` WHERE `trashed_by_id` <> 0 AND `rel_object_manager` = 'ProjectEvents' AND `rel_object_id` IN (SELECT `co`.`id` FROM `og_project_events` `co` WHERE `trashed_by_id` = 0 AND `project_id` IN (2) AND ( ( ( `created_by_id` = 2) OR ( `co`.`project_id` = (SELECT `personal_project_id` FROM `og_users` `xx_u` WHERE `xx_u`.`id` = 2)) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `co`.`project_id` AND `xx_pu`.can_read_events = true ) ) ) )) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'Documents' AS `objectName` FROM ( SELECT 'ProjectFiles' AS `object_manager_value`, `id` as `oid`, `trashed_on` AS `order_value` FROM `og_project_files` `co` WHERE `trashed_by_id` <> 0 AND `id` IN (SELECT `object_id` FROM `og_workspace_objects` WHERE `object_manager` = 'ProjectFiles' AND `workspace_id` IN (2)) AND ( ( ( `created_by_id` = 2) OR ( EXISTS(SELECT * FROM `og_users` `xx_u`, `og_workspace_objects` `xx_wo` WHERE `xx_u`.`id` = 2 AND `xx_u`.`personal_project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'ProjectFiles' )) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu`, `og_workspace_objects` `xx_wo` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'ProjectFiles' AND `xx_pu`.can_read_files = true ) ) ) ) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'DocumentsComments' AS `objectName` FROM ( SELECT 'Comments' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_comments` WHERE `trashed_by_id` <> 0 AND `rel_object_manager` = 'ProjectFiles' AND `rel_object_id` IN (SELECT `co`.`id` FROM `og_project_files` `co` WHERE `trashed_by_id` = 0 AND `id` IN (SELECT `object_id` FROM `og_workspace_objects` WHERE `object_manager` = 'ProjectFiles' AND `workspace_id` IN (2)) AND ( ( ( `created_by_id` = 2) OR ( EXISTS(SELECT * FROM `og_users` `xx_u`, `og_workspace_objects` `xx_wo` WHERE `xx_u`.`id` = 2 AND `xx_u`.`personal_project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'ProjectFiles' )) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu`, `og_workspace_objects` `xx_wo` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'ProjectFiles' AND `xx_pu`.can_read_files = true ) ) ) )) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'FileRevisions' AS `objectName` FROM ( SELECT 'ProjectFileRevisions' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_project_file_revisions` `co` WHERE `trashed_by_id` <> 0 AND `file_id` IN (SELECT `id` FROM `og_project_files` `co` WHERE `trashed_by_id` = 0 AND `id` IN (SELECT `object_id` FROM `og_workspace_objects` WHERE `object_manager` = 'ProjectFiles' AND `workspace_id` IN (2)) AND ( ( ( `created_by_id` = 2) OR ( EXISTS(SELECT * FROM `og_users` `xx_u`, `og_workspace_objects` `xx_wo` WHERE `xx_u`.`id` = 2 AND `xx_u`.`personal_project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'ProjectFiles' )) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu`, `og_workspace_objects` `xx_wo` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'ProjectFiles' AND `xx_pu`.can_read_files = true ) ) ) )) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'Tasks' AS `objectName` FROM ( SELECT 'ProjectTasks' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_project_tasks` `co` WHERE `is_template` = false AND `trashed_by_id` <> 0 AND `is_template` = false AND `project_id` IN (2) AND ( ( ( `created_by_id` = 2) OR ( `co`.`project_id` = (SELECT `personal_project_id` FROM `og_users` `xx_u` WHERE `xx_u`.`id` = 2)) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `co`.`project_id` AND `xx_pu`.can_read_tasks = true ) ) ) ) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'TasksComments' AS `objectName` FROM ( SELECT 'Comments' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_comments` WHERE `trashed_by_id` <> 0 AND `rel_object_manager` = 'ProjectTasks' AND `rel_object_id` IN (SELECT `co`.`id` FROM `og_project_tasks` `co` WHERE `trashed_by_id` = 0 AND `is_template` = false AND `project_id` IN (2) AND ( ( ( `created_by_id` = 2) OR ( `co`.`project_id` = (SELECT `personal_project_id` FROM `og_users` `xx_u` WHERE `xx_u`.`id` = 2)) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `co`.`project_id` AND `xx_pu`.can_read_tasks = true ) ) ) )) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'Milestones' AS `objectName` FROM ( SELECT 'ProjectMilestones' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_project_milestones` `co` WHERE `trashed_by_id` <> 0 AND `is_template` = false AND `project_id` IN (2) AND ( ( ( `created_by_id` = 2) OR ( `co`.`project_id` = (SELECT `personal_project_id` FROM `og_users` `xx_u` WHERE `xx_u`.`id` = 2)) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `co`.`project_id` AND `xx_pu`.can_read_milestones = true ) ) ) ) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'MilestonesComments' AS `objectName` FROM ( SELECT 'Comments' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_comments` WHERE `trashed_by_id` <> 0 AND `rel_object_manager` = 'ProjectMilestones' AND `rel_object_id` IN (SELECT `co`.`id` FROM `og_project_milestones` `co` WHERE `trashed_by_id` = 0 AND `is_template` = false AND `project_id` IN (2) AND ( ( ( `created_by_id` = 2) OR ( `co`.`project_id` = (SELECT `personal_project_id` FROM `og_users` `xx_u` WHERE `xx_u`.`id` = 2)) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `co`.`project_id` AND `xx_pu`.can_read_milestones = true ) ) ) )) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'WebPages' AS `objectName` FROM ( SELECT 'ProjectWebPages' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_project_webpages` `co` WHERE `trashed_by_id` <> 0 AND `project_id` IN (2) AND ( ( ( `created_by_id` = 2) OR ( `co`.`project_id` = (SELECT `personal_project_id` FROM `og_users` `xx_u` WHERE `xx_u`.`id` = 2)) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `co`.`project_id` AND `xx_pu`.can_read_weblinks = true ) ) ) ) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'WebPagesComments' AS `objectName` FROM ( SELECT 'Comments' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_comments` WHERE `trashed_by_id` <> 0 AND `rel_object_manager` = 'ProjectWebpages' AND `rel_object_id` IN (SELECT `co`.`id` FROM `og_project_webpages` `co` WHERE `trashed_by_id` <> 0 AND `project_id` IN (2) AND ( ( ( `created_by_id` = 2) OR ( `co`.`project_id` = (SELECT `personal_project_id` FROM `og_users` `xx_u` WHERE `xx_u`.`id` = 2)) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `co`.`project_id` AND `xx_pu`.can_read_weblinks = true ) ) ) )) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'Emails' AS `objectName` FROM ( SELECT 'MailContents' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_mail_contents` `co` WHERE `trashed_by_id` <> 0 AND `id` IN (SELECT `object_id` FROM `og_workspace_objects` WHERE `object_manager` = 'MailContents' AND `workspace_id` IN (2)) AND ( ( ( `created_by_id` = 2) OR ( EXISTS(SELECT * FROM `og_users` `xx_u`, `og_workspace_objects` `xx_wo` WHERE `xx_u`.`id` = 2 AND `xx_u`.`personal_project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'MailContents' )) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu`, `og_workspace_objects` `xx_wo` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'MailContents' AND `xx_pu`.can_read_mails = true ) ) ) ) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'EmailsComments' AS `objectName` FROM ( SELECT 'Comments' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_comments` WHERE `trashed_by_id` <> 0 AND `rel_object_manager` = 'MailContents' AND `rel_object_id` IN (SELECT `co`.`id` FROM `og_mail_contents` `co` WHERE `trashed_by_id` = 0 AND `id` IN (SELECT `object_id` FROM `og_workspace_objects` WHERE `object_manager` = 'MailContents' AND `workspace_id` IN (2)) AND ( ( ( `created_by_id` = 2) OR ( EXISTS(SELECT * FROM `og_users` `xx_u`, `og_workspace_objects` `xx_wo` WHERE `xx_u`.`id` = 2 AND `xx_u`.`personal_project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'MailContents' )) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu`, `og_workspace_objects` `xx_wo` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'MailContents' AND `xx_pu`.can_read_mails = true ) ) ) )) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'Companies' AS `objectName` FROM ( SELECT 'Companies' AS `object_manager_value`, `id` as `oid`, `trashed_on` AS `order_value` FROM `og_companies` `co` WHERE `trashed_by_id` <> 0 AND `id` IN (SELECT `object_id` FROM `og_workspace_objects` WHERE `object_manager` = 'Companies' AND `workspace_id` IN (2)) AND ( ( ( `created_by_id` = 2) OR ( EXISTS(SELECT * FROM `og_users` `xx_u`, `og_workspace_objects` `xx_wo` WHERE `xx_u`.`id` = 2 AND `xx_u`.`personal_project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'Companies' )) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu`, `og_workspace_objects` `xx_wo` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `xx_wo`.`workspace_id` AND `xx_wo`.`object_id` = `co`.id AND `xx_wo`.`object_manager` = 'Companies' AND `xx_pu`.can_read_contacts = true ) ) ) ) ) `table_alias` UNION SELECT count(*) AS `quantity`, 'Contacts' AS `objectName` FROM ( SELECT 'Contacts' AS `object_manager_value`, `id` AS `oid`, `trashed_on` AS `order_value` FROM `og_contacts` `co` WHERE `trashed_by_id` <> 0 AND ( `co`.`id` IN ( SELECT `contact_id` FROM `og_project_contacts` `pc` WHERE `pc`.`contact_id` = ``co``.`id` AND ( ( ( `created_by_id` = 2) OR ( `pc`.`project_id` = (SELECT `personal_project_id` FROM `og_users` `xx_u` WHERE `xx_u`.`id` = 2)) OR ( EXISTS ( SELECT * FROM `og_project_users` `xx_pu` WHERE `xx_pu`.`user_id` IN (2) AND `xx_pu`.`project_id` = `pc`.`project_id` AND `xx_pu`.can_read_contacts = true ) ) ) ))) ) `table_alias`
Error number:    1064
Error message:    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'co``.`id` AND ( ( ( `created_by_id` = 2) OR ( `pc`.`project_id` = (SELECT `per' at line 161
Backtrace:
#0 /home/zi5635/public_html/zinet/goo14b/environment/library/database/adapters/AbstractDBAdapter.class.php(272): AbstractDBAdapter->prepareAndExecute('SELECT count(*)...', NULL)
#1 /home/zi5635/public_html/zinet/goo14b/environment/library/database/DB.class.php(145): AbstractDBAdapter->execute('SELECT count(*)...', NULL)
#2 /home/zi5635/public_html/zinet/goo14b/application/controllers/ObjectController.class.php(915): DB::execute('SELECT count(*)...')
#3 /home/zi5635/public_html/zinet/goo14b/application/controllers/ObjectController.class.php(1004): ObjectController->countDashboardObjects('', NULL, NULL, 'true')
#4 /home/zi5635/public_html/zinet/goo14b/environment/classes/controller/Controller.class.php(76): ObjectController->list_objects()
#5 /home/zi5635/public_html/zinet/goo14b/environment/classes/controller/PageController.class.php(62): Controller->execute('list_objects')
#6 /home/zi5635/public_html/zinet/goo14b/environment/classes/Env.class.php(133): PageController->execute('list_objects')
#7 /home/zi5635/public_html/zinet/goo14b/init.php(146): Env::executeAction('object', 'list_objects')
#8 /home/zi5635/public_html/zinet/goo14b/index.php(9): require('/home/zi5635/...')
#9 {main}
Autoglobal varibles:
$_GET:    Array (
  ['active_project'] => (string) '0'
  ['ajax'] => (string) 'true'
  ['c'] => (string) 'object'
  ['a'] => (string) 'list_objects'
  ['trashed'] => (string) 'true'
  ['start'] => (string) '0'
  ['limit'] => (string) '50'
  ['tag'] => (string) ''
  ['sort'] => (string) 'dateDeleted'
  ['dir'] => (string) 'DESC'
  ['current'] => (string) 'trash-panel'
  ['_dc'] => (string) '1240470135386'
)
$_POST:    
$_COOKIE:    Array (
  ['PHPSESSID'] => (string) 'a2e716f588840de3a4699cf1b8843f82'
  ['id'] => (string) '2'
  ['token'] => (string) '5866298c24abb6cd7defc8e22c2bc8edb6358c7c'
)
$_SESSION:    Array (
  ['cal_version'] => true
  ['month'] => (string) '4'
  ['year'] => (string) '2009'
  ['day'] => (string) '23'
)

ignacio

  • Hero Member
  • *****
  • Posts: 1703
    • View Profile
Re: Contact Tab - SQL Error
« Reply #1 on: April 23, 2009, 12:04:00 pm »
Hi betty,

To fix this edit file 'application/helpers/permissions.php', line 277, you will noticie around the middle of that line this:
Code: [Select]
WHERE `pc`.`contact_id` = `$table_alias`.`id` AND
remove the quotes around $table_alias so that you end up with this:
Code: [Select]
WHERE `pc`.`contact_id` = $table_alias.`id` AND
Tell me if this fixes the errors.

Thank you very much.

betty111111

  • Jr. Member
  • **
  • Posts: 78
    • View Profile
    • Email
Re: Contact Tab - SQL Error
« Reply #2 on: April 23, 2009, 02:43:06 pm »
So far today it's working fine with no change.   If it happens again I will post it here, otherwise maybe it was cache/cookie related.