Re: SQL5 budget

Поиск
Список
Период
Сортировка
От Dmitry Turin
Тема Re: SQL5 budget
Дата
Msg-id 1854950741.20081104164755@belarusbank.minsk.by
обсуждение исходный текст
Ответ на SQL5 budget  (Dmitry Turin <dmitry.turin@belarusbank.minsk.by>)
Список pgsql-hackers
> I had preliminary conversation with my employer about implementation of SQL5 [1] without "Driven Scene" [2]. He needs
concretebudget. 
> So i'm asking you to estimate and say, how much will it cost.
> In particular, speach goes about implemention of slides # 17-42, 47-56, 63, 102-109, 114-143,
> 147-157, 160-177, 180-197 of "sql5.16.4.pdf", and about implementation of
> http://sql50.euro.ru/site/sql50/en/author/mtd_eng.htm

Changes of two related projects (SQL5 & HTML6), not reflected in documentation yet.

===50

in regard to
http://sql50.euro.ru/sql5.16.4.pdf (slide #31,etc)
 in addition to mentioned in pdf-document, statement
SELECT ... COMMENTING. extracts additional record from table as first xml-element, attributes of which contain
comments,specified for each field earlier by statement 
COMMENT tab/@fld BY "column title"; this first xml-element contains additional service xml-attribute '_=comment'.
usuallycomments are specified for html-tables, instead of html-trees 

--

in regard to
http://sql50.euro.ru/sql5.16.4.pdf (slide #18)
http://html60.euro.ru/site/html60/en/author/tabfile_eng.htm (Sending of form)
http://html60.euro.ru/site/html60/en/author/cube_eng.htm    (Sending of form)
 Obtaining single xml-element (instead of xml-tree) with primary key (PK) for DBMS table (specified in some
xml-attribute)means the following: 
*) if this PK is already in DBMS table, then DBMS *updates* fields of record with this PK
*) if this PK is not in table (this usually means, that record with this PK was already deleted), then DBMS *inserts*
thisxml-element under new PK (obtained from sequence for this PK), i.e. PK will be changed during insertion. 

--

in regard to
http://sql50.euro.ru/sql5.16.4.pdf (slide #31-32, 39(Another output), 40)
http://html60.euro.ru/site/html60/en/author/forxml_eng.htm
http://html60.euro.ru/site/html60/en/author/quest_eng.htm#webforms_data (<data id="records">...</data>)
 Each 'select ...' extracts data into LAN or WAN. (instead of 'insert ... select ...' and 'select ... into ...', coping
datainto internal DBMS table). Each 'select ... union ... select ...' interpreted as single extraction of xml into LAN
orWAN. Each extraction of data into LAN or WAN is automatically: 
*) anticipated by content of field 'beginning' of system table 'SysXmlFormatting'
*) ended by content of field 'end' of system table 'SysXmlFormatting' and
*) by bament <?newdocument/?> (to inform client, e.g. browser, about end of document)
P.S.
Other field of system table 'SysXmlFormatting' is URL
(which specifies browser URL; 'null' means all URL and is applied,
only if 'SysXmlFormatting' does not contain record with exact URL).

--

