Suneido

Integrated Application Platform

  • Home
  • Learning
    • Suneido Manual
    • Beginners
      • Inside Suneido
      • The Suneido Programming Language
      • The Suneido Database
      • Installing Suneido
      • Building Suneido
      • IDE Go To Tour
      • Upgrading To A New Release
    • Advanced
      • Canvas Control
      • DrawControl Part 1
      • DrawControl Part 2
      • DrawControl Part 3
      • SAX Like XML Processing
      • A Plug-In Architecture
      • A Simple Wizard Framework
      • An HTML Include Facility
      • An RSS 2 Feed Creator
      • MIME Generation
      • A New Add-on Facility
      • Workspace Improvement Hack
    • Mockito for Suneido
    • The Suneido Task Scheduler
    • Contributing To Suneido
    • Contributor Assignment of Copyright
    • Language Translation
    • Future Directions
    • Interview With Andrew Mckinlay
  • Forum
    • Announcements
    • Internals & Enhancements
    • Cookbook
    • General
  • FAQ
  • Screenshots
  • Downloads
  • Links

amckinlay

  • Profile
  • Topics Started
  • Replies Created
  • Engagements
  • Favorites

Forum Replies Created

Viewing 15 posts - 31 through 45 (of 197 total)
← 1 2 3 4 … 12 13 14 →
  • Author
    Posts
  • May 28, 2017 at 9:25 am in reply to: Newbie question #3 — possible enhancements for external tools? #1306
    amckinlay
    Keymaster

    I can see how that would be useful, but it’s not something we have a need for, so unfortunately, we’re unlikely to do it.

    May 28, 2017 at 9:23 am in reply to: Newbie Question #2 #1305
    amckinlay
    Keymaster

    Suneido doesn’t have auto incremented numeric keys.

    We use Timestamp() to get automatic unique keys. Our usual approach is to use a rule to set the timestamp.

    Timestamps have the side benefit of giving you the creation date/time of each record.

    You can also have an _TS field that is automatically set to the last modified date/time.

    May 28, 2017 at 9:19 am in reply to: Newbie question #1 #1304
    amckinlay
    Keymaster

    No, there isn’t an option for that, although it probably wouldn’t be hard to add.

    One option is to just use different (sub) directories for each copy.

    The way we usually work is to use a single database and to switch between applications by using/unusing the appropriate libraries. To deploy a single application you can strip down a database to just what’s required.

    May 15, 2017 at 9:17 pm in reply to: Some newbie thoughts #1295
    amckinlay
    Keymaster

    Thanks Dave, hope it fits your needs.

    December 14, 2016 at 9:08 am in reply to: HttpPostQueue – Enhancement #1274
    amckinlay
    Keymaster

    Thanks Jason. Sorry for the slow reply – my email notifications seem to not be working.

    Unfortunately, that’s not what the comment meant.

    Database ensure internally does a check if the table schema already matches.

    What we really want to avoid is doing an extra client-server database request every time, even though 99.99% of the time it’s unnecessary. (Although in the big picture this probably isn’t that big a deal.)

    The question then becomes, who is responsible for creating the table? Maybe you just make ensureQueue public and leave it up to the application code to create it at some point.

    July 5, 2016 at 12:37 pm in reply to: Restoring a library table #1271
    amckinlay
    Keymaster

    Glad you got your work back ๐Ÿ™‚

    I have thought about allowing rebuild as of a given date/time. It probably would not be that hard.

    I am reluctant because I think it would encourage people to depend on it, which I do not think is a good idea. Rebuild was intended for crash recovery, not for normal usage. It could be useful though.

    July 5, 2016 at 12:29 pm in reply to: Restoring a library table #1269
    amckinlay
    Keymaster

    Sorry, I forgot about that check. The file size must be a multiple of 8. If you delete or insert make sure it’s a multiple of 8 characters. Probably simpler just to overwrite some characters. (Pressing the INS key should switch you to overwrite mode.)

    July 5, 2016 at 11:21 am in reply to: Restoring a library table #1266
    amckinlay
    Keymaster

    No backups ๐Ÿ™

    There should be a suneido.bak if you have compacted or loaded the database.

    Before you try anything else, make a copy of the database and put it somewhere safe.

    As long as you haven’t compacted (or dump/load), the old data is still in the database file, but there is no easy way to get it.

    The history doesn’t work if a table has been destroyed and recreated (as load does).

    If you just need a few records you can open a copy of the database with a text editor that can handle large files. (e.g. Scite) Then search for either the name of the record or something in it. If the record has been updated there will be multiple versions in the file. The last one will be the most recent. Then just copy the text. (There will be a lot of unreadable binary data in the file as well, but the text itself should be readable.)

    Another possibility is to force Suneido to rebuild the database as of just before you loaded the file. To do this you either need to truncate or corrupt the file at the right point. Again, you want to do this on a copy of the database that you don’t mind losing. The trick is to know what the right point is. If you look at the database in an editor you may be able to see where the load of the new library started. Past that, it may be a matter of trial and error. Corrupting is easy, just overwrite/delete/insert random characters. This will make the checksums fail.

    NOTE: If you are using a text editor to truncate/corrupt the database file, make sure the editor isn’t altering anything else, e.g. not changing line endings or altering the binary data. Scite is usually ok.

    Once you’ve corrupted/truncated the database file, run suneido -rebuild. It should tell you what date/time it is restoring to. If it doesn’t go back far enough, then truncate/corrupt earlier in the file. If it goes back too far, then take a fresh copy and truncate/corrupt later in the file.

    I can’t guarantee this last method will be successful.

    Sorry there isn’t an easier answer.

    June 15, 2016 at 9:16 am in reply to: how to upgrade app to new release of suneido #1262
    amckinlay
    Keymaster

    You can either move your tables to a new database, or move the new tables to an old database (probably easier).

    This is done by using suneido -dump (from the command line) in the source database directory, moving the .su to the destination directory, and then suneido -load in the destination database directory.

    The main tables you need from the new database are stdlib, suneidoc (the help), and imagebook. You may also want the Contrib library.

    If you move the new tables to an old database, I would recommend dumping and loading the entire database to ensure it has been created with the new exe.

    Of course, you also need to use the new exe and dll’s.

    I would recommend making a backup before you do any of this in case you run into any problems.

    April 12, 2016 at 12:59 pm in reply to: Max Suneido database size #1258
    amckinlay
    Keymaster

    Theoretically, up to 32gb. This is a result of using 32 bit “addresses” (4 gb) with 8 byte alignment.

    In practice, I would not use cSuneido (the Windows exe) for more than 1 or 2 gb because it is a 32 bit program and therefore can only memory map that much address space. It will map segments to get around this but it will be slower.

    For larger databases I would recommend running client-server using jSuneido (the Java version) as the database server. Running on a 64 bit JRE this allows a much bigger address space.

    jSuneido also has a new database engine which is faster and more crash proof.

    December 10, 2015 at 8:49 am in reply to: Browse display columns #1239
    amckinlay
    Keymaster

    If you are calling SetQuery in your Load_list method, you need to pass the columns (since they could be different for the new query) otherwise they will default to all.

    December 7, 2015 at 2:16 pm in reply to: Default date ParamSelect #1236
    amckinlay
    Keymaster

    You need to Set that control to something like:

    Object(operation: 'equals', value: Date(), value2: "")

    If you are going to be running a report, you probably want to use Params which has a Set_Params member which can be used to do this.

    December 4, 2015 at 9:19 am in reply to: Problems With GroupBox Control (Since (05/2004) #1232
    amckinlay
    Keymaster

    I know there have been issues with GroupBox. I would suggest trying it without that.

    We do not use GroupBox much but we tried your code on our latest internal version and it seems to work so we may have fixed the problem since the last release.

    October 12, 2015 at 6:17 pm in reply to: ?Error in Display #1220
    amckinlay
    Keymaster

    I think it is working correctly.

    Is there a reason you are using Display? It will add quotes to strings, and then when the result is displayed it will also add a set of quotes.

    Based on your expected result I think you just want: ob[0] $ ob[1]

    September 16, 2015 at 10:38 am in reply to: Is there new version of Suneido? #1215
    amckinlay
    Keymaster

    Hi Tahar,

    The answer is yes and no ๐Ÿ™

    There are lots of changes in the code on Github. But to get these changes you would need to build from source, which is not hard, but still requires some work. And you would still need a current copy of stdlib which is not on Github.

    I have not made a pre-built release since 2013. That is just my laziness. I am busy, but it does not take much time. I should put out releases more often.

  • Author
    Posts
Viewing 15 posts - 31 through 45 (of 197 total)
← 1 2 3 4 … 12 13 14 →

Search Forums

Log In
Welcome to the new Suneido Web Site and Forum.
Register
Lost Password
users of the previous PHPBB Forum should be able to log in with their previous username and password.

Recent Topics

  • Alpha copy of gSuneido to play with
  • how to start jsuneido ?
  • Problem Starting Suneido…
  • Dialog not showing buttons
  • New link for Suneidojo

Contact Us | Legal Statement | Privacy Statement | SiteMap

Copyright ยฉ 2023 Axonยฎ Development Corporation. All Rights Reserved. - Open Source Integrated Database and Programming Language