Tricky CSS_XML Problem

I am having trouble fading XML-based text formatted w/CSS.
What I'm attempting to do is use an internal CSS sheet to
format external XML text.
I have it working except for the fontWeight property. When I
assign
style.fontWeight = "bold",
the text doesn't become bold. It does work if the font is not
embedded, but then I can't control the transparency, which I need
to do. When the font is embedded, all the other properties of a
style are obeyed except the fontWeight.
As a workaround, I tried dynamically adding a TextField, but
obtained the same results, except when textField.embedFonts = true,
the TextField doesn't accept the xml text and is empty.
As another workaround, I tried to apply an external CSS file
to the text, but I couldn't figure it out in AS3. I think its a
timing issue related to when the xml and css load, but even if I
delay populating the textField, when I apply the external css, the
textField is empty.
I also tried assigning the font using the CSS (FontFamily),
but the TextFields which exist on the stage become empty.
I've
posted
the files here. Any suggestions will be appreciated.
Thanks much.

voxL,
> It does work if the font is not embedded, but then I
can't
> control the transparency, which I need to do. When the
> font is embedded, all the other properties of a style
are
> obeyed except the fontWeight.
You'll need to embed both the normal version of the font
(which it
sounds like you've done) and also the bold version of the
font. In other
words, two font symbols in your Library ... or, two stand-in
text fields --
they can even be off the Stage -- in which the Property
inspector's Embed
button includes the font outlines for bold and nonbold.
David Stiller
Adobe Community Expert
Dev blog,
http://www.quip.net/blog/
"Luck is the residue of good design."

Similar Messages

  • Tricky syncing problem

    I have a tricky little problem I hope someone can help me resolve. I have an iPhone and a registered Apple account. My son have also an iPhone and have used my account to purchase apps and music, which is perfectly in order since he have my permission and was a little too young to have an own credit card. He have never synced his iPhone with iTunes, only downloaded the apps and songs from App store directly on the phone. But now he is going to get his own credit card to use with his own Apple account, and of course he wants to keep, his music, photos, videos and the apps he have downloaded and purchased (and I have paid for =)
    I'm not really sure how to make this happen so any help is appreciated.
    He have inherited my old iMac that I have recently made a clean install of Mavericks on, and I have a new Macbook that I haven't yet synced my iPhone with, but I copied my old iTunes folder to an external USB drive and is planning to replace the empty iTunes folder on my new Macbook. The apps and music my son have purchased with my account is installed on his iPhone only.
    Don't know if this is even resolvable, but thought I give it a go here to see what you clever people can come up with.

    Unfortunately, apps are not transferrable between iTunes accounts, which means he won't be able to keep those apps.  It doesn't matter if he uses an old computer of yours, once he logs into the iTunes store with his ID and syncs his iPhone the apps may be removed (and if not, he'll have to enter your password each time there's an update to those apps, which may not be what you'd want).
    Music can be shared between accounts.  If you are passing on your iMac, but have erased the iTunes library in the process of installing Mavericks, he can still re-download the songs from iTunes as long as he's logged into your account in iTunes (click the "Purchased" link in the store).  Once he re-downloads the songs he wants, he can log out of the iTunes account and log in with his, and the music will remain playable and can sync to his iPhone.  Future purchases would go against his account.  While logged into your account, resist the temptation to re-download apps since once he logs out of your account and into his, those apps will prompt him for your password on each update.
    Alternative to re-downloading songs to the computer, if he first signs into iTunes with your account and connects his iPhone, he should be prompted to transfer all purchased content, including apps.  Once the transfer to the iMac is complete, then sign out of iTunes and sign back in with his new ID.  But again, delete the apps purchased on your account to avoid problems.
    One warning though, once he syncs the iPhone with the iMac it may prompt him to erase it.  But if it has never been synced with any computer, maybe not.  If it is, at least he'll have the music in the iMac's library to re-add to the iPhone.  But to save photos and settings, etc. it may be best to backup the iPhone to iCloud first.

  • Tricky design problem

    The system I'm working with stores travel paths. The tricky thing is that these travel paths must be unique.
    Path, [Locations]
    1, [A, B, C]
    2, [A, C]
    3, [C, A]
    4, [A, B, C, D]
    Note that path 2 and 3 are fine since the order of the locations has changed.
    Since the number of places a path can include is relatively small, I thought I could create a compound unique secondary key for each path consisting of the UID of each place in the correct order (in the correct order and separated by a hyphen). To bind a path to Locations and vs. I'd add an associative PathLocations Table (including sequence information) and implement an insert/update/delete trigger that would modify the associated Path's compound key. This would fail if the unique constraint was violated.
    Mechanically this will no doubt work, but it feels so ugly I wonder if anybody had an elegant solution for this problem.
    Thanks for any ideas and pointers in advance.
    Pete
    Edited by: petehug on Mar 11, 2012 3:10 PM
    Edited by: petehug on Mar 11, 2012 3:11 PM

    In the year 2042, when we might finally have got support for the CREATE ASSERTION statement, we could implement your requirement with the following 'patterns':
    create table points -- Aka. locations
    (id     number not null primary key
    ,c1     varchar2(10) not null)
    create table lines -- Aka. paths
    (id     number not null primary key
    ,c1     varchar2(10) not null)
    create table line_vertices -- Pathlocation
    (line     number not null
    ,from     number not null
    ,to     number not null
    ,check(from != to)
    ,unique(line,from)  -- prevents splits
    ,unique(line,to)    -- prevents merges
    ,foreign key (line) references lines
    ,foreign key (from) references points
    ,foreign key (to) references points)
    Rem
    Rem Prevents disjunct line-segments within a line (route).
    Rem Also prevents 'loops'.
    Rem
    create assertion one_origin_per_line as
    check(not exists
            (select 'a line without exactly one origin'
               from lines l
              where 1 != (select count(*)
                            from line_vertices v1
                           where v1.line = l.id
                             and not exists
                                   (select 'a previous hop'
                                      from line_vertices v2
                                     where v2.line = l.id
                                       and v2.to = v1.from)))
    Rem
    Rem Redundant, but mentioned for clarity.
    Rem
    create assertion one_destination_per_line as
    check(not exists
            (select 'a line without exactly one destination'
               from lines l
              where 1 != (select count(*)
                            from line_vertices v1
                           where v1.line = l.id
                             and not exists
                                   (select 'a next hop'
                                      from line_vertices v2
                                     where v2.line = l.id
                                       and v2.from = v1.to)))
    Rem
    Rem All lines must be 'unique'.
    Rem
    create assertion no_duplicate_lines as
    check(not exists
            (select 'two lines with same vertices'
               from lines l1
                   ,lines l2
              where l1.id !=l2.id
                and not exists
                      (select 'a l1-vertice not in l2'
                         from line_vertices v1
                        where v1.line = l1.id
                          and not exists
                                (select 'a matching vertice in l2'
                                   from line_vertices v2
                                  where v2.line = l2.id
                                    and (l2.from,l2.to) = (l1.from,l1.to)))
                and not exists
                      (select 'a l2-vertice not in l1'
                         from line_vertices v2
                        where v2.line = l2.id
                          and not exists
                                (select 'a matching vertice in l1'
                                   from line_vertices v1
                                  where v1.line = l1.id
                                    and (l1.from,l1.to) = (l2.from,l2.to)))
    /Edited by: Toon Koppelaars on Mar 16, 2012 11:16 AM

  • Tricky regex problem

    OK it's late but this one has me stumped. I need to
    dynamically change URLs in a block of HTML. Sounds easy, except
    what if the URL is something like "/index.cfm" that I want to
    change to, say, "/newdir/index.cfm".
    In other words, I'd want all these to match:
    /index.cfm
    http://www.site.com/index.cfm?name=value
    ftp://www.anothersite.com/index.cfm
    But definitely NOT anything that's a different URL, like:
    /subdir/index.cfm
    Basically, I don't want a situation where /subdir/index.cfm
    is translated into /subdir/newdir/index.cfm
    To that end, I figured I'd take any match for my directory,
    EXCEPT where it was immediately preceded by some other subdirectory
    . However, the only way I can think of to do this is with an
    intermediary value, as in:
    HTMLString = 'a href="/leavethisalone/index.cfm" a
    href="/index.cfm?name1=var1"';
    HTMLString = REReplaceNoCase(HTMLString,
    "(\/[0-9a-zA-Z\-]+)\/index.cfm", "\1SomethingThatIsNeverInHTML",
    "ALL");
    HTMLString = replaceNoCase(HTMLString, "\/index.cfm",
    "/newDirectory/index.cfm", "ALL");
    HTMLString = replaceNoCase(HTMLString,
    "SomethingThatIsNeverInHTML", "/index.cfm", "ALL");
    This gets expensive as I'm doing two extra replaces. Is there
    a way to just do this in one go?
    Thanks,
    - Andrew.

    Your problem can get tricky but as you've described it, this
    should work:
    REReplaceNoCase (" " & HTMLString, "(
    http://[0-9a-z_\.-
    "\1/newdir/index.cfm", "ALL");

  • Z77A - GD65 - tricky one problem with 1X and 16x mix.

    I can tell you some feedback that I have done extensive testing on - ANY help would be greatly Appreaciated !
    (if you have a digital wallet of particular happy to send Crypt cunnency ! for solution ! )
    I have 6 7900 Series ATI for sCrypt mining  using CGminer  but all that aside i think this is a PCie problem?
    on our MSI Z77a_GD65 - if a 1X and a 16X slot are connected the  16X slot get allocated GPU 0 in CGminer and by default sets to 500MHz Core and 150Mhz mem clock. i.e it does not function properly -
    its like the plugging in of a card to the 1X slot is voltage down the 16X pcie slot - or taking Channel space from it?
    This board has 6 usable slots - if 3 Cards are in 3 1X slots then all will # at around 550 500 K# without tweaking no problems , everything is normal .
    likewise if 3 Cards are in 16X size slots - all cards Run  , 3 cards run  fine .
    BUT
    if slots are mixed - even just 2 cards  i.e 1 Card on a 1X and 1 Card on a 16X  - then CGminer sets GPU 0 to the the card present in the 16X slot and sets it to 500mhz Core and 150Mhz memclock .
    I've tested multiple combinations of 1X and 16X slots so as to exclude any particular slot  i.e 1 and say 5 and 3 and 2 .
    Also updated Bios to 10.8 which states "better Pcie Compatibility"
    Set PCIe Latency to 96 in Bios.
    danced around room with wooden totum , sacraficed a rubber chicken.
    Disabled Gen3 becasue it is not needed - Cyrpt mining does not need bandwith.
    looking for the answer, maybe a voltage issue?
    may result in jumper or Pin?
    power is ample have 1500W Revo _ and this happens when running just 2 cards.
    8 Gig Ram - Processor INTEL G1610 - should have enough PCI channels ?
    Driver 13.5 - SDK 2.6 - not a Driver problem tried nearly all drivers.
    PCIe Problem !? voltage issue?
    ** also any card run singally by itself in any single 1X or 16X slot is fine and performs normally.
    I purcahsed the Motherboard New and it still has Warranty.  (other than that love the booard, love the onboard IO button)

     The Intel X79 Express platform supports 40 PCIe 3.0 lanes via the CPU for graphics. The Intel X79 Express PCH itself supports eight lanes of PCIe 2.0 connectivity for other external devices.
     Of that would also require purchase of Sandy-E CPU along with the BB-XP ll
     Compare that with the much less 16 lanes for Sandy & Ivy platforms.
     It's not an issue of how many cards you use, it's how many lanes each card uses. If you use 3 cards that use up all lanes and have empty slots they are useless anyway because you have already used up all available lanes.

  • Tricky File Problem!!

    I have written an Internet application that uploads
    desired image-files to the server. After the image
    has been uploaded I try to read it and scale it using:
    Image inImage = new ImageIcon(imageFilename).getImage();The problem is that the image won't be read!!! I think
    this has to do with permissions on the server, am I right???
    Because when the file is upload the permissions har set to:
    -rw-r--r--    1 nobody    nogroup   1460217 aug 9 23:19 theImage.jpgI should add that the server is a Linux-server and the directory is
    something like:
    /home/a/acompany/upload/The directory has these permissions:
    drwxrwxrwx    2 oknjudun users         248 aug  9 23:36 upload/Why doesn't it work to read the image????
    Please help, Ernstad

    have you tried doing this:
    chmod a+rwx <insert file name>
    on the file to see if that makes a difference (i.e. works).. thus confirming your theory?
    Tim

  • Tricky bridge problem to studio out back in the woods.

    I've tried all sorts of configurations... here is the problem: Happy in the house with my MacBook and my husband's iMac using airport to the old clam- shaped Extreme and DSL. Would like to use my old iBook for internet work out at my studio space that is out back - 160 yds into the woods. My husband's office is about half way between so I thought if I could bridge the airport stations, I might get this to work.
    I purchased Airport Extreme and an Airport Express to use for the bridge. Is it too far for the signal, as all I get is the flashing amber signal? Do I need to load more software? I don't want to screw up the existing network, so I'm reluctant to try this. I'm stumped and the stuff is due back in Rochester (hour and a half away from here) in a week if it doesn't work. Any geniuses out there that could help with some advice? Thanks!

    mharris56, Welcome to the discussion area!
    The range of the AirPort Express (AX) is 50 yards. So it won't bridge the link from your house to your husband's office nor the link from your husband's office to your studio.

  • SQL statement - tricky search problem

    Hi,
    I am working in asp and use an Access db. I have a database
    with 500 shops around the world, the table contains among other
    things shop name, country and region (Europe, Asia etc). Then a
    search page with dropdown lists, one for Region and one for
    Country. Here is the problem, which seems easy first, but I really
    can´t get the sql statement to do what I want:
    The Region list has the following values:
    Any region
    Europe
    Asia
    etc
    The country list has te following values:
    Any country
    Sweden
    Germany
    USA
    etc
    Ok, so the problem is if the user choose "Any Region" and
    "Any Country" all shops should come up. "Europe" and "Any Country"
    should give all shops in Europe". "Any region" and "Sweden" should
    pull up ONLY shops in Sweden. "Europe" and "Sweden" should also
    pull up shops in Sweden only.
    Now you start see the problem. I have laborated with AND resp
    OR statments and also % resp xyz in the "Any Country" and "Any
    Region" values.
    Any help would be highly appreciated! Thanks!!

    Thank Manish,
    Could you tell me how to restrict in following codes?
    select
    e.EQUIPMENT_ID,
    e.HOST_NAME,
    e.SERIAL_NUMBER,
    e.CITY,
    e.ROOM,
    e.RACK,
    e.CR_DT,
    e.CR_USR,
    e.LM_USR,
    e.LM_DT,
    e.TASK_TASK_ID
    from SVR_EQUIPMENT e
    where
    instr(upper(e.SERIAL_NUMBER),upper(nvl(:P1_REPORT_SEARCH,e.SERIAL_NUMBER))) > 0 and
    instr(upper(e.CITY),upper(nvl(:P1_REPORT_SEARCH,e.CITY))) > 0 and
    instr(upper(e.CR_USR),upper(nvl(:P1_REPORT_SEARCH,e.CR_USR))) > 0 or
    instr(upper(e.LM_USR),upper(nvl(:P1_REPORT_SEARCH,e.LM_USR))) > 0
    Thanks for all again,
    Sam

  • Tricky sorting problem

    Hi,
    I have been thinking about this and can't figure out the best way to go. Maybe someone has come across a similar problem.
    I have an array/vector etc of shapes (lines, quads, cubics) that each have 2 endpoints. These shapes may or may not be connected. A shape is connected to another shape if one of its end points has the same coordinates as an endpoint of another shape. I need to separate the array of shapes into two arrays, one with the connected shapes in the order that they are connected to each other, endpoint to endpoint and the other with the unconnected shapes in any order. What is the best way to create the array containing the connected shapes in their connected order (starting with an arbitrary shape)? It seems like it would take
    O(n squared) because each shape has to check to see if it is connected to every other shape. Is there a better way to do this? I have thought if using a SortedMap but the sorting depends on its connection to other shapes so I don't think that would work. Is this basically a variation of the Traveling Salesman problem? Since I only care about the connected shapes and we can tell if they are connected or not, I would think its easier than the TSP. Any pointers woudl be appreciated.
    Thanks,
    Paul

    That is the assumption. Segments that are share a vertex with more than one segment is undefined behavior and I don't need to account for it. What I am doing is trying to find the closed areas inside an arbitrary set of joined/unjoined segments so if three segments share a vertex then there is no closed area that can be created where all segments have a "side" that is inside the closed area and a "side" that is outside the closed area. If there are 4 segments a, b, c, d and a and b are connected and c and d are connected, then there will be two closed paths, one consisting of a and b (with the implicit enclosing path between their nonjoined endpoints) the other consisting of c and d. If a, b and c share a vertex then there is no closed area that can accomodate them so it is undefined.
    My algorithm runs in O(n squared) but I was wondering if anyone would have a method that can determine which segments are joined to each other in the order in which they are joined that runs more efficiently. The algorithm has to take into account the order in which all segments are connected (the order of disconnected segments can be arbitrarily placed in the list and are just drawn as a single segment) and also the direction that they are joined so that if you were to draw them once they are ordered by connecting their endpoints, it would be one continous joined path as in x1->x2, x1->x2 rather than x2->x1, x1->x2. In other words if every segment has a startpoint x1 and an endpoint x2 then for joined segments they are joined so that at their shared vertex, x2 is connected at x1 or vice versa, but x1->x1 or x2->x2 is not allowed, because if you were to draw that on paper startin at one end of the path, your pen would have to leave the paper before you had finished completing the joined path. The ordering has to be such that if you were to draw the joined segments, endpoint to endpoint with a pen, then you would start at one end of a joined path and your pen wouldn't leave the paper until it was finished drawing all the joined segments.
    What I ended up with is a vector of vectors where each vector is a group of segments that are joined. If a vector has only one segment then it is not joined to any other and is just drawn to the screen. If a vector has three segments then they are all joined and the ordering corresponds to the order they are in starting at one end of the joined path and continuing endpoint to startpoint until the end of the path.
    Vector[0] = [a, b c]
    Vector[1] = [d, e, f]
    Vector[2] = [g]
    This vector describes a joined path between a, b, c another between d,e,f and a solitary segment g.
    Hope I am explaining it well. Writing down an explanation helps define the problem better for me so it is helpful for me to try and explain it to others.
    Thanks!
    Paul
    Thanks,
    Paul

  • Tricky Generics problem covariant return types

    Consider the following classes
    class A {
    class B extends A {
    class C {
    public <T extends A> T foo(Class<T> cls) {
    System.out.println("A");
    return null;
    class D extends C {
    public <T extends B> T foo(Class<T> cls) {
    System.out.println("B");
    return null;
    public static void main(String[] args) {
    D d = new D();
    d.foo(B.class);
    This will print "B" as one would expect. But if change main() to be like this:
    C d = new D();
    d.foo(B.class);
    Then it will print "A". In other words, public <T extends B> T foo(Class<T> cls) does not override public <T extends A> T foo(Class<T> cls)
    Rather dangerously apparently, the method that gets called doesn't depend on the object type but upon the variable type holding the reference. No dynamic binding.
    Can anyone explain to me the logic of why <T extends B> shouldn't be a covariant subclass of <T extends A> and thus be overriding the superclass method?

    Hello chrisbitmead,
    what should the following print?
    C d = new D();
    d.foo(A.class);If D.<T extends B>foo(Class<T>) overrode C.<T extends A>foo(Class<T>) it would print B, even though A.class does fall within the required bounds.
    With kind regards
    Ben

  • Preloader problem

    Dear,
    i have a problem in my preloader, i have 2 scenes, first one
    the preloader and the another is the content of the site ( 10
    frames )
    the preloader start showing the loader in 56% not from 0% so
    the user have to wait from 0% to 56% with blank stage.
    even though, if i used the same preload but in only 1 frame
    in the content scene its will work great.
    i don't load anything from external movies, all my content in
    one scene...
    Thanks a lot...
    my code:

    Oh. You have so many things wrong with this project.
    First unless you are publishing to Flash 5 you shouldn't be
    using onClipEvents(). That was a style of coding that went out in
    2001 when Flash 6 was introduced and has a lot of drawbacks and no
    advantages. (Well unless you need to publish to Flash 5!) Here is a
    really good blog on the issue:
    http://www.quip.net/blog/2006/flash/museum-pieces-on-and-onclipevent
    Okay the next issue is that you really shouldn't use scenes.
    They were a great tool to help timeline animators organize their
    content. But when you start to use code it starts to breakdown.
    There are several tricky little problems that crop up when you
    start using code that moves the playhead and scenes. So it is
    better to not put them on scenes. Instead just put your first
    "scene" on frame one. And then maybe move over to frame 100 and
    start your second "scene." When you publish your swf all the scenes
    are strung together in one long timeline and the "scenes" are gone
    per se.
    Next issue is the one you actually are asking about. All the
    content in frame 1 (the actual frame one after all the scenes are
    strung together) must be loaded before any code on that screen can
    start to execute.
    So if you have any components, even if they are only in the
    library and you aren't using them, will put a lot of content into
    frame 1. If you have a bunch of library assets set to export for
    actionscript those usually are in frame one as well.
    Otherwise, you can go to the publish settings and switch to
    the flash tab. There is a check box for generate a size report.
    When you publish you will also get a text file that shows you how
    much content is in your file and where it is.

  • Tricky Report

    Hi,
    I've got a tricky reporting problem that I'm trying to work through.  We have a monitoring database that I pull from to create a report.  I have the report setup to show errors grouped by day in the week, then by an office.  The problem however is that for each office, there are a number of monitors that show error durring a network outage, so the report shows multiple errors for one outage. Ideally we would only show one error durring the outage.
    As this report adds total downtime for a certain period, I don't want to count multiple nodes if they are related to the same outage. The database has a field which indicates a parent node. Somehow I need to test each record, to see if it's parent id was also in error during the same time period. If the parent was in error during the same time period then I need to supress that record. If the parent wasn't in error in the same time period then I need to show the record.
    I haven't come up with a good way to do this. I have found some functions previous & next which allow to check against the previous and next records....however the parent may be several records a away.  The only solution that I can think of is to use an array. Somehow I need to create an array of all of the records, then for each record compare and see if the parent_id is also in error. This is where I'm having problem.
    So the real question.....
    Does anyone know how I can use a while loop, to loop through the records in the report so that I can load an array? Or if anyone else has a differen't idea to a solution with the problem that would be great also.
    thanks,
    Rody

    I'm a little dismayed that the activity level appears to be a bit dead. I have tried to answer other questions posted in this forum, (if I didn't answer it's because i have no clue on how to help.)
    Anyways if you have idea's for the above situation please respond.
    thanks

  • Cannot create BI Infoset

    Hi BI experts
    I need some help on a tricky little problem that I have found. We are on BI 7 and I am trying to create an Infoset in order to join 2 InfoObjects, 0Asset and 0Customer. When I create the Infoset, the system allows me to enter the first InfoObject, in this case 0Customer. However, when the next screen comes up, I expect to be able to add the other InfoObject. However, this does not seem to work. I have tried all the menu options and buttons, but no luck. Am I missing something?
    Thank you

    Check these links
    http://shivabizint.wordpress.com/2010/08/24/obiee-11g-rpd-is-not-opening-in-windows-64-bit-machine/
    http://123obi.com/2011/01/obiee-11g-installation-on-windows764-bit-part3/
    If helps pls mark

  • HOW DO I  RUN A UNIX BASH SCRIPT FROM JAVA??

    HI. Here's a tricky little problem i have. There's a unix bash script that has some commands in it, that manipulate a file. It appends a certain string variable to a file called users. The users file is an ordinary text file.
    I know this script to work perfectly, when i invoke it like this directyl from the command line: ./addusers.sh
    or even: bash /downloads/selinux/policy/addusers.sh
    Now, i have a java program, and its meant to just execute that script. It doesnt throw any Exceptions at runtime. But when i look at the users file, and expect it to have an extra line that was the string variable, the file is UNTOUCHED!
    Again, direct command line invocation works, but not from java. Here's what my invocation from java looks like:
    Process p = Runtime.getRunTime().exec("bash downloads/selinux/policy/addusers.sh");
    The strange thing is, i tried a different bash command. I tried:
    Process p = Runtime.getRunTime().exec("mkdir /temporary");
    and this worked!
    so why not the other one??
    I cant figure it out.

    You say:
    bash /downloads/selinux/policy/addusers.sh
    And you say in Java:
    Process p = Runtime.getRunTime().exec("bash
    downloads/selinux/policy/addusers.sh");
    As if a leading / would be missing from the Java
    version...nyix says:>
    ...OK sorry about that. i DO have a / in front of the downloads.... section in the java method. So its:
    Process p = Runtime.getRunTime().
    exec("bash /downloads/selinux/policy/addusers.sh");
    HELP please?

  • Reg: Please share... [OFF TOPIC]

    Hi Experts/Gurus,
    Please share any of the toughest challenge(s) you faced in your long (Oracle) career.
    Like some time back I saw a discussion between some biggies (Guru & ACEs) regarding the Y2K problem. They said about the server room, New year eve and the problems they faced. It was really nice and great inspiration for new folks like me. :-)
    I know this is going very off-track, but just for a break.
    This 'll also surely act as an inspiration for juniors like us. We would love to hear some interesting/tricky/innovative problems from your experiences.
    Looking for an active participation. Frank, could please start this. ;-)
    Thanks!!
    Ranit B.

    I'm sure most, if not all of us herethat have been around for a while, would have lots of war stories about someone or something blowing up the database and the trials and tribulations of getting it put back together properly. Many of us would also have lots of stories about that really tricky report/ETL job and all of the tricks we used to get it to work correctly and fast enough. However, for me the biggest challenges I face regularly have to do with the types of things that come up on this forum every day.
    Basic things like not understanding correct datatype, dates are a real biggie here but storing/passing numbers as strings is right up there, and relying on implicit type conversions. Developers who do not think in sets and resort to cursors and row by row processing for (almost) every task. Misusing dynamic sql when it is not required, personally I rarely use execute immediate in my code, and when I do it is almost always for set up/re-set type activities in ETL code like truncating a staging table or disabling constraints/indexes prior to a data load.
    These types of things can have an impact on performance, not only for the particular task that the piece of code is designed to accomplish, but quite possibly database wide. Flooding the shared pool with hundreds of copies of a sql statement that differ only by the literals used in a predicate (or worse as one app I dealt with only in literals in the projection) is detrimental to the health of the whole database, and when the app has hundreds of sql statements it gets reall bad for the well behaved developers inthe database.
    Worse than the performance impact is the subtle bugs these types of things can introduce in the code. How many questions on this forum essentially boil down to "I put data in my table now when I try to query for a date range I get no rows, but I know I put it in" and the answer comes down to at some point in the process inserting the data or querying the data someone relied on an implicit string to date conversion and the date in the table (or perhaps the predicate) is actually 19 something or 00 something instead of the expected 20 something.
    I cannot tell you how many hours I have spent debugging other people's code (usually after the data has been well and truly corrupted) asking how did that value get in that column because (so I'm told) it's impossible for that to happen. In the vast majority of the cases it is due to implicit data conversions.
    Inspiring stories are all well and good, but if you are looking for inspiration to become a better developer/DBA look at the mindset of the people like Frank, Blushadow, Solomon and Billy that allow them to see the set-based solution to a problem (there is almost always one), to see the "correct" data types to use etc. And, to paraphrase Billy, programming is programming, basic good practices are the same in any language, so look at well-written code in other languages, not just PL/SQL.
    But, if you want in inspiring story for a "junior", here is mine.
    We had a very trick bit of ETL code that involved joining 5 or 6 tables. Complicating matters, because of the nature of the source system, one of the tables had to be pivotted, one had to be unpivotted and we needed a top-n query for one of the others. At the time, we were using 10 something, so no PIVOT/UNPIVOT, so I wrote a several hundred line query with
    sub-queries over sub-queries, analytic functions and hierarchical queries. This produced correct results, and the run-time was more than adequate (about 3 minutes for 6.5 million rows as an insert append). I gave that query to one of our junior developers for integration into the ETL package we were creating. She looked at that monster and said "Huh?". I told her, as I tell everyone, break it down into pieces, run each of the bits alone to see what they do then build it back up again to see how it all fits together.
    The next day, she came back to me and said "I spent a lot of time playing with your query, and I think I understand how it works. If I do understand, then I think this is an equivalent query, can you check it for me?" What she gave me was a fifty or so line query with two sub-queries, no analytics and no hierarchical queries. At first glance, it could not possibly work, but I checked it anyway and much to my surprise it was correct (and faster than mine). Sometimes, knowing too many tricks is not a good thing :-)
    John

Maybe you are looking for

  • Help needed in SORTING query

    I have a table having single column c1 of varchar2(10) and have stored these values in the table. A0 A1 A01 A100 A101 A102 B10 B99 B100 B101 B102 100 120 200 I need to sort them in the order as given, can someone help please. Thanks

  • Vendor order confirmation number

    Hi, I have a requirement: When we send PO to the vendor, it takes about 2-3 days for them to send us an order confirmation. I want to enter this order confirmation number in the PO header. I want to do this so that I can run a standard PO report (exa

  • How to accessing files in os and display as tree

    i have worked lot to access the files in os and display them as tree structure but could not suceed can any one help me

  • Re Installing Photoshop Elements 8?

    I have had to replace the hard disk on my laptop. Photoshop Elements 8 was installed on the damaged disk and i have lost my original Photoshop Elements 8 disk. I have a licence number for Elements 8 How can I re install Elements 8 on the new hard dri

  • Having problem with trigger.(help needed)

    HI all, i m totally new to the PL/SQL.... hope someone can help me with this..... i am now using trigger to block inserting into "attendance99" table when the record reach the maximum limit and insert the record to the "waiting_list" table. The probl