Feature Request | Allow custom metadata per table/column to be stored

Someone please correct me if there's already a feature that allows this...
I'd like to see a feature where you can define a set of metadata that can be stored per table / column, and perhaps a trigger that updates that metadata.
As a use case, it is sometimes necessary to find out how many records exist in a table, and the typical way of doing this is by running a statement like select count(*) from example_table;. With a large table, this statement might take a long time though, and certainly has overhead associated with it. If this is something that's done on a regular basis, like maybe even once every minute, wouldn't it be much better to store this number as metadata for the table that can be updated on inserts and deletes and then can be queried? It might involve extra overhead on an insert or delete statement to add to or subtract from this number, but then for some applications the benefit of getting the count quickly might outweigh the extra overhead.
Another use case is finding a minimum or maximum out of a table. Say you store a date and you need to find the max value for some feature in your application; with a large table, and especially if its a date with accuracy to the millisecond where an index wouldn't help much because most values are unique, it can take quite a bit of time and overhead to find that max value. If you could define for that column that you'd like to store the max value in metadata, and could query it, it would be very quick to get the info. The added overhead in this scenario would be on insert, update or especially on delete, the value would have to be updated. But in some applications, if you don't expect alot of deletes or updates on this column, it might be worth the added overhead to be able to quickly find the max value for this column.
I know you could probably make a separate table to store such info, and write triggers to keep it up to date, but why not have a built in feature in Oracle that manages it all for you? When you create a table, you could define with the column definition something like 'METADATA MAX' and it will store the max value of that column in metadata for you, etc.
I know that the overhead of this feature wouldn't be good for most circumstances, but there certainly are those cases where it would be hugely beneficial and the overhead wouldn't matter so much.
Any thoughts?
Can this be submitted as a feature request? Am I asking in the right place?
(p.s. while you're at it, make a feature to mimic IDENTITY columns from SQL Server!)

I don't think what you mentioned is exactly what I was talking about. There's no min_value or max_value in the dba_tab_columns table; there's only high_value and low_value, and they are stored in binary. And I believe to be accurate in the use cases that I suggested, you would have to analyze the table after every insert/update/delete. So no, that's not the same feature I've asked for, although I appreciate the feedback.
Also, the num_rows in dba_tables relies on the table being analyzed too, so for a table that stores temporary date to be processed where you want to know the size of the queue every few seconds, it wouldn't make sense to analyze the whole table every few seconds when all you want is a count of the records, and it's also inefficient to use the COUNT function with every query when it would be much faster to store the count in some metadata form that is updated with every insert or delete (adding to a count and subtracting from a count with each insert/delete is WAY faster than analyzing the table and letting it literally recount the entire table every time).
So again, while I appreciate the feedback, I don't think what you mentioned addresses either of the use cases I gave. I'm talking about a different kind of user defined metadata that could be stored per table/column with rules to govern how it is updated. Not you standard metadata that requires an analyze and isn't real time. I also only gave a few use cases, but the feature I'm really looking for is the ability for users to define many different types of custom metadata even maybe based on their own logic.
Again, this feature could be implemented right now by creating a USERMETADATA table for every standard table you have, and then using triggers to populate the info you want at the table level and column level, but why do that when it could be built in?
Also, I don't really agree that having to create a trigger/sequence for every table instead of setting a column as IDENTITY is better. It's cumbersome. Why not build these commonly used features in? It can create a trigger/sequence behind the scenes for all I care, but why not at least let someone mark a column as IDENTITY (or use whatever other term you want) at the time of table creation and let it do everything for them. But that's off-topic; I meant it for more of a side comment, but should really have a separate post about it.

Similar Messages

  • Display custom metadata/ add new columns in document explorer of spaces

    We have client requirement to show custom metadata in the document explorer home sceen, like Document name, Size, Author, etc..
    Can we display metadata from advanced properties of a file like a column or can we add new columns to display to document explorer.
    How can we achieve this goal, can we customize taskflow to achieve this goal.
    Thank you,

    For what it's worth, I posted pretty much the same question a couple of days ago:
    How to show document title instead of file name in Document Manager
    If you check the source of the task flow you'll notice that the document explorer contains an af:treeTable that iterates over a collection of items.
    I have not yet identified the class it is iterating over, but I doubt you will be able to add custom metadata to this table. Perhaps the document title (which I am looking for) which is a common field, but not others.
    Might be an enchancement request for Oracle Support.

  • Feature Request: Allow Apps to Access Apple ID User Address

    This is a feature request for new iOS functionality
    If iOS gave permission for apps to access the home or billing address a user has defined when setting up their Apple ID, then I believe the app can use this address to automatically set up the shipping of a purchased item for example. This would enable apps to sell physical goods, paid for by the user's Apple ID and set up for shipping to his Apple ID address, instantly.
    I believe couriers already have SDKs that allow apps to programatically register the pickup and shipment of an item.
    Users can then be able to manage their addresses in iOS/iCloud.

    This will never happen because of the obvious security implications.

  • Custom sort pivot table columns with Essbase as the data source

    Is it possible to sort columns in a pivot table according to an arbitrary value that I define when the data is coming from Essbase?
    For example, say I have a dimension called Soda, with values Coke, Diet Coke, Dr. Pepper and Diet Dr. Pepper. I create a report with a sales measure with the measure labels on the rows and the Soda dimension on the column. By default the columns will be sorted alphabetically:
    Coke Diet Coke Diet Dr. Pepper Dr. Pepper
    Sales 1M .5M .75M 1.25M
    I want to create a report that looks like this:
    Coke Diet Coke Diet Dr. Pepper Dr. Pepper
    Sales
    I think I could do this if the source was relational just by creating bins or creating a custom column with a case statement that assigns each Soda an arbitrary value and then sort on this value. Everything I've tried with Essbase as the source, though, results in:
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 42043] An external aggregate is found in an outer query block. (HY000)
    Any ideas?

    Hi,
    1. You can try solve the 'An external aggregate is found in an outer query block' by changing aggregation rule for your measure both in physical and business layer.
    By default it's set to Aggr_External - change it to Sum
    In physical : Column properties->Aggregation rule
    In business model : Column properties->Aggregation tab -> Default aggregation rule.
    This may change the result - after changing check whether you still get correct values.
    2. Also, in case the desired order is the same as the order of members in the Essbase cube, and you want to leave Aggr_External, you can create a calculated column that will help you with the sort.
    See http://oraclebizint.wordpress.com/2008/04/28/oracle-bi-ee-101332-handling-sort-order-in-hyperion-essbase-931-evaluate-and-mdx/
    Hope this helps,
    Alex

  • Feature request: Allow direct connections for contacts only

    Hello, on Windows there is an option "Allow direct connections to contacts only" as described on http://en.kioskea.net/faq/32357-skype-hide-your-ip-from-people-who-are-not-on-your-contact-list. Many people including myself would like to see this feature implemented in the Linux client. There are solutions to protect the IP from resolvers like setting up proxies. However, the performance of free SOCKS-proxies is mostly very bad. VPNs with an appropriate bandwidth also cost an amount of money and additionally, it is difficult to only route Skype traffic through a VPN. Setting up a VM with Windows or WINE just to run Skype is an overkill as well. I consider it inconvenient that this feature is implemented on Windows while - in my opinion - mainly Linux users being aware of security might be in need for this feature. Therefore, I request to implement such a functionality into the Linux client. Kind regards from Germany

    If  you want to enable that feature on a Skype client that does not offer it in the GUI you would have to do it manually.  You can follow the guidance here and the same information applies to the Linux client and any other client you have root or file-level access to. http://community.skype.com/t5/Modern-Windows-from-Windows/Windows-8-IP-Hiding/m-p/2876437/highlight/true#M19476 Linux path:/home/Username/.Skype/YourSkypeName/config.xml

  • FEATURE REQUEST: Allow Smart Playlists to sort by Release Date

    I listen to my iPod in my car and have a one of those kits where you can control your iPod through your stock stereo (i.e. select playlists by pressing buttons 1-6, and changing tracks with the next track/ last track buttons). One of my playlists is a smart playlist that looks for all downloaded audio podcasts that have not yet been played. As of right now, I have to go into the playlist after every update and reorder the podcasts manually in order from earliest release to newest release. The only date-sorting column right now is "date added". This doesn't work because if I update and download two or three episodes from one podcast, they all have the same date in that field, even if they were released on different days.
    Please iTunes, allow a column heading that sorts podcasts by Release Date. This would make my life a lot easier and I'm sure I'm not the only one. I know when I'm looking at all my podcasts from the Podcast-Manager portion of iTunes that I can see the Release Date column, however it is not an available column outside of that view.
    Anybody else wanna see this feature?

    I was looking for the exact funtion too. Please don't make our life any harder

  • Feature Request: Add Slash & Backslash in Split-column-by-delimiter delimiters

    I frequently use columns with file path or URL values, and often need to use / or \ as a delimiter in Split-column-by-delimiter operations. I wish these two chars were added to the built-in list of available delimiters.
    It seems that they are the ones that I use most, yet each time I have to select --Custom-- + type it. :-(

    Ok, thanks for the feedback. We'll take it into consideration for future releases.
    If anyone else feels this would be helpful, please chime in.
    Ehren

  • Feature Request - Allow direct editing of hidden OCR text to correct errors

    Examining an OCR-scanned PDF allows the OCR plain-text results to be "previewed," but in a read-only format.  We need to be able to edit this text to correct the inevitible errors.
    I just scanned a document, and the results are mosty OK, but there are two lines that are complete garbage.  I personally have never performed a completely error-free OCR scan in Acrobat or anywhere else.  Editing the image text is no solution, especially if the font is unavailable.
    Other OCR-enabled apps I have worked with expect you edit the results.  Acrobat should too.

    If Adobe won't do it, maybe somebody else will.  Nuance.com specializes in OCR, among other things.  They've also got a PDF converter.  Maybe they'll recognize the value of marrying the two.

  • Feature Request: allow Layer sort options + math in layer search fields

    First off, thank you so much for implementing layer sorting! I have one suggestion, and that would be to add a sort option by most recently edited or most recently created.
    That and the ability to do math in fields would be sublime.

    Hello Sly,
    I did exactly thuch beast for freehand some years ago. It's called Layersets. Perhaps we can discuss this off list first.
    My Email is [email protected]
    regards
    Michael

  • Feature request: allow to restore previous playing position on start iTunes

    I have very big music store and it'll be convenient to get an option "restore playing position on start".

    I'd suggest you submit your suggestion through the iTunes application feedback page. It's more likely to be seen by the iTunes development group that way.

  • Map excel columns to oracle table column using forms 6i

    Hello,
    I am importing data from excel to oracle table using oracle forms 6i.
    Suppose my table have 3 columns id, name,sal. The excel sheet i am importing having
    3 or more colums, also excel sheet columns are not in order as per table columns.
    i.e my table have id, name, sal
    and excel have name, sal, id
    my question is how can i map excel colums with table colums and insert it into table.
    I am using oracle 6i forms (ole2 package).
    Thanks

    What was wrong with the first answer to the same question?
    Re: map excel columns on oracle forms and insert it into database

  • Feature request: Importing/backup/archive of tracks with metadata

    Hi everyone,
    I've found that one of the things iTunes does better than any other music player is handling and organising song information. Have you ever seen a PC user's jukebox? Thos things are a real mess, with cryptic track names ("mike mills - air - talkie walkie - 05"), artists in the album column, etc...
    All of this information which describes the file itself is called "meta-data", and iTunes handles meta-data in two seperate places: the song file itself (ID3 tags in MP3s, for instance) and the iTunes library file.
    You'll notice that when you drag a music file from one iTunes library to another, the meta-data stored in the file itself is preserved (artist, title, track number, etc...), while the meta-data stored in the iTunes library isn't (your rating, the play count, the last date played, etc...).
    What I'm suggesting here is a feature that allows one to:
    (a) make a folder / burn a disk with the song files AND a special iTunes meta-data (XML?) file, so that all meta-data is preserved,
    (b) optionally delete the music files from your library after backup (i.e. archiving), and naturally,
    (c) open and read backup/archive folders and disks, and allow one to reintegrate songs, playlists or the entire collection back into one's main music library.
    I hope Apple is listening, because I think this feature would be really easy to implement, and would make a lot of people (especially those who keep their music spread across 2 or more computers) very happy!
    I've already set up a smart playlist ("Give me 4.5 GiB of disabled (unchecked) tracks from my library, sorted by least recently added") that gives me the candidates for archival. Now, all I'm hoping for is a button that allows me to archive (move) everything to a DVD, clear some space on my PowerBook hard drive and rest assured that if I ever want to go back and retrieve a track, it'll be waiting, with the playcounts, song information and ratings all intact!
    ...either that or make all hard drives at least 1000 times bigger. I'm not picky.
    Cheers,
    - tonyboy
    PowerBook G4    

    Thank you for an idea!
    I wrote a simple script to get metadata from files and offset AE clip times respectively. It is quite dirtycoded but does the job for me. Maybe someone will want to use this script, so I put it on a public accessible URL: http://zig-zag.ru/usefulshit/ae/xmp_time_shifter.jsx
    My workflow is as follows:
    - I separate camera footages (.mov, .jpg, etc...), and put them to folders like camera_01, camera_02 etc
    - create new project in AE, new composition - named "camera_01_p1", import files from camera_01 folder to a project panel, drag'n'drop them to a compo, select "camera_01_p1" compo and run xmp_time_shifter.jsx
    - I have 8 hours of footage, so I duplicate "camera_01_p1" composition, name it "camera_01_p2", delete all layers but unshifted ones, rerun time shifter script, repeat with the rest
    - do the same with camera_02 (don't forget to adjust still photo layer duration before time shifting)
    - export to a premiere project (yeah, thank you for this one!)
    - then I open project in premiere, copy everything to a same sequence (different layers where needed)
    - last thing is to sync entire video and photo layers at some known moment - it is done easily by placing marker at some time feature on different video/audio clips, and manually shifting entire layer to sync
    - profit!
    Since we are allready offtopic to premiere, I place some of my notes here:
    - XMPFile function does not read files like "/d/path" on my windows 7, so I replaced them with "d:/"
    - don't understand why, but this check - if(fname != null){ is not working. So script will fail on compositions with solid, null, etc. layers.
    - I wrote simple date parser that is currently working with Nikon D3 (.jpg) and Canon 5D mk2 (.mov) but it can fail on some other models/formats.

  • Feature Request "Copy of column-name" in 2.1.1 not working

    Scanning all the feature requests added to 2.1.1, i came across to the following one:
    Title: Copy of column-name
    Description:
    after getting the query result it would be greate if we can mark the column-name and the copy the name of the column to the clipboard for further use (e.g. select colum_name from table ...)
    Comment:
    Try 2.1.1. You can drag a selection of columns to the worksheet. If not, then please provide more detail in future request.
    Status: In Release 2.1.1 ;
    Now i've tried few times to drag the column from the query result into the worksheet but it doesn't work. The only thing which works is to change the columns orders in the grid result.
    Anybody experience the same result?
    Dani

    @Raghu
    I'm already aware of this and it's working but the downside is that it copies the cell value too which i don't see the point.
    If i want the cell values than i can export or copy them.
    The request description was different though.
    @K
    Unfortunately you can't drag the column name from the navigator or result grid. Would be nice if it would.
    Is anything else i can do to get this fix or are you gonna raise a CQ for this?
    Regards,
    Dani

  • Maximum number of partitions allowed per table.

    Interesting findings with interval partitioning:
    SQL> SELECT  *
      2    FROM  v$version
      3  /
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for 64-bit Windows: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    SQL> DROP TABLE tbl PURGE
      2  /
    Table dropped.
    SQL> CREATE TABLE tbl(
      2                   id number(6),
      3                   dt date
      4                  )
      5    PARTITION BY RANGE(dt)
      6      INTERVAL (INTERVAL '1' DAY)
      7      (
      8       PARTITION p1 VALUES LESS THAN (date '-857-12-31')
      9      )
    10  /
    Table created.
    SQL> select  partition_name,
      2          high_value
      3    from  user_tab_partitions
      4    where table_name = 'TBL'
      5  /
    PARTITION_NAME HIGH_VALUE
    P1             TO_DATE('-0857-12-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'N
                   LS_CALENDAR=GREGORIAN')
    SQL> INSERT
      2    INTO tbl
      3    VALUES(
      4           1,
      5           sysdate
      6          )
      7  /
    1 row created.
    SQL> DROP TABLE tbl PURGE
      2  /
    Table dropped.
    SQL> CREATE TABLE tbl(
      2                   id number(6),
      3                   dt date
      4                  )
      5    PARTITION BY RANGE(dt)
      6      INTERVAL (INTERVAL '1' DAY)
      7      (
      8       PARTITION p1 VALUES LESS THAN (date '-858-01-01')
      9      )
    10  /
    Table created.
    SQL> select  partition_name,
      2          high_value
      3    from  user_tab_partitions
      4    where table_name = 'TBL'
      5  /
    PARTITION_NAME HIGH_VALUE
    P1             TO_DATE('-0858-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'N
                   LS_CALENDAR=GREGORIAN')
    SQL> INSERT
      2    INTO tbl
      3    VALUES(
      4           1,
      5           sysdate
      6          )
      7  /
      INTO tbl
    ERROR at line 2:
    ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions
    SQL> From Logical Database Limits:
    Maximum number of partitions allowed per table or index: 1024K - 1
    I always thought limit implies to number of actual, not potential partitions, however it looks like I was wrong, although it makes not much sense to limit potential and not actual partitions:
    SQL> select  trunc(sysdate) - date '-858-01-01',
      2          1024 * 1024 - 1
      3    from  dual
      4  /
    TRUNC(SYSDATE)-DATE'-858-01-01' 1024*1024-1
                            1048661     1048575
    SQL> select  to_char(DATE'-858-01-01' + 1048575,'MM/DD/YYYY')
      2    from  dual
      3  /
    TO_CHAR(DA
    11/17/2012
    SQL> So tomorrow "magic" date should increase by one day. I'll test it. But more interesting if tomorrow I will be able to insert a row that forms a new partition into table TBL.
    SY.

    rp0428 wrote:
    The other argument is that Oracle has to be able to automatically create any partition required and it can only create 1024k - 1. So if you create yours with sysdate how could it create all of the others?Not sure I follow. What is the purpose of counting potential partitions? Partition part# iin sys.tabpart$ is not assigned based on potential partition position. If I issue a DDL to create new partition regardless of interval/non-interval partitioning Oracle has to check how many partitions table has so far or po and raise same/similar exception if partition I am asking to create is over the limit. And, in any case, knowing we can create all potential partitions at table create time doesn't mean I will not try to insert data outside the range. So there is absolutely no guarantee Oracle can automatically create any partition requested. Again, I don't understand why creating non-interval partitioned table with a single initial partition has partition count of 1:
    SQL> DROP TABLE tbl1 PURGE
      2  /
    Table dropped.
    SQL> CREATE TABLE tbl1(
      2                    id number(6),
      3                    dt date
      4                   )
      5    PARTITION BY RANGE(dt)
      6      (
      7       PARTITION p1 VALUES LESS THAN (date '-857-12-31')
      8      )
      9  /
    Table created.
    SQL> SELECT  partition_count
      2    FROM  user_part_tables
      3    WHERE table_name = 'TBL1'
      4  /
    PARTITION_COUNT
                  1
    SQL>And interval partitioned table with same single initial partition has partition count of 1048575:
    SQL> CREATE TABLE tbl1(
      2                    id number(6),
      3                    dt date
      4                   )
      5    PARTITION BY RANGE(dt)
      6      INTERVAL (INTERVAL '1' DAY)
      7      (
      8       PARTITION p1 VALUES LESS THAN (date '-857-12-31')
      9      )
    10  /
    Table created.
    SQL> SELECT  partition_count
      2    FROM  user_part_tables
      3    WHERE table_name = 'TBL1'
      4  /
    PARTITION_COUNT
            1048575
    SQL> Would be interesting to find out what forces Oracle to go into potential partition mode for interval partitioning.
    SY.

  • Is there a recommended limit on the number of custom sections and the cells per table so that there are no performance issues with the UI?

    Is there a recommended limit on the number of custom sections and the cells per table so that there are no performance issues with the UI?

    Thanks Kelly,
    The answers would be the following:
    1200 cells per custom section (NEW COUNT), and up to 30 custom sections per spec.
    Assuming all will be populated, and this would apply to all final material specs in the system which could be ~25% of all material specs.
    The cells will be numeric, free text, drop downs, and some calculated numeric.
    Are we reaching the limits for UI performance?
    Thanks

Maybe you are looking for

  • Upgrade Video Card for HP Pavilion a6228x Desktop PC

    I'm wanting to upgrade the video card and was wondering if there were any suggestions as to a good card for under $60. I just need something equivalient to  "NVIDIA GeForce 7800 GT or ATI Radeon X1950 Pro" or better. I just got Star Wars the Old Repu

  • MacBook Pro Boot Camp Battery Issue

    Hi all, I have just installed Vista on my MacBook Pro late 2008 via BootCamp. The thing is that I have very low battery life under Vista (1hr 50mins at 100% battery). Other than that, when I choose "Restart in Mac OS X" in the Boot Camp Utility on Vi

  • FR Studio login issues

    I just installed FR Studio 11.1.2.1. I'm trying to connect to FR server 11.1.1.3. It throwed an error message saying "You're not authorized to use this functionality. Contact your administrator". Does this mean I can't connect to 11.1.1.3 using FR St

  • Components of Dialog Programming?

    Hi All, What are the components of Dialog Programming? Regards, Waseem

  • CS3 Bug

    Has anyone else experience this. Open your site in CS3 then on the right Files pallet, try to collapse all the folders. As you are collapsing them others expand automatically.