Presentation is loading. Please wait.

Presentation is loading. Please wait.

Manchester Conference 2003 SIR User Conference Manchester July 4 th 2003.

Similar presentations


Presentation on theme: "Manchester Conference 2003 SIR User Conference Manchester July 4 th 2003."— Presentation transcript:

1 Manchester Conference 2003 SIR User Conference Manchester July 4 th 2003

2 SIR Product Development n Where are we now? n Where are we going?

3 Current Release SIR2002 n Data Management –Multiple Databases –Integrated Master Modules –SQLServer for ODBC –Secondary Indexes –Long Strings

4 Current Release SIR2002 n Application Development –GUI Based –Screen Painters –Unlimited PQL Program Size n (No ‘Table Space’) –Spreadsheet –PQLForms –Internet Enabled

5 Current Release SIR2002 n Single Generic Source on Windows XP n Releases on Windows, Sun, HP, IBM, Linux n SPRs fixed on demand - revisions on internet for download n Following Last Conference –Upgraded PQLForms –Corrected Secondary Index Issues –Current version 20.23

6 Where are we going? n Support Multiple Platforms n Compatibility from earlier versions n Ease of Use n Integrate as much as possible –No ‘M’ modules –PQLForms –Incorporate SQL into PQL –Extend database features to remove need for tabfiles

7 Where are we going? n VisualPQL is primary tool –Sub-routines, sub-procedures, program in program, extended size, pre-compile, functions –Other features use VisualPQL e.g. menu interface, painters, PQLForms n Extend GUI Features –Fonts (colour, size, etc), Other Controls –No text style screens n Old Forms, old editor, PQL debugger

8 Suggested new features n SQL in VisualPQL n Extended & Improved backup/restore n Multiple database data files n PQL Server n XML Input/Output n GUI PQL Debugger?? n 32 character names?? n Sent questionnaire

9 Feature Used Visual PQL 86% Old Forms 38% PQLForms 25% Painter 20% Master 30% ODBC 33% SQL 38% Sec.Indexes 30% Web Interface 20% Multiple DB 30% Tabfiles 33% Debugger 30% Exec Window 30%

10 Feature Wanted n SQL in PQL 40% n Improved Recovery 60% n Multiple Data file 33% n PQL Server 20% n XML 52% n GUI PQL Debugger 33% n 32 character names 76%

11 Write In Features n Users Passwords Improved n New Tabulate n Multilingual labels n PQL Design Studio n Better ODBC n Better error messages n Anchor column in spreadsheet n Timestamp data type n Basic PQLForm n Report Painter n Editor that knows about members n Audit Trails, More security n Extra GUI things, Colours in PQL

12 Name for Next Version n SIR2000 (Windows 2000 – year 2000) n SIR2002 (SIR2000 ver 2 - year 2002) n SIR2003 (SIR2000 ver 3) ? n SIR2004 (release year) ? n SIR/XP (Cross Platform)? n SIR/XS (eXtended System)? n SIRDBXS ?

13 SIR/XS n Feature Wanted –32 character names – –Improved Recovery – –XML – –SQL in PQL – –Multiple Data files – –GUI PQL Debugger – –PQL Server

14 32 character names n Database Schema –Database Names –Record Names –Variable Names –Index Names –Passwords n Tabfiles & Tables n Families & Members n VisualPQL –Variables –Sub-Routines –Sub-Procedures –Labels –Buffer Names –Filenames

15 Standard Names –1 – 32 characters –Start with alpha –Capitalized –Contain letters, numbers, four special characters $ # @ _

16 Non-Standard Names –Enclosed in curly braces { } –From 1 to 30 characters (plus braces) –No translation –Any characters –Stored without braces so sort normally

17 SIR/XS n Feature Wanted – –32 character names –Improved Recovery – –XML – –SQL in PQL – –Multiple Data files – –GUI PQL Debugger – –PQL Server

18 Improved Recovery n Current Features –Journal –Unload –Reload –Rollforward n Improvements –Rollback –Transaction processing –Automatic Recovery –Journal as Audit Trail –Incremental Backup

