[VSRV] Valentina Server a1 for OS X uploaded.

Ruslan Zasukhin sunshine at public.kherson.ua
Fri Mar 28 23:11:18 CST 2003


Hi Guys,

Yes, this day have come :-)

You can download for first tests Valentina Server here:
    http://www.paradigmasoft.com/download/vserver_macho.sit.bin

And Valentina for RB Client here.
    http://www.paradigmasoft.com/download/V4RB_Client.sit.bin

For now we have only V4RB Client. But it is the most hard, so when we polish
it, all rest clients will be easy to do.
Also note that exists only Carbon version of plugin for now.

Of course this is our first step, so I assume will be many problems.
I hope that some of you will spend time to play with Valentina Server and
let us know any problems.

There is no yet any docs, so bellow are many words about what we have made.
Ask me any questions, I will answer on list of course.

1) Read installation instructions.
And execute them. Run server.

2) You need put V4RB into plugins folder.
REMOVE V4RB Standalone for that folder before of this.

3) Note, that this a1 is based on 1.9.8b2 kernel.

4) in V4RB_Client folder you will find 2 raw examples.
Example SingleTable I think should be checked first.
IT is modification of V4RB Example1.

---------------------------------------------------
Do next steps with this example:
-- open it
-- run it
-- make new db
     this step must create in your DB FOLDER the "database1" files.
     also it add one record into Master.vdb database.

-- now you can select "Add 100,000 records"
    in fact it now add 1000 records.

-- now you need click button query, to go into Cursor window.
    Here you can enter simplest Query and execute it.

-- Close database.
    Server write that connection was closed.

------------------------------------------------
When you work with Valentina Server, keep Console app always open.
It will show you some messages from Server.


-----------------------------------------------
NOTE: now it works in 10 minutes demo mode, after this big crash.


5) At first, play with Server and client on the same computer.

6) if all this will works for you, then you can check code.


-------------------------------------------------------------
7) note that we have implement both Dynamic and Static way of Valentina in
V4RB client. 

Dynamic way: 
    * you make Vdatabase object
    * do connect
    * do ExecuteSql() or SelectSql()
    * in last case you get cursor and you work with fields of cursor.

Static way:
    * you create classes of database via BaseObjects
    * do db.Connect() with option "-c"
    * do db.Create( "DaatbaseName" )  -- note, name, not PATH.
    * Now you again work via cursors.


-------------------------------------------------------------
8) Note, that now db.SqlSelect() have additional parameters.
Implemented for now only MODE parameter: ClientCursor, and ServerCursors.
Use values:

ECursorMode 
{
    kClient = 1,    // Client side cursor
    kServer            // Server side cursor
};


ECursorType
{
    kReadOnly  = 1,    // cursor is read only
    kReadWrite      // cursor can change records. Only for Server side
cursors.
};


ECursorDirection
{
    kForwardOnly = 1, // navigation can be only from first to last
                            records. ONCE.
    kRandom           // navigation can be in both directions. many times.
};


-------------------------------------------------------------
9) IMPORTANT:
on default db.SqlSelect( query ) returns Client-side cursor.
Client side cursor is READ-ONLY.


Oh yes, I have forget to say, that Valentina offer you probably very unique
feature! You can for Server - side cursor Add/Delete/Update records via
Cursor API, as we do this always.

Dbs as mySQL and Postgre, allow you change records only via generation and
execution of additional SQL commands INSERT, UPDATE, DELETE.

With Valentina all this will be quite easy.
You simply change field(s) of cursor and do curs.Update().

For Cursors works everything that works in normal V4RB!!!

Even more: if look deeply, Valentina for such API commands DO NOT create in
background the SQL command like this do e.g. MFC framework, and other
wrappers. Valentina Server and Client do this on protocol level. This is
much more effective, because you DO NOT need create SQL string on side of
client, later server do not need spend time to parse this SQL string.
By protocol go a SHORTEST command and the smallest amount of info needed to
execute this command.

So usage of cursor API is not only comfortable, but it is more effective, as
far as we see.


-------------------------------------------------------------
10) Implemented binding of values to SQL query, like in normal V4RB.


-------------------------------------------------------------
11) NOT IMPLEMENTED YET:

-- date time format
-- record locks


-------------------------------------------------------------
12) to use client and server on the same computer, the HOST parameter in
db.connect() must be simply empty.

Otherwise you can specify in HOST parameter
   a) IP of Server computer
   b) its INET name: e.g. "www.paradigmasoft.com"



-- 
Best regards,
Ruslan Zasukhin      [ I feel the need...the need for speed ]
-------------------------------------------------------------
e-mail: ruslan at paradigmasoft.com
web: http://www.paradigmasoft.com

To subscribe to the Valentina mail list go to:
http://listserv.macserve.net/mailman/listinfo/valentina
-------------------------------------------------------------



More information about the Valentina mailing list