No wildcard in boundary match queries?

In SharePoint 2013, when I try to submit the following FQL query:
QUERYTEXT = managedproperty:STARTS-WITH("n*")
I get this error:
Microsoft.Ceres.SearchCore.Services.Query.QueryServiceId error: Microsoft.Ceres.SearchCore.FastServer.FastServerException: IndexComponent1-f5d8be27-3653-41ea-8f40-f37341a6d9b3-SP8a064cb15f50.I.0.0: WILDCARD not allowed in boundary operation
Is this a known, and expected behavior?  The same query works fine in FS4SP.  And I know, they are completely different products and a "Best of both" approach was taken when merging SPSearch and FAST Search.  But I keep running
into undocumented limitations of search in SP2013 and it's getting annoying and looking more like a "some of both" approach was taken.

Hi tatersnacks,
According to your description, my understanding is that you want to create a scope to match all items which have a managed property starting with “n” in SharePoint 2013.
From the MSDN article for SharePoint 2013:
More information:
https://msdn.microsoft.com/EN-US/library/office/ff394606(v=office.15).aspx
so, for your issue, please remove the “*” from the query, like: QUERYTEXT = managedproperty:STARTS-WITH("n").
And, the query is also for SharePoint 2010, more information about SharePoint 2010 FAST query START-WITH, please refer to the link:
https://msdn.microsoft.com/EN-US/library/office/ff394462(v=office.14).aspx#fqloperator_starts_with
Best Regards,
Wendy
Forum Support
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
[email protected]
Wendy Li
TechNet Community Support