19 Journal Utilities n Journal Recover (New) –Rolls forward from given place n Journal Rollback –Rolls back from given place n Itemize –Lists contents (headers) n Upload –Creates machine independent text file n Download –Applies output from upload

20 Improved Recovery n Journaling Rewritten n Itemize rewritten n Roll back n Roll forward n Auto recover

21 Journal n File Header –Database Name –Version of Software n Update Header –Data/Schema –Update Level Started –Date/Time Started –Date/Time Finished (for data updates) –User Name n Each update record –Before update –Before delete –After insert –After update –Existing record previous update level –User (in multi-user mode)

22 Journal Processing n New PQL commands to process journals –Access to header data –Access to record values n Audit Trail n Other recovery strategies

23 Journal Commands PROCESS JOURNAL JOURNAL RECORD IS JOURNAL RECORD IS PQL access to record variables PQL access to record variables END JOURNAL RECORD IS END JOURNAL RECORD IS END PROCESS JOURNAL

24 PROCESS JOURNAL n [FROM = updlevel | START = date [,time] ] n [THRU = updlevel | END = date [,time] ] n [REVERSE] n [FILENAME= fname ] (sr5 is the default) n Return Data –[DATE = varname] [ENDDATE = varname] –[TIME = varname] [ENDTIME = varname] –[LEVEL = varname] –[RECORD = varname] –[TYPE = varname] –[USER = varname]

25 Example program integer*4 jtype value labels jtype (1) 'Record written‘ (2) 'Before rewrite‘ (3) 'After rewrite‘ (4) 'Deleted record‘ (3) 'After rewrite‘ (4) 'Deleted record‘ (-1) ‘Data header‘ (-4) ‘Schema header‘ (-5) ‘User header' (-1) ‘Data header‘ (-4) ‘Schema header‘ (-5) ‘User header' process journal TYPE= JTYPE RECORD = jrec level = jlevel FROM = 13 ifthen (jtype gt 0). write [vallab(JTYPE)] 'Record Type ' jrec.else. write [vallab(JTYPE)] 'Update level ' jlevel fi journal record employee write id name salary end journal record end process journal end program

26 Transaction Processing n Start Transaction n End Transaction (Commit) n Abort Transaction n Journal Based n Rollback on Abort

27 Incremental Unload n Creates Journal of Updates –Add to end of Unload –Automatic processing of levels –Automatic restore by reload –Optional separate file

28 SIR/XS n Feature Wanted – –32 character names – –Improved Recovery –XML – –SQL in PQL – –Multiple Data files – –GUI PQL Debugger – –PQL Server

29 XML n Still at concept stage – input welcomed n XML File structure –Text File –Hierarchical –Tags enclose –Resembles HTML with own tags n XML Names –Begin with character (or _ :) –Case sensitive –Allow letters, numbers - _ :. (No spaces)

30 Example XML <people> John D Jones John D Jones 2150 2150 1956 1956 </person> James A Arblaster James A Arblaster 1500 1500 1961 1961 </people>

31 XML Design Issues n How to relate data to tags? –Use record name –Use variable name –Use variable label n How to generate XML? –Utility / PQL Procedure/ WRITE n How to read XML? –Utility / READ / New PQL n Unicode – UTF-8 ISO-8859-1 UTF-16

32 Example XML Proc retrieval process case process rec employee get vars name salary birthday perform procs end process rec end process case xml tag = 'people' filename = ‘example.xml’ detail block tag = 'person'. write name salary [datec(birthday,yyyy')] tag = 'born_year' [datec(birthday,yyyy')] tag = 'born_year' end xml end retrieval

33 Example XML Read program string*256 tagin datain string*25 name integer*4 salary date born_year ('YYYY') open input dsn='example.xml' XMLTAG = tagin error=endlab loop. read (input,error=endlab) datain(a*). if (tagin eq 'person') set name salary born_year (missing). if (tagin eq 'Name') compute name = datain. if (tagin eq 'Salary') compute salary = numbr(datain). if (tagin eq 'born_year') compute born_year = datain. if (tagin eq '/person') write name salary poolendlab: end program

34 Example XML PROCESS program process xml filename='example.xml'. process xmltag 'person'. gettags name salary born_year. write name salary. end process xmltag end process xml end program

