Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Quick way to add table field to master copy of a shadowed database

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Quick way to add table field to master copy of a shadowed database

    Is there a shadow database expert who can answer this question for me.

    If I add a new field to a table in my A5 master database (which runs on a server) will the shadowed copies of this table on users' networked PCs see the new field automatically, or must I refresh the shadows on each user's PC separately?

    Thanks.

    #2
    Re: Quick way to add table field to master copy of a shadowed database

    Brett,

    The shadow only uses pointers to the master table, index and memo files (DBF, CDX, FPT), so, yes, it immediately will access those tables. However, those fields won't appear on any layouts (unless dynamically created by code, e.g. default form/browse), and any references to indexes by name will use the new expression on the master for the computation. LQO happens dynamically, so they will use the appropriate index as it currently exists.

    I use a variety of my own support functions that are tolerant of changed fields and just ignore them or do something reasonable with them, but that's not in most A5 functions.
    Regards,

    Ira J. Perlow
    Computer Systems Design


    CSDA A5 Products
    New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
    CSDA Barcode Functions

    CSDA Code Utility
    CSDA Screen Capture


    Comment


      #3
      Re: Quick way to add table field to master copy of a shadowed database

      Thanks, Ira. I think my master and shadowed databases will be OK then. Yes?

      My customer is 500 miles away so when things go wrong it can be difficult to sort them out. I previously sent him a new version of this A5 application, one of the changes included adding a new field to a table. This was done via the 'a5_add_fields_to_table()' command which tested out OK (definitely no bugs) but for some obscure reason failed when run via Runtime on his Windows 2003 SBS - an error message advising "Corrupt area".

      Every thing in the master database has updated OK (put there by update installer), it's just the new field that has not been added to the table.

      So it sounds as if all I now need to do to get things up and running again is just manually add the new field to the table. Thereafter the shadow databaser's on each user's PC (which have already been refreshed) should pick up automatically the new field in this table. I certainly hope so.

      Comment


        #4
        Re: Quick way to add table field to master copy of a shadowed database

        Originally posted by brett s View Post
        Thanks, Ira. I think my master and shadowed databases will be OK then. Yes?
        Seems like it would based on how you described it.
        Regards,

        Ira J. Perlow
        Computer Systems Design


        CSDA A5 Products
        New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
        CSDA Barcode Functions

        CSDA Code Utility
        CSDA Screen Capture


        Comment


          #5
          Re: Quick way to add table field to master copy of a shadowed database

          Brett,
          My memory is that you will have problems if the field is added anywhere other than at the bottom of the field list.
          Even changing the order of fields without refreshing a shadow will cause problems.
          Why don't you have the application automatically refresh shadows when the version number changes?

          Comment


            #6
            Re: Quick way to add table field to master copy of a shadowed database

            Garry,

            While that was true for a few places in Alpha 4 and maybe some early versions of A5, I don't believe there is any place other than a restructure of a table where you are moving fields around and changing them (and even there only in very specific obtuse ways) is the fieldname position important.

            So I'm saying you can add fields to your hearts content anywhere in the structure, or move the fields around. However, renaming them or changing types and sizes affects fieldrules, tables, expressions etc everywhere, so that is important. In most cases changing field size does not matter, but only if you have no field length specific code.

            If anyone has any recent proof to the contrary, I'd be interested in hearing about it.
            Regards,

            Ira J. Perlow
            Computer Systems Design


            CSDA A5 Products
            New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
            CSDA Barcode Functions

            CSDA Code Utility
            CSDA Screen Capture


            Comment


              #7
              Re: Quick way to add table field to master copy of a shadowed database

              Originally posted by Garry Flanigan View Post
              Brett,
              Why don't you have the application automatically refresh shadows when the version number changes?
              Garry, this is indeed what I always do when I produce a new version of this application. This latest version included many changes, including a new field added to an existing table.

              The application update installer first gets installed on the server. It includes updates for everything except tables (including their indexes and fpt memo files). In this case I got them to next run the application on the server so that the new field would add to the table (via my autoexec script). Then the networked PC shadow databases were run and the applications there automatically updated because I have told A5 to do this when the application version number changes.

              The problem occurred when we got an error when the application was run on the server "Corrupt arena", (not "area" as I previously stated). If that message is supposed to mean something to anyone, well ...

              I eventually discovered that the table I was adding the new field to had corrupt linkages for the memo information and this caused a whole lot of downstream errors and problems which were starting to grow to Everest proportions.

              The best and quickest solution for me in these circumstances was to get a copy of the errant table sent to me, fix it up, send it back and have it installed on the server. As long as the shadow database copies on the networked PC don't object then this solution should work. And this is the reason for the original question in this post.

              Another option for me if this solution does not work is to do a shadow refresh. But for reasons I do not understand this has never worked reliably for me as I get only partial updating take place and parts of the refreshed shadowed application that incorporate the latest changes do not work. A full shadow rebuild with a new application version number is the only thing that I have found works reliably. In these circumstances doing a rebuild with a new version number means a lot of extra time. A new version requires a lot more QA before shipping than the table fix which does not.

              Comment

              Working...
              X