Similar Messages

  • SO- DO- AR Inv and PO- GRPO- AP Invoice matching queries

    Hi Expert,
    Our customer would like to have both AR and AP matching reports to check how SO are being matching with DO and AR Invoice as well for PO match with GRPO and AP Invoice. Wonder anyone has any queries written before for your customer. I am now running on 2007A SP00 PL30
    The report contain for AR
    SO#, BP code, Item No, Item description, SO Qty, Row Total($), DO#, DO Qty, AR Inv#, AR Inv qty, AR Inv row Total($)
    The report contain for AP
    PO#, BP code, Item No, Item description, PO Qty, Row Total($), GRPO#, GRPO Qty, AP Inv#, AP Inv qty, AP Inv row Total($)
    Thank you.
    Regards
    Thomas

    Hi Thomas,
    Try this one for AR:
    SELECT DISTINCT T1.DocNum as SO#, T1.CardCode 'BP Code',
    T0.ItemCode, T0.Dscription as 'Item description', T0.Quantity as
    'SO Qty', T0.LineTotal, T3.DocNum as DO#, T2.Quantity as
    'DO Qty',T5.DocNum as 'AR Inv#', T4.Quantity as 'AR Inv Qty',
    T4.LineTotal as 'AR Inv row Total($)'
    FROM RDR1 T0
    INNER JOIN ORDR T1 ON T0.DocEntry = T1.DocEntry
    Left JOIN DLN1 T2 ON T2.DocEntry = T0.TrgetEntry and
    T2.ItemCode = T0.ItemCode
    Left JOIN ODLN T3 ON T3.DocEntry = T2.DocEntry
    Left JOIN INV1 T4 ON T4.DocEntry = T2.TrgetEntry and
    T4.ItemCode = T0.ItemCode
    Left JOIN OINV T5 ON T5.DocEntry = T4.DocEntry
    WHERE  T1.DocNum = '[%0]'
    If works for you, AP will just need to replace some table names with exact logic.
    Thanks,
    Gordon

  • Better word-boundary matches in text searches

    Hi All,
    The performance I've had from contains() searches in text-laden elements indexed with node-element-substring-string has been good, but I read somewhere else on this forum that regex searches using matches() don't make use of the same optimisations. So, as I found, performance plummets when you try approximating word-boundary or start-of-word matches with things like
    //textyElement[matches(., "\bKEYWORD\b")]
    or
    //textyElement[matches(., "\bKEYWORD")]
    The solution (at least as it applied in my case) was pretty obvious, but not as immediately obvious as I'd have liked it to be, so I thought I'd post it here for those others who are fairly new to XQuery and haven't found a better solution. Put a contains() first and get the benefits of its optimisations for literal searches...
    //textyElement[contains(., "KEYWORD") and matches(., "\bKEYWORD")]
    Of course there may be other/better ways of doing this -- and if there are I'd love to hear about them -- but on a pure performance level this took my test query from around 220 sec back down to around 28 ms, and such news is too good to keep to myself.

    Tim,
    Thank you very much for sharing your tip. It's a great idea for handling many types of regular expressions.
    Regards,
    George

  • Java.lang.Exception: Number of responses does not match queries

    Hi,
    We recently installed Oracle Database 10g Release 10.2.0. Installation and everything else was ok. When we try to access the Database Console(Enterprise Manager) we are getting the following error on the top:
    "java.lang.Exception: Number of responses does not match"
    and it doesn't show the Host CPU graph and Active Sessions graphs. Else everything is ok. Database is also up and running. We can perfome all the tasks.
    Any idea what could be the possible reason and solution for it.
    Thanks and Regards
    Inderjeet Singh

    Did you ever figure out the cause of this error message? If not, does anyone else have an idea what may be causing this to occur. I also just finished an install and have experienced the same condition.
    thanks,
    edl

  • Wildcards in string matching?

    Right now I have a "fraction converter" class that looks, in part:
    case "6":
    case "66":
    case "67":
    case "68":
    case "666":
         theNumber = "2/3";
         break;
    Is there any way to use a wildcard or regex  in these case statements, so that I can say "6 followed by anything"?

    You coud try something like this, just grab the first number
    var tmpStr:String = String(myNumber).charAt(0);
    switch(tmpStr)
    case "6": theNumber = 2/3;
    David

  • CSS11506 + wildcard ssl cert ?

    We have a need to terminate multiple SSL websites on our CSS. So name1.test.com
    name2.test.com, name3.test.com etc. The problem I have found is that I need to burn 1 public VIP per SSL connection b/c they all need to use tcp 443 inbound and point to their respective cert on the CSS. Is there anyway to possibly generate a wildcard cert that matched only the last part of our domain name ( events.test.com = *.test.com ) and then get away with using only 1 VIP for the multiple sub domains ??
    Thanks for your help.
    Cheers
    Dave

    Yes this is possible. We are currently using the same design.
    http://www.cisco.com/en/US/products/hw/contnetw/ps792/products_configuration_guide_chapter09186a0080579f6b.html
    Please rate.

  • Wildcard SSL Certificates with MFE?

    Is anyone using a wildcard SSL certificate on their mail server when using Mail for Exchange on assorted Nokia E Series mobiles please?
    We currently use a straight SSL cert and MFE works with no problem, however I've been looking into getting a single wildcard SSL certificate for our domain.
    Before doing anything I figured I'd try a website that used a wildcard certificate.
    When I did this (using an E51) I got the message "Website has sent a certificate with a different website name than requested" and was prompted to accept once, permanently, or don't accept.
    My question is whether this message would come up in a clear/obvious manner when using Mail For Exchange on a Nokia (so I can tell our users what to do when it does), and whether anyone has encountered issues using a wildcard with Nokias when using Mail for Exchange.
    If anyone has an E-Series and is using a Wildcard cert can you let me know if you've encountered any issues please?
    Thanks.

    This is interesting question. I look forward testing this myself
    What kind of cert & website you used on your own tests? Was the cert something like *.example.com? And the domain, was it https://something.example.com or https://example.com ? AFAIK wildcard doesn't match addresses consisting domain part only, so the latter one might not work.
    Help spreading the knowledge — If you find my answer useful, please mark your question as Solved by selecting Accept this solution from the Options menu. Thank you!

  • Wildcard Certificate use in Sun Java System Messaging Server (IMAPs/POPs)

    I'm trying to use a wildcard certificate acquired from GlobalSign and am having problems getting
    it (properly) into the cert database.
    I tried using certutil, and that didn't seem to work at all, it would list without user cert status:
    rmorneau+root@mmp1:/var/opt/SUNWmsgsr/config# /opt/SUNWmsgsr/sbin/certutil -L -d .
    GlobalSign-Ext-CA CT,c,
    *.xxxxxxxxxxx.edu ,,
    I had some success using msgcert and pk12util, but after importing it in, then seeing that it did
    have user cert status, after a quick restart of Messaging (IMAP/POP), SSL quit for IMAP and kicked all
    my IMAPs users out temporarily (until I put the original cert8.db and key3.db back).
    -------- ImapProxy_20101115.log----
    20101115 135531 ImapProxyAService.cfg (id 2590) SSL negotiation failed for IP XXX.XXX.X.XXX: Cannot connect: SSL is disabled. (-12268)
    pop.xxxxxxxxx.edu u,u,u
    GlobalSign-Ext-CA CT,c,
    *.xxxxxxxxxxx.edu u,u,u
    I truly appreciate any help on this matter.
    -Bob

    2. Does the certificate nickname in NSS match the configured certificate nickname in the product?I'm not sure, but I'll try that the next time I try this... will probably be late at night were I won't be interrupting IMAPs and POPs
    Makes sense. Prior to release 7 update 4, the servers have to be shut down before modifying certificate databases. As of 7 update 4 you can do a one-time migration to the cert9.db/key4.db format that >should allow certificates to be updated without taking the servers offline.
    This was in the log just before the other log entry that I showed before.
    20101115 135440 ImapProxyAService.cfg ASockSSL_Init: couldn't find cert imap.xxxxxxxxx.edu (-8174)
    This is the key line from the log. The server is looking for a certificate with the NSS certificate nickname of 'imap.xxxxxxxxx.edu' and is not finding that certificate so issue 2 is likely the problem.Yes, this was it. Oversite on my part, forgot they had to match and could not be a form of just domainname.edu or *domainname.edu.
    You either need to modify the default:SSLCertNicknames setting to match the nickname of the new certificate, or install the new certificate using the existing certificate nickname of 'imap.xxxxxxxxx.edu'I modified the default:SSLCertNicknames setting.
    Thank you CNewman very much for all your help.
    And, for those trolling for an answer with more detail via an Internet search (that is, if Oracle doesn't screw up these forums for anon searches)::::
    With the private key in hand (not password protected), I used 'openssl' to get it into a pkcs12 type file:
    (It is best to do this as root and not as sudo root as you might run into problems if your host
    does not have root power to write to your home dir on the/a NFS share.... you will get "unable to write 'random state'".)
    root@mmp1:/var/opt/SUNWmsgsr/config/GlobalSign-certs-new# /usr/sfw/bin/openssl pkcs12 -export \
    -in ket-wildcard-cert.pem -inkey private.key -out cert.pkcs12 -name xxxxxxxxx.edu
    Enter Export Password:
    Verifying - Enter Export Password:
    Where "private.key" is the key file, and "ket-wildcard-cert.pem" is the (pem format) cert from our cert provider,
    and cert.pkcs12 is our cert file that will be imported into the database, and xxxxxxxxx.edu is whatever you (nick)name your cert
    in the database
    (I think you could use a password protected private key if you have that password.. I don't.)
    Next, I used 'msgcert' to import the pkcs12 cert file into the database (I'm sure there is a way
    to use certutil or even pk12util to do the same, but I'm on Sun Messenger 6.3 at this time, so that's what I used.
    If someone would like to elaborate for those....?):
    (It is best, when using 'msgcert', to do it where your mailsrv user has some privs.. I took my pkcs12 cert and moved into /tmp.)
    root@mmp1:/tmp# /opt/SUNWmsgsr/sbin/msgcert import-cert cert.pkcs12
    Enter the PKCS#12 file password: (blank)
    Enter the certificate database password: (token password in sslpassword.conf)
    Make sure your (wildcard) cert nickname matches what you have in
    ImapProxyAService.cfg and PopProxyAService.cfg at the "default:SSLCertNicknames" field.
    Edit if need be.
    root@mmp1:/var/opt/SUNWmsgsr/config# /opt/SUNWmsgsr/sbin/certutil -L -d .
    GlobalSign-Ext-CA CT,c,
    xxxxxxxxx.edu u,u,u
    root@mmp1:/var/opt/SUNWmsgsr/config# grep default:SSLCertNicknames *AService.cfg
    ImapProxyAService.cfg:default:SSLCertNicknames xxxxxxxxx.edu
    PopProxyAService.cfg:default:SSLCertNicknames xxxxxxxxx.edu
    Then, of course, restart the msg service(s).
    /opt/SUNWmsgsr/sbin/stop-msg
    /opt/SUNWmsgsr/sbin/start-msg
    Edited by: 810750 on Nov 18, 2010 8:08 AM
    Edited by: 810750 on Nov 18, 2010 8:11 AM

  • CSS11506 - Wildcard cert ??

    We have a need to terminate multiple SSL websites on our CSS. So name1.test.com
    name2.test.com, name3.test.com etc. The problem I have found is that I need to burn 1 public VIP per SSL connection b/c they all need to use tcp 443 inbound and point to their respective cert on the CSS. Is there anyway to possibly generate a wildcard cert that matched only the last part of our domain name ( events.test.com = *.test.com ) and then get away with using only 1 VIP for the multiple sub domains ??
    Thanks for your help.
    Cheers
    Dave

    CSS can use wildcard certificate just as it uses typical server certificates.
    If you are using the CSS to create the CSR, you would use a wildcard common name
    - A "*" wildcard character MAY be used as the left-most name component in the certificate. For example, *.example.com would
    match a.example.com, foo.example.com, etc. but would not match
    example.com.
    Syed

  • Question about different query results with wildcard

    Hi, I'm working with a third party app on SQL Server 2000, and from what I can gather, programmed in C# & VisualFoxPro.
    When we search with
        Note contains 94949
    we get 571 results, when we search with
        Note contains 94949*
    we get 575 results.
    There should be at least a hundred different entries that start with "94949-1" so I expected the query with the wildcard to return something like 680 results, not an additional four rows.
    Searching with
        Note contains 94949-1*
    got 483 results
        Note contains 94949-10*
    got 0 results
    Could someone explain or point me to more documentation on the difference results we get?
    Thanks

    Hi Arnie, thanks for your response.
    My situation is more basic than what appears in your example. Unfortunately, I am working solely through this application so I do not have access to the SQL to test out what you supplied, so my question is more of a need for an explanation of the search results. I do find lots of references to LIKE, Wildcards and pattern matching, but I don't find a way to explain to the users the best and most complete way to search. They mostly need a "this will always get us the results without missing anything" search technique and then to be able to select from a smaller group. I guess I need a basic course in understanding search results: how to get different ones and what they mean.
    Using 
            Note contains 94949-'%'
    returned one more result than when using an asterisk. I don't understand this difference.
            Note contains 94949-'%1'   or
            Note contains 94949-'1%'
    brings nothing nor does not using quotes. But there are hundreds of records which have the string starting with 94949-1 and a varying number of characters after that.
    ?Does the dash read not as a character in the string but as an expression?
    When I use WITHIN 3 characters, I get too few results (eight). If I use AND, I get text unrelated to the account number I am looking for.
    Again when I tried to narrow the search by adding one digit to the string to be matched, I did not get any results, but 500 results from the more general search is too much to scan by opening individual records.
    Thanks for pondering this with me.

  • Mail Rules & Wildcards?

    Is there any way to use wildcards for text matching in Mail rules? Burying certain drug brands in other text is getting stuff through...

    ironically, I'm trying to do the same thing...sort of. I was using "netflix" for a rule in the "FROM" "CONTAINS" where the from field actually says "Netflix Shipping" but it doesn't seem to work. Don't take this as a final answer, I'm just moving from a Windows world to Mac and drudging my way through every step.

  • Stopword and wildcard

    Oracle Text usually ignores stopwords in queries, but this fails if wildcards are involved.
    Queries like this one slow down the system:
    SELECT x from y WHERE CONTAINS(x, 'for%', 1) > 0;
    Things get worse with two wildcards such as '%for%'. Substring/prefix indexing are both enabled.
    Any suggestions? Thank you in advance!
    Markus

    Error is:
    "Der String "a40" kommt nicht in der Menge der erlaubten Werte vor" (Sorry for German)
    I have an Enumeration datatype that has a value "A40".
    The result of the search is okay (also searching by "A4*") but the error message is not desired.
    When i change the datatype for the input value from the enumeration type (and so loosing the value help) to 'string' the error message doesn't appear.
    Bernhard

  • Deciding between Oracle Text  v/s PL/SQL

    In the Oracle Text technical document it is mentioned that the Standard ( CONTEXT ) and Catalog ( CTXCAT ) types of index are used to build index for larger co-herent documents and performing mixed querires respectively.
    As I read furthur, I understand that if the requirement is not heavily document centric, then may be Oracle Text is not an ideal candidate to use. If most of the data is going to reside primarily in tables, then standard PL/ SQL queries and joins is the way to go. But on the other hand using standard SQL for names matches using LIKE operator, for eg, may not guarantee to work or may be complex to implement when trying wildcard or theme matches.
    So the question is do we use Oracle text irrespective of the type of content being indexed i.e table data v/s documents ? How do we make that judgement?

    What type of data do you have and what types of searches do you want to be able to do? If you need features that are only available in Text, then you need Text. For example, if you will be searching documents that are stored in operatinig system files or in blob columns and you want to do stem searches or fuzzy searches or use a thesaurus, then you will need Oracle Text. If, on the other hand, the data that you have and the searches that you want can be done with or without Text, then you have a choice to make, with the major issue being which is more efficient. When in doubt, a little testing can help you decide. Set up a realistic test environment, test some queries both ways, and see which is fastest. If you are just doing standard searches on varchar2 columns, you may get better performance without Text.

  • Why do i need udev+udisks+udisks2+gvfs installed to dynamic mount?

    hi there,
    yes, i have used the search function on that, but still have unanswered questions.
    1.
    why do i need udev+udisks+udisks2+gvfs installed to dynamically mount internal (ntfs, ext4) partitions ?
    If one these packages is missing, mounting an internal drive with "pcmanfm" is not possible.
    I know how to static mount these drives via "fstab", but i want to mount them when i need the access.
    2.
    why are my removable devices not automatically mounted in "pcmanfm" when plugged in?
    I have another OS (Lubuntu) running and this automatically recognizes when a cd is inserted or a usb stick is plugged in.
    I have tried to install the package "gvfs-afc" and rebooted, still no usb stick to see. But when i enter:
    sudo blkid -c /dev/null
    The usb stick is listed as "sdb1"
    I am using 64bit arch linux 3.9.3-1 with openbox+lxde.

    jasonwryan wrote:
    You don't. You need udev for a whole lot of other stuff, so leave that aside. To automount removable media, you can just use udisks and a helper like ud{iskie,evil}.
    For an ntfs partition, you will also need that driver.
    Comparing it with the Lubuntu; I am sure there is a lot more cruft preinstalled that makes this happen. In Arch, you just install what you need.
    The udev page has the details.
    so i have uninstalled the gvfs+udisks2 packages, rebooted and installed udevil-git and rebooted again.
    No partition is shown in the filemanager now. I really dont get it. The udev wiki says udev needs rules but my "/etc/udev/rules.d" folder is empty.
    The udisks wiki says that udisks and udisks2 are incompatible and that only one is needed and that udisks2 should be installed for gnome systems and udisks for xfce, but i have lxde installed. So it is not working with udisks and lxde (pcmanfm), when i try to install udisks2 additionally, it also does not work. Uninstalling udisks is also not possible because of the dependancy to libfm and so on...
    Here is my /etc/udevil/udevil-user-harry.conf:
    # udevil configuration file /etc/udevil/udevil.conf
    # This file controls what devices, networks, and files users may mount and
    # unmount via udevil (set suid).
    # IMPORTANT: IT IS POSSIBLE TO CREATE SERIOUS SECURITY PROBLEMS IF THIS FILE
    # IS MISCONFIGURED - EDIT WITH CARE
    # Note: For greater control for specific users, including root, copy this
    # file to /etc/udevil/udevil-user-USERNAME.conf replacing USERNAME with the
    # desired username (eg /etc/udevil/udevil-user-jim.conf).
    # Format:
    # OPTION = VALUE[, VALUE, ...]
    # DO NOT USE QUOTES except literally
    # Lines beginning with # are ignored
    # To log all uses of udevil, set log_file to a file path:
    #log_file = /var/log/udevil.log
    # Approximate number of days to retain log entries (0=forever, max=60):
    log_keep_days = 10
    # allowed_types determines what fstypes can be passed by a user to the u/mount
    # program, what device filesystems may be un/mounted implicitly, and what
    # network filesystems may be un/mounted.
    # It may also include the 'file' keyword, indicating that the user is allowed
    # to mount files (eg an ISO file). The $KNOWN_FILESYSTEMS variable may
    # be included to include common local filesystems as well as those listed in
    # /etc/filesystems and /proc/filesystems.
    # allowed_types_USERNAME, if present, is used to override allowed_types for
    # the specific user 'USERNAME'. For example, to allow user 'jim' to mount
    # only vfat filesystems, add:
    # allowed_types_jim = vfat
    # Setting allowed_types = * does NOT allow all types, as this is a security
    # risk, but does allow all recognized types.
    # allowed_types = $KNOWN_FILESYSTEMS, file, cifs, smbfs, nfs, curlftpfs, ftpfs, sshfs, davfs, tmpfs, ramfs
    allowed_types = $KNOWN_FILESYSTEMS, file, ntfs, vfat
    # allowed_users is a list of users permitted to mount and unmount with udevil.
    # Wildcards (* or ?) may be used in the usernames. To allow all users,
    # specify "allowed_users=*". UIDs may be included using the form UID=1000.
    # For example: allowed_users = carl, UID=1000, pre*
    # Also note that permission to execute udevil may be limited to users belonging
    # to the group that owns /usr/bin/udevil, such as 'plugdev' or 'storage',
    # depending on installation.
    # allowed_users_FSTYPE, if present, is used to override allowed_users when
    # mounting or unmounting a specific fstype (eg nfs, ext3, file).
    # Note that when mounting a file, fstype will always be 'file' regardless of
    # the internal fstype of the file.
    # For example, to allow only user 'bob' to mount nfs shares, add:
    # allowed_users_nfs = bob
    # The root user is NOT automatically allowed to use udevil in some cases unless
    # listed here (except for unmounting anything or mounting fstab devices).
    allowed_users = harry, root
    # allowed_groups is a list of groups permitted to mount and unmount with
    # udevil. The user MUST belong to at least one of these groups. Wildcards
    # or GIDs may NOT be used in group names, but a single * may be used to allow
    # all groups.
    # Also note that permission to execute udevil may be limited to users belonging
    # to the group that owns /usr/bin/udevil, such as 'plugdev' or 'storage',
    # depending on installation.
    # allowed_groups_FSTYPE, if present, is used to override allowed_groups when
    # mounting or unmounting a specific fstype (eg nfs, ext3, file). For example,
    # to allow only members of the 'network' group to mount smb and nfs shares,
    # use both of these lines:
    # allowed_groups_smbfs = network
    # allowed_groups_nfs = network
    # The root user is NOT automatically allowed to use udevil in some cases unless
    # listed here (except for unmounting anything or mounting fstab devices).
    allowed_groups = storage
    # allowed_media_dirs specifies the media directories in which user mount points
    # may be located. The first directory which exists and does not contain a
    # wildcard will be used as the default media directory (normally /media or
    # /run/media/$USER).
    # The $USER variable, if included, will be replaced with the username of the
    # user running udevil. Wildcards may also be used in any directory EXCEPT the
    # default. Wildcards will not match a /
    # allowed_media_dirs_FSTYPE, if present, is used to override allowed_media_dirs
    # when mounting or unmounting a specific fstype (eg ext2, nfs). For example,
    # to cause /media/network to be used as the default media directory for
    # nfs and ftpfs mounts, use these two lines:
    # allowed_media_dirs_nfs = /media/network, /media, /run/media/$USER
    # allowed_media_dirs_ftpfs = /media/network, /media, /run/media/$USER
    # NOTE: If you want only the user who mounted a device to have access to it
    # and be allowed to unmount it, specify /run/media/$USER as the first
    # allowed media directory.
    # IMPORTANT: If an allowed file is mounted to a media directory, the user may
    # be permitted to unmount its associated loop device even though internal.
    # INCLUDING /MNT HERE IS NOT RECOMMENDED. ALL ALLOWED MEDIA DIRECTORIES
    # SHOULD BE OWNED AND WRITABLE ONLY BY ROOT.
    allowed_media_dirs = /media, /run/media/$USER
    # allowed_devices is the first criteria for what block devices users may mount
    # or unmount. If a device is not listed in allowed_devices, it cannot be
    # un/mounted (unless in fstab). However, even if a device is listed, other
    # factors may prevent its use. For example, access to system internal devices
    # will be denied to normal users even if they are included in allowed_devices.
    # allowed_devices_FSTYPE, if present, is used to override allowed_devices when
    # mounting or unmounting a specific fstype (eg ext3, ntfs). For example, to
    # prevent all block devices containing an ext4 filesystem from being
    # un/mounted use:
    # allowed_devices_ext4 =
    # Note: Wildcards may be used, but a wildcard will never match a /, except
    # for "allowed_devices=*" which allows any device. The recommended setting is
    # allowed_devices = /dev/*
    # WARNING: ALLOWING USERS TO MOUNT DEVICES OUTSIDE OF /dev CAN CAUSE SERIOUS
    # SECURITY PROBLEMS. DO NOT ALLOW DEVICES IN /dev/shm
    allowed_devices = /dev/*
    # allowed_internal_devices causes udevil to treat any listed block devices as
    # removable, thus allowing normal users to un/mount them (providing they are
    # also listed in allowed_devices).
    # allowed_internal_devices_FSTYPE, if present, is used to override
    # allowed_internal_devices when mounting or unmounting a specific fstype
    # (eg ext3, ntfs). For example, to allow block devices containing a vfat
    # filesystem to be un/mounted even if they are system internal devices, use:
    # allowed_internal_devices_vfat = /dev/sdb*
    # Some removable esata drives look like internal drives to udevil. To avoid
    # this problem, they can be treated as removable with this setting.
    # WARNING: SETTING A SYSTEM DEVICE HERE CAN CAUSE SERIOUS SECURITY PROBLEMS.
    # allowed_internal_devices =
    # allowed_internal_uuids and allowed_internal_uuids_FSTYPE work similarly to
    # allowed_internal_devices, except that UUIDs are specified instead of devices.
    # For example, to allow un/mounting of an internal filesystem based on UUID:
    # allowed_internal_uuids = cc0c4489-8def-1e5b-a304-ab87c3cb626c0
    # WARNING: SETTING A SYSTEM DEVICE HERE CAN CAUSE SERIOUS SECURITY PROBLEMS.
    # allowed_internal_uuids =
    # forbidden_devices is used to prevent block devices from being un/mounted
    # even if other settings would allow them (except devices in fstab).
    # forbidden_devices_FSTYPE, if present, is used to override
    # forbidden_devices when mounting or unmounting a specific fstype
    # (eg ext3, ntfs). For example, to prevent device /dev/sdd1 from being
    # mounted when it contains an ntfs filesystem, use:
    # forbidden_devices_ntfs = /dev/sdd1
    # NOTE: device node paths are canonicalized before being tested, so forbidding
    # a link to a device will have no effect.
    forbidden_devices =
    # allowed_networks determines what hosts may be un/mounted by udevil users when
    # using nfs, cifs, smbfs, curlftpfs, ftpfs, or sshfs. Hosts may be specified
    # using a hostname (eg myserver.com) or IP address (192.168.1.100).
    # Wildcards may be used in hostnames and IP addresses, but CIDR notation
    # (192.168.1.0/16) is NOT supported. IP v6 is supported. For example:
    # allowed_networks = 127.0.0.1, 192.168.1.*, 10.0.0.*, localmachine, *.okay.com
    # Or, to prevent un/mounting of any network shares, set:
    # allowed_networks =
    # allowed_networks_FSTYPE, if present, is used to override allowed_networks
    # when mounting or unmounting a specific network fstype (eg nfs, cifs, sshfs,
    # curlftpfs). For example, to limit nfs and samba shares to only local
    # networks, use these two lines:
    # allowed_networks_nfs = 192.168.1.*, 10.0.0.*
    # allowed_networks_cifs = 192.168.1.*, 10.0.0.*
    allowed_networks = *
    # forbidden_networks and forbidden_networks_FSTYPE are used to specify networks
    # that are never allowed, even if other settings allow them (except fstab).
    # NO REVERSE LOOKUP IS PERFORMED, so including bad.com will only have an effect
    # if the user uses that hostname. IP lookup is always performed, so forbidding
    # an IP address will also forbid all corresponding hostnames.
    forbidden_networks =
    # allowed_files is used to determine what files in what directories may be
    # un/mounted. A user must also have read permission on a file to mount it.
    # Note: Wildcards may be used, but a wildcard will never match a /, except
    # for "allowed_files=*" which allows any file. For example, to allow only
    # files in the /share directory to be mounted, use:
    # allowed_files = /share/*
    # NOTE: Specifying allowed_files_FSTYPE will NOT work because the fstype of
    # files is always 'file'.
    allowed_files = *
    # forbidden_files is used to specify files that are never allowed, even if
    # other settings allow them (except fstab). Specify a full path.
    # Note: Wildcards may be used, but a wildcard will never match a /, except
    # for "forbidden_files = *".
    # NOTE: file paths are canonicalized before being tested, so forbidding
    # a link to a file will have no effect.
    forbidden_files =
    # default_options specifies what options are always included when performing
    # a mount, in addition to any options the user may specify.
    # Note: When a device is present in /etc/fstab, and the user does not specify
    # a mount point, the device is mounted with normal user permissions using
    # the fstab entry, without these options.
    # default_options_FSTYPE, if present, is used to override default_options
    # when mounting a specific fstype (eg ext2, nfs).
    # The variables $USER, $UID, and $GID are changed to the user's username, UID,
    # and GID.
    # FOR GOOD SECURITY, default_options SHOULD ALWAYS INCLUDE: nosuid,noexec,nodev
    # WARNING: OPTIONS PRESENT OR MISSING CAN CAUSE SERIOUS SECURITY PROBLEMS.
    default_options = nosuid, noexec, nodev, noatime
    default_options_file = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID, ro
    # mount iso9660 with 'ro' to prevent mount read-only warning
    default_options_iso9660 = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID, ro, utf8
    default_options_udf = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID
    default_options_vfat = nosuid, noexec, nodev, noatime, fmask=0022, dmask=0022, uid=$UID, gid=$GID, utf8
    default_options_msdos = nosuid, noexec, nodev, noatime, fmask=0022, dmask=0022, uid=$UID, gid=$GID
    default_options_umsdos = nosuid, noexec, nodev, noatime, fmask=0022, dmask=0022, uid=$UID, gid=$GID
    default_options_ntfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID, utf8
    default_options_cifs = nosuid, noexec, nodev, uid=$UID, gid=$GID
    default_options_smbfs = nosuid, noexec, nodev, uid=$UID, gid=$GID
    default_options_sshfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID, nonempty, allow_other
    default_options_curlftpfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID, nonempty, allow_other
    default_options_ftpfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID
    default_options_davfs = nosuid, noexec, nodev, uid=$UID, gid=$GID
    default_options_tmpfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID
    default_options_ramfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID
    # allowed_options determines all options that a user may specify when mounting.
    # All the options used in default_options above must be included here too, or
    # they will be rejected. If the user attempts to use an option not included
    # here, an error will result. Wildcards may be used.
    # allowed_options_FSTYPE, if present, is used to override allowed_options
    # when mounting a specific fstype (eg ext2, nfs).
    # The variables $USER, $UID, and $GID are changed to the user's username, UID,
    # and GID.
    # If you want to forbid remounts, remove 'remount' from here.
    # WARNING: OPTIONS HERE CAN CAUSE SERIOUS SECURITY PROBLEMS - CHOOSE CAREFULLY
    allowed_options = nosuid, noexec, nodev, noatime, fmask=0022, dmask=0022, uid=$UID, gid=$GID, ro, rw, sync, flush, iocharset=*, utf8, remount
    allowed_options_nfs = nosuid, noexec, nodev, noatime, ro, rw, sync, remount, port=*, rsize=*, wsize=*, hard, proto=*, timeo=*, retrans=*
    allowed_options_cifs = nosuid, noexec, nodev, ro, rw, remount, port=*, user=*, username=*, pass=*, password=*, guest, domain=*, uid=$UID, gid=$GID, credentials=*
    allowed_options_smbfs = nosuid, noexec, nodev, ro, rw, remount, port=*, user=*, username=*, pass=*, password=*, guest, domain=*, uid=$UID, gid=$GID, credentials=*
    allowed_options_sshfs = nosuid, noexec, nodev, noatime, ro, rw, uid=$UID, gid=$GID, nonempty, allow_other, idmap=user, BatchMode=yes, port=*
    allowed_options_curlftpfs = nosuid, noexec, nodev, noatime, ro, rw, uid=$UID, gid=$GID, nonempty, allow_other, user=*
    allowed_options_ftpfs = nosuid, noexec, nodev, noatime, ro, rw, port=*, user=*, pass=*, ip=*, root=*, uid=$UID, gid=$GID
    # mount_point_mode, if present and set to a non-empty value, will cause udevil
    # to set the mode (permissions) on the moint point after mounting If not
    # specified or if left empty, the mode is not changed. Mode must be octal
    # starting with a zero (0755).
    # mount_point_mode_FSTYPE, if present, is used to override mount_point_mode
    # when mounting a specific fstype (eg ext2, nfs).
    # NOT SETTING A MODE CAN HAVE SECURITY IMPLICATIONS FOR SOME FSTYPES
    mount_point_mode = 0755
    # don't set a mode for some types:
    mount_point_mode_sshfs =
    mount_point_mode_curlftpfs =
    mount_point_mode_ftpfs =
    # Use the settings below to change the default locations of programs used by
    # udevil, or (advanced topic) to redirect commands to your scripts.
    # When substituting scripts, make sure they are root-owned and accept the
    # options used by udevil (for example, the mount_program must accept --fake,
    # -o, -v, and other options valid to mount.)
    # Be sure to specify the full path and include NO OPTIONS or other arguments.
    # These programs may also be specified as configure options when building
    # udevil.
    # THESE PROGRAMS ARE RUN AS ROOT
    # mount_program = /bin/mount
    # umount_program = /bin/umount
    # losetup_program = /sbin/losetup
    # setfacl_program = /usr/bin/setfacl
    # validate_exec specifies a program or script which provides additional
    # validation of a mount or unmount command, beyond the checks performed by
    # udevil. The program is run as a normal user (if root runs udevil,
    # validate_exec will NOT be run). The program is NOT run if the user is
    # mounting a device without root priviledges (a device in fstab).
    # The program is passed the username, a printable description of what is
    # happening, and the entire udevil command line as the first three arguments.
    # The program must return an exit status of 0 to allow the mount or unmount
    # to proceed. If it returns non-zero, the user will be denied permission.
    # For example, validate_exec might specify a script which notifies you
    # of the command being run, or performs additional steps to authenticate the
    # user.
    # Specify a full path to the program, with NO options or arguments.
    # validate_exec =
    # validate_rootexec works similarly to validate_exec, except that the program
    # is run as root. validate_rootexec will also be run if the root user runs
    # udevil. If both validate_exec and validate_rootexec are specified,
    # validate_rootexec will run first, followed by validate_exec.
    # The program must return an exit status of 0 to allow the mount or unmount
    # to proceed. If it returns non-zero, the user will be denied permission.
    # Unless you are familiar with writing root scripts, it is recommended that
    # rootexec settings NOT be used, as it is easy to inadvertently open exploits.
    # THIS PROGRAM IS ALWAYS RUN AS ROOT, even if the user running udevil is not.
    # validate_rootexec =
    # success_exec is run after a successful mount, remount, or unmount. The
    # program is run as a normal user (if root runs udevil, success_exec
    # will NOT be run).
    # The program is passed the username, a printable description of what action
    # was taken, and the entire udevil command line as the first three arguments.
    # The program's exit status is ignored.
    # For example, success_exec might run a script which informs you of what action
    # was taken, and might perform further actions.
    # Specify a full path to the program, with NO options or arguments.
    # success_exec =
    # success_rootexec works similarly to success_exec, except that the program is
    # run as root. success_rootexec will also be run if the root user runs udevil.
    # If both success_exec and success_rootexec are specified, success_rootexec
    # will run first, followed by success_exec.
    # Unless you are familiar with writing root scripts, it is recommended that
    # rootexec settings NOT be used, as it is easy to inadvertently open exploits.
    # THIS PROGRAM IS ALWAYS RUN AS ROOT, even if the user running udevil is not.
    # success_rootexec =
    I have no idea what to do next, the only way it works, is the combination i mentioned in the title of this post. Any suggestion to solve that problem?

  • Case Insensitive Search coupled with "LIKE" operator.

    Greetings All, I am running Oracle 11gR1 RAC patchet 25 on Windows X64.
    This db supports and application that requires case insensitive searches.
    Because there are a few entry points into the db I created an "after login" trigger:
    CREATE OR REPLACE TRIGGER MyAppAfterLogon_TRGR
    AFTER LOGON
    ON DATABASE
    DECLARE
    vDDL VARCHAR2(200) := 'alter session set nls_comp=''linguistic''';
    vDDL2 VARCHAR2(200) := 'alter session set nls_sort=''binary_ci''';
    BEGIN
    IF ((USER = 'MyAppUSER') OR(USER = 'MyAppREPORTINGUSER')) THEN
    EXECUTE IMMEDIATE vDDL;
    EXECUTE IMMEDIATE vDDL2;
    END IF;
    END MyAppAfterLogon_TRGR;
    This ensures that everyone connecting to the DB via any mechanism will automatically have case insensitive searches.
    Now, to optimize the know queries I created the standard index to support normal matching queries:
    select * from MyTable where Name = 'STEVE';
    The index looks like:
    CREATE INDEX "CONTACT_IDX3 ON MYTABLE (NLSSORT("NAME",'nls_sort=''BINARY_CI'''))
    This all works fine, no issues.
    The problem is when I write a query that uses the "LIKE" operator:
    select * from MyTable where Name like 'STEV%';
    I get back the record set I expect. However, my index is not used? I can't for the life of me get this query to use an index.
    The table has about 600,000 rows and I have run gather schema stats.
    Does anyone know of any issues with case insensitive searches and the "LIKE" clause?
    Any and all help would be appreciated.
    L

    I think there is issue with your logon trigger :
    "IF ((USER = 'MyAppUSER') OR(USER = 'MyAppREPORTINGUSER')) THEN"
    it should be :
    IF UPPER(USER) = 'MYAPPUSER' OR UPPER(USER) = 'MYAPPREPORTINGUSER' THEN
    because user name stored in Upper case. Check and try.
    HTH
    Girish Sharma

Maybe you are looking for