35 SIR/XS n Feature Wanted – –32 character names – –Improved Recovery – –XML –SQL in PQL – –Multiple Data files – –GUI PQL Debugger – –PQL Server

36 SQL in PQL PROCESS SELECT variable_list | * | ALL FROM [ tabfile. ] table_name FROM [ tabfile. ] table_name [ database.] record_name [ database.] record_name [INDEXED BY index_name] [INDEXED BY index_name] [WHERE condition] [WHERE condition]… END PROCESS SELECT

37 SQL in PQL n Processes from multiple data sources –Joins –Use WHERE to restrict –Full PQL conditions/expressions –No subqueries in WHERE n Returns one set of named variables at a time –Sequence as specified in command –No aggregation –No GROUP BY –No UNION

38 SIR/XS n Feature Wanted – –32 character names – –Improved Recovery – –XML – –SQL in PQL –Multiple Data files – –GUI PQL Debugger – –PQL Server

39 Multiple Data Files n Split the.sr3 data file n No overhead for existing single file databases n Split based on serial key ranges –Case structure – case values –Caseless – record type/key value

40 Existing Data Structure Top Level Index Other Index Levels Data Level

41 New Data Structure Top Level Index Other Index Levels Data Level FILE INDEX

42 File Index n Contains key ranges n Contains filenames n Contains pointer to top level index for file n New schema command DATA FILES FILENAME = ‘ ‘ / FILENAME = ‘ ‘ FROM keyvalue / FILENAME = ‘ ‘ FROM keyvalue n Before any data added n Requires restructure

43 SIR/XS n Feature Wanted – –32 character names – –Improved Recovery – –XML – –SQL in PQL – –Multiple Data files –GUI PQL Debugger – –PQL Server

44 GUI Improvements n Main Menu Replace ‘On-Fly’ n Child Windows –GUI PQL Debugger n DISPLAY TIPBOX "text" –shows a box with text that disappears Clipboard COPY/PASTE functions Clipboard COPY/PASTE functions n Synchronized Lists n Right Mouse click & Mouse over messages Image buttons - tool bar buttons on dialogs Image buttons - tool bar buttons on dialogs

45 SIR/XS n Feature Wanted – –32 character names – –Improved Recovery – –XML – –SQL in PQL – –Multiple Data files – –GUI PQL Debugger –PQL Server

46 SIR Server n Similar in concept to SQLServer –Started on network –Waits for users to logon –Process requests –Returns results n Requests –Logon –Run named procedure –Logoff

47 Server Procedures n Single System Procedure File n Requests construct text output –All output to standard output goes back to client n Procedures –Contain SIR Commands –Run PQL

48 Client Facilities n Logon n Send Request (check error codes) n Get output line at a time n Logoff

49 Connect to SIRServer CONNECT conid SIRSERVER 'b1‘ USER 'dad’ PASSWORD ‘zzzz’ ERROR errid

50 Send Request n Request is only ever a CALL –Family[password].member[password (parameter list) SEND REQUEST CONNECT conid COMMAND ‘myprocs.report1‘ RESULT lines n Positive result – lines returned n Negative result – error with request

51 Get Results RETURN LINE myline CONNECT conid ERROR errid e.g. Loop (or FOR I = 1,lines / ROF). return line myline connect conid connect conid error errorid error errorid. if (errorid ne 0) exit loop. write myline pool

52 Training n New Version of Training available for download n Still at stage where looking to refine approach NOT content n Feedback very welcome

53 Other XS Features n PQL based Integrated Editor n Files as Members n Master for Databases not Session

54 Suggestions n Kathy’s List –Allow ‘filename’ as synonym for ‘dsn’ in open –Amend cross record functions to work with string values CNT CNTR MAX MAXR MIN MINR –PWRITE to have last amended date and time written on procedure command –PREAD to have option to overwrite based on date/time –Compare two PWRITE to spot differences –Facility to rename family

55 Manchester Conference 2003 SIR User Conference Manchester 2003


Download ppt "Manchester Conference 2003 SIR User Conference Manchester July 4 th 2003."

Similar presentations


Ads by Google