Effective December 3, NetApp adopts Microsoft’s Business-to-Customer (B2C) identity management to simplify and provide secure access to NetApp resources.
For accounts that did not pre-register (prior to Dec 3), access to your NetApp data may take up to 1 hour as your legacy NSS ID is synchronized to the new B2C identity.
To learn more, read the FAQ and watch the video.
Need assistance? Complete this form and select “Registration Issue” as the Feedback Category.

Active IQ Unified Manager Discussions

Natural key issue

rogerhinson

Hey all,

 

I'm trying to get the list of exports for a given qtree using the actual_path.  I've got a query that runs fine in Toad, but doesn't run in WFA.

 

SELECT
  nfs_export.actual_path AS 'actual_path',
  export_path,
  qtree_id,
  ro_hosts,
  rw_hosts,
  root_hosts,
  vfiler.name AS 'vfiler.name',
  vfiler.ip_address,
  array.ip
FROM
  storage.nfs_export
LEFT JOIN
  storage.qtree ON qtree.id = storage.nfs_export.qtree_id
LEFT JOIN
  storage.vfiler ON vfiler.id = storage.nfs_export.vfiler_id
LEFT JOIN
  storage.array ON array.id = storage.nfs_export.array_id
WHERE
  export_path = ${qtree_path}
 

 

My error in WFA is:

 

Filter 'Filter exports by qtree' returned attributes does not contain all natural keys. Filter's returned attributes '[actual_path, export_path, ip, ip_address, qtree_id, ro_hosts, root_hosts, rw_hosts, vfiler.name]' , dictionary entry natural keys '[vfiler.name, export_path, vfiler.array.ip]'

 

I THINK I'm just missing vfiler.array.ip, but I can't figure out how to add it.  I tried adding it to vfiler.ip_address, but then I get the error:

 

Failed to execute filter 'Filter exports by qtree' with parameters: {qtree_path=/vol/rogertest_nfs_20150324142302/rogertest_000}

 

Can someone help me out?  Also, why do queries work in Toad and then fail in WFA?  Does Toad not care about the natural keys?

 

Thanks,

Roger

 

1 ACCEPTED SOLUTION

rogerhinson

Nevermind..  I forgot quotes around my variable.

 

Here's the working filter.

 

SELECT
    nfs_export.actual_path AS 'actual_path',
    export_path,
    ro_hosts,
    rw_hosts,
    root_hosts,
    vfiler.name AS 'vfiler.name',
    array.ip AS 'vfiler.array.ip'
FROM
    storage.nfs_export
LEFT JOIN
    storage.qtree
        ON qtree.id = nfs_export.qtree_id
LEFT JOIN
    storage.vfiler
        ON vfiler.id = nfs_export.vfiler_id
LEFT JOIN
    storage.array
        ON array.id = nfs_export.array_id
WHERE
    export_path = "${qtree_path}"

 

View solution in original post

1 REPLY 1

rogerhinson

Nevermind..  I forgot quotes around my variable.

 

Here's the working filter.

 

SELECT
    nfs_export.actual_path AS 'actual_path',
    export_path,
    ro_hosts,
    rw_hosts,
    root_hosts,
    vfiler.name AS 'vfiler.name',
    array.ip AS 'vfiler.array.ip'
FROM
    storage.nfs_export
LEFT JOIN
    storage.qtree
        ON qtree.id = nfs_export.qtree_id
LEFT JOIN
    storage.vfiler
        ON vfiler.id = nfs_export.vfiler_id
LEFT JOIN
    storage.array
        ON array.id = nfs_export.array_id
WHERE
    export_path = "${qtree_path}"

 

View solution in original post

Announcements
NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner
Public