Hi,
On Wed, Nov 4, 2009 at 21:14, pkrishna <prabhakar.krishnaswami@ge.com> wrote:
>
> I guess I was not clear enough on what I wanted; I do use createQuery
> programmatically to retrieve nodes from the repository. What I was after was
> for me to examine the existence of a particular node that is stored in
> repository using SQLDeveloper, for instance. The UUID we generate becomes
> the node Name. I just want to examine the existence of this node quickly
> using applications like SQLDeveloper, Aquadata etc. Our repository is an
> oracle database. I launch SQLDeveloper and traverse to the database. I see
> tables created by JackRabbit. They are entry-related, version-related,
> workspace-related. I was looking for a NodeId, for example, in CMSVER_NODE,
> CMSWKSP_NODE tables that matches the node name I am looking for. Even
> though, I know for sure such a node exists, I couldn't see it in
> SQLDeveloper.
>
> Is there a way do this? If so, which table should I be looking at.
no, it is not possible to look up a node by name using external SQL
tools. that information is serialized into a binary field in the
database. I suggest you use the regular JCR API.
regards
marcel
>
> Marcel Reutegger wrote:
>>
>> Hi,
>>
>> 2009/11/2 pkrishna <prabhakar.krishnaswami@ge.com>:
>>>
>>> I want to know if it is possible to query for a particular NodeId in the
>>> tables automatically generated by JackRabbit.
>>>
>>> We have a customNode where the node name is an Id we generate. Let's call
>>> this Node A. Node A has a child which is also a custom Node and this Node
>>> has some custom properties we have defined. Lets call this Node B. Node B
>>> has a property of type jcr:content.
>>>
>>> Is there a way for me to query the database for Node A using a where
>>> criteria? Which table should I query against? Is this possible at all.
>>
>> you should use the query mechanism defined by JCR.
>>
>> QueryManager qm = ...
>> Query q = qm.createQuery("select * from your:type where property =
>> 'value'", Query.SQL);
>> QueryResult result = q.execute();
>>
>> I'm not sure I understand your use case. maybe something like this
>> (using XPath syntax)?
>>
>> //element(*, type-of-node-A)[*/@jcr:content = 'some-value']
>>
>> though, jcr:content is usually the name of a child node of a nt:file node.
>>
>> so you'd rather want to do this?
>>
>> //element(*, type-of-node-A)[jcr:contains(*/jcr:content, 'foo')]
>>
>> regards
>> marcel
>>
>>> --
>>> View this message in context:
>>> http://old.nabble.com/Finding-NodeName-using-SQL-Query-Analyzer-tp26157796p26157796.html
>>> Sent from the Jackrabbit - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>
> --
> View this message in context: http://old.nabble.com/Finding-NodeName-using-SQL-Query-Analyzer-tp26157796p26203861.html
> Sent from the Jackrabbit - Users mailing list archive at Nabble.com.
>
>