MySQL Help
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsDatabasesMySQL Help

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old December 7th, 2012, 09:16 AM
catsoup57 catsoup57 is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Dec 2012
Posts: 2 catsoup57 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 13 m 10 sec
Reputation Power: 0
Why do Views need to be associated with a user?

Hi,

I have been using MySQL for years, but have only recently had to use views.

A development company has sent me a schema dump that includes a view definition like:


CREATE ALGORITHM=UNDEFINED DEFINER=`pluto`@`localhost` SQL SECURITY DEFINER VIEW `order_management` AS select `orders`.`ID` AS `ID`,`farms`.`ID` AS `FarmID`,`farms`.`name` AS `FarmName`,`order_types`.`description` AS `OrderType`,`orders`.`start` AS `OrderStartDate`,`orders`.`end` AS `OrderEndDate`,`orders`.`total_req` AS `QuantityRequested`,`orders`.`accepted` AS `QuantityAccepted`,coalesce(sum(`order_worker`.`worker_accepted`),0) AS `worker_approved`,coalesce(sum(`order_worker`.`hops_accepted`),0) AS `hops_approved`,coalesce(sum(`order_worker`.`printed`),0) AS `docs_printed`,`orders`.`memo` AS `OrderMemo`,`orders`.`status` AS `Status` from (((`orders` left join `order_types` on((`orders`.`type` = `order_types`.`ID`))) left join `farms` on((`orders`.`farmID` = `farms`.`ID`))) left join `order_worker` on((`orders`.`ID` = `order_worker`.`orderID`))) group by `orders`.`ID`;

(Which seems over complicated to me!)

My question is why does this view need to have the DEFINER=`user` clause?

Before someone says RTFM, I have been through the MySQL docs, under creating views, the DEFINER clause, and the "Access Control for Stored Programs and Views”. However it did not make much sense to me.

This database will only ever be accessed by a single web server account, views and tables alike, so surely the DEFINER is irrelevant? Or am I missing something?

Any help will be appreciated.

Chris.

Reply With Quote
  #2  
Old December 7th, 2012, 12:21 PM
requinix's Avatar
requinix requinix is offline
Still alive
Click here for more information.
 
Join Date: Mar 2007
Location: Washington, USA
Posts: 12,700 requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)  Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1
Time spent in forums: 5 Months 1 Week 4 Days 5 h 25 m 44 sec
Reputation Power: 8969
Send a message via AIM to requinix Send a message via MSN to requinix Send a message via Yahoo to requinix Send a message via Google Talk to requinix
It doesn't need that, it's just part of how it was created. That's the result of a SHOW CREATE VIEW.
Just strip it out. All you really need is CREATE VIEW `name` AS...

Reply With Quote
  #3  
Old December 9th, 2012, 11:23 AM
catsoup57 catsoup57 is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Dec 2012
Posts: 2 catsoup57 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 13 m 10 sec
Reputation Power: 0
Ah! That's good news thanks

Reply With Quote
Reply

Viewing: Dev Shed ForumsDatabasesMySQL Help > Why do Views need to be associated with a user?

Developer Shed Advertisers and Affiliates



Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap