Like Tree55Likes

Need to know parameter format for a Call function?

This is a discussion on Need to know parameter format for a Call function? within the Tech Board forums, part of the Community Boards category; Originally Posted by laserlight i have merged the topics into a single topic on the c programming forum. thanks!...

  1. #46
    Registered User
    Join Date
    Jul 2014
    Location
    Amarillo, Texas
    Posts
    101
    Quote Originally Posted by laserlight View Post
    i have merged the topics into a single topic on the c programming forum.
    thanks!

  2. #47
    Registered User Codeplug's Avatar
    Join Date
    Mar 2003
    Posts
    4,669
    >> How it works is a trade secret that I plan to keep to myself.
    If you change your mind, a write up of your algorithms and data structures would receive a lot more peer review than releasing just the source code alone.

    gg

  3. #48
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    21,720
    Quote Originally Posted by Elkvis
    How in the name of Odin is this better than SQL? ISO Standard SQL defines a common interface that many engines implement, with varying degrees of adherence. If you know SQL, you can store and retrieve data from any number of SQL implementations. You don't need to know assembly language. You don't need to know a proprietary API. In every implementation that I've seen, you don't even need to write a program to use SQL.
    I think that this is answered in post #28:
    Quote Originally Posted by Will1
    What I would like to do is replace the code in SQL that accesses the data device with ADAM.
    That is, Will1 is going for your suggestion that ADAM provide a storage engine for higher level database systems. This arguably fits even the claim from the MASM32 forum that "if you need something to create a data base system, it's the best there is", i.e., if you need that component to implement a higher level database system, then Will1 asserts that this is the best available. The problem with this interpretation is that Will1 has also made claims that compare ADAM with SQL and relational database systems and -- if we infer from the comment about cloud computing -- other high level approaches to database systems.

    Will1: could you clarify this?
    C + C++ Compiler: MinGW port of GCC
    Version Control System: Bazaar

    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  4. #49
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    4,258
    If you change your mind, a write up of your algorithms and data structures would receive a lot more peer review than releasing just the source code alone.
    O_o

    Are you part of that discussion? Or do you just have mad ranks in "googlefu"?

    [Edit]
    How has no one referenced "Berkeley DB" or any of the other bazillion key/value or similarly many "big block" stores?
    [/Edit]

    Soma
    “Often out of periods of losing come the greatest strivings toward a new winning streak.” -- Fred Rogers
    “Salem Was Wrong!” -- Pedant Necromancer

  5. #50
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    21,720
    Quote Originally Posted by phantomotap
    How has no one referenced "Berkeley DB" or any of the other bazillion key/value or similarly many "big block" stores?
    Because this doesn't seem to be along the same lines, or rather claims to be along the same lines and more, and then maybe not. The closest we get to the interface provided by ADAM for database functionality is from post #37, which does remind me of those, but then we have claims like "SQL does have the ability to establish relationships but it is cumbersome and could be done more efficiently by a program".
    C + C++ Compiler: MinGW port of GCC
    Version Control System: Bazaar

    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  6. #51
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    4,258
    Because this doesn't seem to be along the same lines, or rather claims to be along the same lines and more, and then maybe not.
    O_o

    My views could probably be inferred, but several of you are participating. That being your view only makes me wonder more why you haven't asked how this compares with such other systems. We've only really seen "buzzword bingo" or "I'm not telling." when directly asked so I was seriously wondering why other comparisons, other than SQL, haven't been invited.

    then we have claims like "SQL does have the ability to establish relationships but it is cumbersome and could be done more efficiently by a program".
    We've also seen "real", "best", "fastest", "easiest", and similar thrown around. I'm not sure "more" and "different" have any more a reliable meaning when faced with a salesmen.

    Soma
    “Often out of periods of losing come the greatest strivings toward a new winning streak.” -- Fred Rogers
    “Salem Was Wrong!” -- Pedant Necromancer

  7. #52
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    21,720
    Quote Originally Posted by phantomotap
    That being your view only makes me wonder more why you haven't asked how this compares with such other systems. We've only really seen "buzzword bingo" or "I'm not telling." when directly asked so I was seriously wondering why other comparisons, other than SQL, haven't been invited.
    Patience, my old padawan.
    Click_here likes this.
    C + C++ Compiler: MinGW port of GCC
    Version Control System: Bazaar

    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  8. #53
    Registered User
    Join Date
    May 2009
    Posts
    2,572
    I think we need some specs of this database.

    Max number of rows?
    Max size of a single column in a row?
    Max number of columns in a table?
    Max number of table joins?
    Are left joins supported?
    Is something like SQL null supported?

    Tim S.
    "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the Universe is winning." Rick Cook

  9. #54
    Registered User
    Join Date
    Jul 2014
    Location
    Amarillo, Texas
    Posts
    101
    Quote Originally Posted by stahta01 View Post
    I think we need some specs of this database.

    Max number of rows?
    Max size of a single column in a row?
    Max number of columns in a table?
    Max number of table joins?
    Are left joins supported?
    Is something like SQL null supported?

    Tim S.
    Those are all SQL functions. If you were to use ADAM you would need to think in records and fields rather than rows and columns. In any event, It looks like I'm just going to have to abandon the project. Even IBM's OS/2 operating system restricted program's from using the DS and ES registers. I can only tell you that, when the 186 was the state of the art processor, I wrote an application for Snelling and Snelling for their "temp" data base that had blink of an eye speed running under DOS. Nothing else would run with that kind of speed. It's too bad I don't have the facilities or the time to write a really good Operating System, and DOS is, size wise, so small that it has been out-dated. The other thing that has happened is that the modern processors are so fast that you can write terribly inefficient code and it will run reasonably fast because of the speed of modern processors. Wonder why the dinosaur main frames that IBM deals in are still being used? I think our prsident found out when he tried to get too many people, too fast to sign up for Obamacare.

  10. #55
    Registered User
    Join Date
    May 2009
    Posts
    2,572
    Quote Originally Posted by Will1 View Post
    Those are all SQL functions. If you were to use ADAM you would need to think in records and fields rather than rows and columns. In any event, It looks like I'm just going to have to abandon the project. Even IBM's OS/2 operating system restricted program's from using the DS and ES registers. I can only tell you that, when the 186 was the state of the art processor, I wrote an application for Snelling and Snelling for their "temp" data base that had blink of an eye speed running under DOS. Nothing else would run with that kind of speed. It's too bad I don't have the facilities or the time to write a really good Operating System, and DOS is, size wise, so small that it has been out-dated. The other thing that has happened is that the modern processors are so fast that you can write terribly inefficient code and it will run reasonably fast because of the speed of modern processors. Wonder why the dinosaur main frames that IBM deals in are still being used? I think our prsident found out when he tried to get too many people, too fast to sign up for Obamacare.
    Wrong about those being SQL database items; they are all relational database items.
    The only difference is they do NOT normally use the names rows and columns instead the word tuples is used often in relation algebra and relational database field.

    Sounds like ADAM is NOT a relational database.

    Tim S.
    "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the Universe is winning." Rick Cook

  11. #56
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    21,720
    Quote Originally Posted by Will1
    If you were to use ADAM you would need to think in records and fields rather than rows and columns.
    It makes no difference since you do not explain what "records" and "fields" are in the context of ADAM. That which we call a rose by any other name would smell as sweet. If you have a very different paradigm for data storage, then you have not given any hints of it, other than in post #37, which does not provide any such explanation.

    Quote Originally Posted by Will1
    I can only tell you that, when the 186 was the state of the art processor, I wrote an application for Snelling and Snelling for their "temp" data base that had blink of an eye speed running under DOS. Nothing else would run with that kind of speed.
    There are current non-relational database systems that do not use SQL and which can be used when one needs a '"temp" data base', among other things, and that are usually sufficiently blazingly fast for this purpose. Then there are relational database systems that do use SQL and which can also be used when one needs a '"temp" data base', e.g., SQLite can be embedded into a C program to utilise an in-memory database.

    phantomotap was so excited over in post #49 asking 'How has no one referenced "Berkeley DB" or any of the other bazillion key/value or similarly many "big block" stores?' Did you read that? Tokyo Cabinet is another well known example, though I see that it has been superseded by Kyoto Cabinet. (Off-topic: for the actual cities, I prefer Kyoto to Tokyo, so that is good news for me )

    Quote Originally Posted by Will1
    It's too bad I don't have the facilities or the time to write a really good Operating System, and DOS is, size wise, so small that it has been out-dated.
    "I have discovered a truly marvellous proof of this, which this margin is too narrow to contain."

    Quote Originally Posted by stahta01
    Sounds like ADAM is NOT a relational database.
    I note that Will1 has not responded to my post #48.
    Salem likes this.
    C + C++ Compiler: MinGW port of GCC
    Version Control System: Bazaar

    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  12. #57
    Registered User
    Join Date
    Oct 2006
    Posts
    2,407
    Quote Originally Posted by Will1 View Post
    Even IBM's OS/2 operating system restricted program's from using the DS and ES registers.
    And I've been trying to tell you throughout this discussion that you don't need them. I can guarantee beyond a shadow of a doubt that there is a way to implement your system without using segment registers. You said in an earlier post that protected mode isn't the problem. Based on your own description of ADAM, I'd say that it is. I say that simply because segments don't work the same way in protected mode as they do in "real address" mode, as in DOS. Memory addressing happens in a completely different way in protected mode, which I outlined briefly in post 24.
    Code:
    namespace life
    {
        const bool change = true;
    }

  13. #58
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    4,258
    That which we call a rose by any other name would smell as sweet.
    O_o

    If it looks like a duck, swims like a duck, and performs a unit join by processing prepared statements sampling information from a store of a values like a duck, then it probably is a duck.

    o_O

    Wait. That doesn't sound at all correct...

    Soma
    “Often out of periods of losing come the greatest strivings toward a new winning streak.” -- Fred Rogers
    “Salem Was Wrong!” -- Pedant Necromancer

  14. #59
    Registered User
    Join Date
    Jul 2014
    Location
    Amarillo, Texas
    Posts
    101
    Quote Originally Posted by Elkvis View Post
    And I've been trying to tell you throughout this discussion that you don't need them. I can guarantee beyond a shadow of a doubt that there is a way to implement your system without using segment registers. You said in an earlier post that protected mode isn't the problem. Based on your own description of ADAM, I'd say that it is. I say that simply because segments don't work the same way in protected mode as they do in "real address" mode, as in DOS. Memory addressing happens in a completely different way in protected mode, which I outlined briefly in post 24.
    The CS, DS, and ES registers act as "Base" registers. A (mainframe) Base register is a register that you use as a Base and offset the Code and Data from the address held in the Base register. I'll guarantee you that Windows and Liinux use the (E)CS, E(BS) and E(ES) registers as Base Registers. Programming without being able to establish Base Registers makes it virtually impossible to do complex passing of data between programs (and subroutines) that are compiled separately. It virtually destroys the ability to write really good subroutines like ADAM. Tell me how you pass the address of a "record" (column) of data between a program and call a separately compiled subrotine that uses it. (I managed to do that for 1 ADAM file by "cheating Windows" but most uses of ADAM, like SQL, require more than 1 file (data structure). For KISS puposes if I move field A to field B, A must be at an offset from a Base register and B must be at an offet from a Base register, otherwise how could my program address them?

    Using tables instead of Base registers seems terribly inefficient to me!
    Last edited by Will1; 07-21-2014 at 05:56 PM.

  15. #60
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    4,258
    I'll guarantee you that Windows and Liinux use the (E)CS, E(BS) and E(ES) registers as Base Registers.
    O_o

    You are correct in that most kernels still use those registers; you are just wrong in how those registers are used.

    Tell me how you pass the address of a "record" (column) of data between a program and call a separately compiled subrotine that uses it.
    Code:
    LibraryRoutine(&MyRecord);
    For KISS puposes if I move field A to field B, A must be at an offset from a Base register and B must be at an offet from a Base register, otherwise how could my program address them?
    A universal offset is in every way superior to a segment offset for such a trivial mission.

    Using tables instead of Base registers seems terribly inefficient to me!
    Are you seriously not aware that professional database engines push metal?

    Programming without being able to establish Base Registers makes it virtually impossible to do complex passing of data between programs (and subroutines) that are compiled separately.
    This is so extraordinarily wrong I am now confident that you are putting significant effort into being wrong.

    Soma
    Elkvis likes this.
    “Often out of periods of losing come the greatest strivings toward a new winning streak.” -- Fred Rogers
    “Salem Was Wrong!” -- Pedant Necromancer

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Function call Overhead and Function Call Stack
    By Alam Khan in forum C++ Programming
    Replies: 2
    Last Post: 04-26-2014, 08:28 AM
  2. Replies: 4
    Last Post: 10-03-2011, 06:30 AM
  3. Replies: 13
    Last Post: 08-24-2006, 12:22 AM
  4. Parameter in a function
    By cpluspluser in forum C++ Programming
    Replies: 2
    Last Post: 04-09-2003, 07:48 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21