From: Andrey C. <sku...@us...> - 2006-06-20 10:25:59
|
Update of /cvsroot/eas-dev/eas/libcodb_query In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv7101/libcodb_query Modified Files: command.prg Log Message: Release 0.2.1. Small cleanup, changed logotype and get version everywhere from version.ch Index: command.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libcodb_query/command.prg,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- command.prg 16 Jun 2006 15:22:20 -0000 1.3 +++ command.prg 20 Jun 2006 10:25:52 -0000 1.4 @@ -25,17 +25,17 @@ /* First key list */ static cmdList := { ; - { "help", @ec_help(), "Help about database commands" }, ; + { "help", @ec_help(), "Help about database commands" }, ; { "create", @ec_create(), "Create metaobject" }, ; { "delete", @ec_delete(), "Delete object or metaobject" }, ; { "describe", @ec_describe(), "Show metaclass structure" }, ; - { "get", @ec_get(), "Get object from repository" }, ; + { "get", @ec_get(), "Get object from repository" }, ; { "metaget", @ec_metaget(), "Get metaobject" }, ; { "metaput", @ec_metaput(), "Create or update metaobject" }, ; - { "put", @ec_put(), "Create or update object in repository" }, ; + { "put", @ec_put(), "Create or update object in repository" }, ; { "select", @ec_select(), "Query object attributes" }, ; - { "show", @ec_show(), "Show list of metaobjects" }, ; - { "use", @ec_use(), "Open database" } ; + { "show", @ec_show(), "Show list of metaobjects" }, ; + { "use", @ec_use(), "Open database" } ; } /* Metaclasses types */ @@ -59,17 +59,17 @@ /* Metaclasses name for 'DESCRIBE' */ static aMClassesDesc := { ; {'depository', 'DEPOSIT', 'Show depository metaclass structure'} , ; - {'extent', 'EXTENT', 'Show extended attribute metaclass structure'} , ; + {'extent', 'EXTENT', 'Show extended attribute metaclass structure'} , ; {'attribute', 'ATTR', 'Show attribute metaclass structure'} , ; - {'counter', 'COUNTER', 'Show counter metaclass structure'} , ; - {'index', 'INDEX', 'Show index metaclass structure'} , ; - {'class', 'CLASS', 'Show class metaclass structure'} , ; - {'tcolumn', 'TCOLUMN', 'Show column for view metaclass structure'} , ; - {'tview', 'TVIEW', 'Show view metaclass structure'} , ; - {'report', 'REPORT', 'Show report metaclass structure'} , ; - {'plugin', 'PLUGINS', 'Show database plugin metaclass structure'} , ; - {'user', 'USER', 'Show database user metaclass structure'} , ; - {'group', 'GROUP', 'Show database user group metaclass structure'} ; + {'counter', 'COUNTER', 'Show counter metaclass structure'} , ; + {'index', 'INDEX', 'Show index metaclass structure'} , ; + {'class', 'CLASS', 'Show class metaclass structure'} , ; + {'tcolumn', 'TCOLUMN', 'Show column for view metaclass structure'} , ; + {'tview', 'TVIEW', 'Show view metaclass structure'} , ; + {'report', 'REPORT', 'Show report metaclass structure'} , ; + {'plugin', 'PLUGINS', 'Show database plugin metaclass structure'} , ; + {'user', 'USER', 'Show database user metaclass structure'} , ; + {'group', 'GROUP', 'Show database user group metaclass structure'} ; } /* Attributes of metaclasses */ @@ -123,7 +123,7 @@ /* Connect to server */ function codb_connect( connect_string ) local oErr, o, dbh, dbl, i, pos, cDB, cDBPath, cDBDesc, curDB - local dict, depl, j, dep, dep_new, dep_content, name, fErr + local dict, depl, j, dep, dep_new, dep_content, name o := CODB_Client(connect_string) set deleted on @@ -148,9 +148,7 @@ cDB := left(i,pos-1) dict := dbh:connect(cDB) - fErr := __db_ready(dict:path) - - if fErr == 0 .and. .not. val(dict:error) > 0 .and. dict:open() + if .not. val(dict:error) > 0 .and. dict:open() cDBPath := iif(empty(dict),"",dict:path) cDBDesc := substr(i,pos+1) @@ -187,25 +185,6 @@ return o -/* Internal function for check database writable*/ -static function __db_ready(dbPath) - local oErr, f, fH, fErr:=0 -/* oErr := ErrorBlock({|e| break(e) }) - begin sequence - f := dbPath+PATH_DELIM+"counters.dbf" - fH := fopen(f, 2) - fErr := ferror() - if fErr == 0 - fclose(fH) - endif - //?? f,fErr,chr(10) - recover using oErr - // ?? "Error open database "+dbPath+chr(10) - return 1 - end sequence -*/ -return fErr - /* Internal function for setting up db by its name */ static function __set_db(self, db) local p, i @@ -1068,7 +1047,7 @@ /* 'CREATE' command */ static function ec_create( self, cmd, res, files ) - local oErr, dbh, d:=map(), dict, desc:='', i, fErr:=0 + local oErr, dbh, d:=map(), dict, desc:='', i if len(cmd) < 2 return "Unknown metaclass name for creation" @@ -1120,12 +1099,8 @@ // Open created database. dict := dbh:connect(d:id) - /*f := dict:path+PATH_DELIM+"counters.dbf" - fH := fopen(f, 0) - fErr := ferror() - fclose(fH) - */ - if fErr == 0 .and. .not. val(dict:error) > 0 .and. dict:open() + + if .not. val(dict:error) > 0 .and. dict:open() // Append to databases list aadd(self:dict_list, { d:id, dict, NIL, d:path, d:name } ) endif @@ -1183,8 +1158,6 @@ return "Attribute list is empty" endif -//?? "CMD -->", cmd, chr(10) - // Parse statement for i=2 to len(cmd) if lower(cmd[i]) == 'from' @@ -1207,10 +1180,11 @@ next //?? "ATTRS:", attrs, chr(10) - // TODO: all fields by '*' - //?? "CLASSES:", classes, chr(10) //?? "WHERE:", where, chr(10) + + // TODO: all fields by '*' + if len(classes) == 0 return "Class(es) is not defined" endif @@ -1231,9 +1205,6 @@ aadd(classIds, codb_metaIdByName(dict,i,"CLASS")) next endif -//?? "CLASSES:", classes, chr(10) -//?? "CLASSES_IDS:", classIds, chr(10) -//?? "DEP:", d, chr(10) // Second: fill result with 'where' condition check res:fields := attrs res:data := array(0) |