Forums / Developer / Manual SQL?

Manual SQL?

Author Message

Deane Barker

Tuesday 23 November 2004 2:15:21 pm

I have a fairly gut-wrenching content fetch I need to perform. In SQL terms, it's a three-table recursive join (that is if the content was all in one table, which it isn't...).

I think this query is far beyond the capabilities of the "fetch" function. I don't suppose there's anyway I can process a manual SQL query on the database and get the results back as if I did a fetch?

I basically want to do a fetch, but I want to supply the SQL for it.

Deane

Lazaro Ferreira

Tuesday 23 November 2004 10:44:19 pm

Hi,

AFAIK, the standard way to do it, is creating an extension in PHP, there you could call ezpublish API to fetch your data

if you want to handle directly the SQL, you can take a look a kernel/classes/ezcontentobjecttreenode.php it has the methods used by EZP itself to fecth list, subtree ,etc

Also turning sqldebug setting on (look for it at ezp site.ini) could be a good ideia to make easier to you understand ezp queries

You can also work at a higher level using the ezp php interface to templates ( .tpl code ). This is implemented at content/ezcontentfunctioncollection.php , the advantage of using this classes, is that you won't have to managed all of ezp complexity, there you take language and permission support for free, in the other hand some complex queries could't be done there directly

In conclusion, if you have created you our own databases tables, you will have to program the queries to your data manually (I don't know of any other way),

if you aren't creating any database table of your own, then you don't necessarily need to program SQL queries directly, at least that you were looking for some complex query (i.e: filtering by attributes in more than one content class object at the same time)

Lazaro
http://www.mzbusiness.com

Deane Barker

Wednesday 24 November 2004 2:11:36 am

Lazaro:

Good information, and enough for me to get a start in the right direction. Thank you for your help.

Deane

eZ debug

Timing: Jan 19 2025 08:10:10
Script start
Timing: Jan 19 2025 08:10:10
Module start 'content'
Timing: Jan 19 2025 08:10:11
Module end 'content'
Timing: Jan 19 2025 08:10:11
Script end

Main resources:

Total runtime1.0609 sec
Peak memory usage4,096.0000 KB
Database Queries194

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0078 588.7813180.8516
Module start 'content' 0.00780.8797 769.6328535.9063
Module end 'content' 0.88750.1734 1,305.5391332.7734
Script end 1.0609  1,638.3125 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00410.3862210.0002
Check MTime0.00150.1403210.0001
Mysql Total
Database connection0.00130.121110.0013
Mysqli_queries0.982892.63781940.0051
Looping result0.00200.18681920.0000
Template Total1.024996.620.5125
Template load0.00240.230420.0012
Template processing1.022596.375920.5112
Template load and register function0.00030.023710.0003
states
state_id_array0.00200.184710.0020
state_identifier_array0.00110.104920.0006
Override
Cache load0.00200.1930220.0001
Sytem overhead
Fetch class attribute can translate value0.00120.117430.0004
Fetch class attribute name0.00110.102640.0003
XML
Image XML parsing0.00320.303230.0011
class_abstraction
Instantiating content class attribute0.00000.001050.0000
General
dbfile0.00880.8326270.0003
String conversion0.00000.000630.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
2content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
3content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
4content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 12
 Number of unique templates used: 6

Time used to render debug report: 0.0001 secs