in regard to
http://sql50.euro.ru/sql5.16.4.pdf (slide #173)
 Authentification (obtaining username and password, slide #173) must be implemented by baments (look at slides #26-27)
andis described nowhere. 
--other SQL5 additions
 in addition to mentioned in pdf-document, each 'select ...' (extracting data into LAN/WAN) is savepoint. DBMS
rollbacksto this savepoint, having obtained bament 
<?back/?>
 in addition to mentioned in pdf-document, permissions for field are controlled
GRANT/REVOKE SELECT/INSERT/UPDATE ON tab/@fld FOR user1;
 in addition to mentioned in pdf-document, if table "b" below is created
--------------------------
| b1 | b2 |      b3      |
|------------------------|
|         | a1 | a2 | a3 |
|------------------------|
|                        |
|                        |
-------------------------- then expression
IMPLY b/@b3 as b/@b3/@a2; influence so, that any 'SELECT @b3 FROM b' will extract only one elementary field (@a2)
insteadof all branch elementary fields (@a1, @a2, @a3), i.e. mentioned statement will be equivalent to 'SELECT @b3/@a2
FROMb'. it's for multi-language applications (@a1, @a2, @a3 contain notes in different languages)  DBMS creates
separeteCSS-file "username.css" for each user "username" in local (for DBMS) directory. All accessable database fields
(foruser "username") are listed in this file as ¶fieldname [instead of §fieldname, because DBMS does not know, what
fieldsare service (like @colspan, @rowspan) or are values of properties (like in
http://html60.euro.ru/site/html60/en/author/chart_eng.htm),and what fields contain data for visualization -   so mark ¶
actslike comment for this xml-attribute), except fields, which are primary keys in database, and which are always
specified(and never ignored) as invisible. Fields, calculated upon other fields and don't saved really, specified as
calculatedby browser upon other fields. CSS-files are available for editing for DBMS administrator. 


===60

in regard to
http://html60.euro.ru/site/html60/en/author/looker_eng.htm
http://sql50.euro.ru/site/sql50/en/author/mtd_eng.htm
 instead of
<table name="M" action="./scriptM.cgi" portion="50" visual="20" id="id1">
<table name="S" action="./scriptS.cgi" portion="40" visual="10" master="id1"> the following construction must be
implemented
<table name="M">
<table name="S"> with CSS
table[name=M] { online:yes; portion:50; visual:20 }
table[name=S] { online:yes; portion:40; visual:10; master:M } communication must be implemented via SQL5 over TCP (look
atslides #27-28 of http://sql50.euro.ru/sql5.16.4.pdf) without closing TCP-connection after obtaining XML-document 
 as well as instead of
<table name="M" action="./scriptM.cgi" portion="50" visual="20" id="id1">
<table name="N" action="./scriptN.cgi" portion="50" visual="20" id="id2">
<table name="P" action="./scriptP.cgi" portion="50" visual="20" id="id3">
<table name="S" action="./scriptS.cgi" portion="40" visual="10" master="id1 id2 id3"> the following construction must
beimplemented 
<table name="M">
<table name="N">
<table name="P">
<table name="S"> with CSS
table[name=M] { online:yes; portion:50; visual:20 }
table[name=N] { online:yes; portion:50; visual:20 }
table[name=P] { online:yes; portion:50; visual:20 }
table[name=S] { online:yes; portion:40; visual:10; master:M N P }

 instead of sament
<_ name= event= arg= > the following bament must be sent
<?mtd name= event= arg= /?> because saments are saved in database, but baments are not (we don't need to save temporary
serviceinformation)  as well as instead of 
<_ name= event= arg= >
<a a1= a2= a3=> the following construction must be sent
<?mtd name= event= arg= >
<a a1= a2= a3=>
</?mtd>
 as well as instead of
<_ name="S" event="TableDown" arg="40">
<m m1="v15_1"  m2="v15_2"  m3="v15_3">
<n n1="v23_1"  n2="v23_2"  n3="v23_3">
<p p1="v47_1"  p2="v47_2"  p3="v47_3"> the following construction must be sent
<?mtd name= event= arg= >
<m m1= m2= m3= >
<n n1= n2= n3= >
<p p1= p2= p3= >
</?mtd>

 instead of
<a  a1= a2= a3="tiger.jpg">
<file name="a3" filename="tiger.jpg">Y29udGVudHMgb2YgZmlsZTEudHh0</file>   the following construction must be
implemented
<a  a1= a2= a3="tiger.jpg">
<?file attr="a3" value="tiger.jpg" xml:size= >Y29udGVudHMgb2YgZmlsZTEudHh0</file>

 instead of
<table    name="A" action="./script.cgi"  portion="50" visual="20"> <select name="B" action="./script2.cgi"
portion="40"visual="10">a2</select> 
</table> the following construction must be implemented
<table    name="A"/> with CSS
table [name=A] { online:yes; portion:50; visual:20 }
table [name=A] { §a2: B }                            /* 'portion', 'visual' are inherited */
 in addition to mentioned, statement
table [name=A] { §a2: B C } means, that "C" is master table for "B", "B" is master table for "§a2", and that browser
representscontent "C" before content "B" to choose sub-set of "B"  
 in addition to mentioned in paper (HTML6), each 1-st click on column header (e.g. concerning to xml-attribute @a2)
sendsbament 
<?mtd name= event=asc  arg=a2/?>  each 2-nd click sends bament
<?mtd name= event=dsc  arg=a2/?>  each 3-rd click sends bament
<?mtd name= event=none arg=a2/?>
 in addition to mentioned in paper (MTD), following bament forces to resent data, having appended ascendant sorting by
field@a2 
<?mtd name= event=asc  arg=a2/?> following bament forces to resent data, having appended descendant sorting by field
@a2
<?mtd name= event=dsc  arg=a2/?> and following bament forces to resent data, having subtracted sorting by field @a2
<?mtd name= event=none arg=a2/?>

---

in regard to
http://html60.euro.ru/site/html60/en/author/combo_eng.htm
http://sql50.euro.ru/site/sql50/en/author/mtd_eng.htm
 instead of
<select name="C" action="./script2.cgi" portion="40"> the following element must be implemented
<select name="C"> with CSS
ul[name=A] { online:yes; portion:40 } communication must be implemented via SQL5 over TCP (look at slides #27-28 of
http://sql50.euro.ru/sql5.16.4.pdf)without closing TCP-connection after obtaining XML-document 

 instead of sament
<_ name= event= arg= > the following bament must be sent
<?mtd name= event= arg= /?> because saments are saved in database, but baments are not (we don't need to save temporary
serviceinformation) 
 as well as instead of
<_ name= event= arg= >
<option id= value=>word40<option> the following construction must be sent
<?mtd name= event= arg= >
<option id= value=>word40<option>
</?mtd>


---

in regard to
http://html60.euro.ru/site/html60/en/author/tree_eng.htm
http://sql50.euro.ru/site/sql50/en/author/mtd_eng.htm
 instead of
<ul name="A" action="./script.cgi"> the following element must be implemented
<ul name="A"> with CSS
ul[name=A] { online:yes } communication must be implemented via SQL5 over TCP (look at slides #27-28 of
http://sql50.euro.ru/sql5.16.4.pdf)without closing TCP-connection after obtaining XML-document 
 instead of sament
<_ name= event= arg= > the following bament must be sent
<?mtd name= event= arg= /?> because saments are saved in database, but baments are not (we don't need to save temporary
serviceinformation) 

---

in regard to
http://html60.euro.ru/site/html60/en/author/looker_eng.htm
http://html60.euro.ru/site/html60/en/author/tree_eng.htm
http://sql50.euro.ru/site/sql50/en/author/mtd_eng.htm
 in addition to mentioned in papers, tree as master element for table is possible
ul   [name=A] { online:yes }
table[name=S] { online:yes; portion:40; visual:10; master:A } and browser sends at user actions
<?mtd name=S event= arg= >
<li id=1>
</?mtd> it's supposed, that foreign key of database table "S" refers to primary key of database table "A"
 database table, corresponding to HTML-tree, consists of only two fields - of primary key (extracted as @id), and of
anyother field with any name (extracted as content of element LI) 

--other HTML6 additions
 pressing browser botton "back" not only display previos XML-document, but also sends bament
<?back/?> (which rollback transaction in DBMS to previos 'select ...')  bottons to append and remove table row must be
implementedin menu of browser window (implementation in way of WebForms2 is optional)  property 'save' means, that at
pressing^S, html/xml-document will be saved with entered values 
input { save:yes }



Dmitry (SQL50, HTML60)




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: libpq and sslmode=require
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: patch: array_ndims