Download presentation
Presentation is loading. Please wait.
Published byWarren Boone Modified over 6 years ago
1
SIR/XS Next Release of SIR New York Conference 2005
2
SIR/XS Major New Features Other Improvements 32 character names
New journaling and recovery New XML Procedure New GUI Debugger New PQL Server Multiple Data Files New schema features Other Improvements New Syntax – slash separator not needed New gui controls Regular expression functions Encryption
3
Alpha Release Welcome to try Expect to work No version control
No SQL, Master, old Forms No version control Help/documentation still 2002 For instructions on new features Comments Report Bugs
4
SIR/XS 32 character names
VisualPQL Variables Sub-Routines Sub-Procedures Labels Buffer Names Filenames Database Schema Database Names Record Names Variable Names Index Names Passwords Tabfiles & Tables Families Members
5
Standard Names 1 – 32 characters Start with alpha Capitalized
Contain letters, numbers, four special characters $ _
6
Non-Standard Names Enclosed in curly braces { }
From 1 to 30 characters (plus braces) No translation Any characters Stored without braces so sort normally
7
Other Syntax Deprecate use of slash Standard variable lists in ()
Needed in schema commands Optional everywhere else Standard variable lists in () New syntax for TABULATE TABULATE [[Wafer,]Stub,]Header / OPTIONS TABULATE HEADER = (EXP) STUB = (EXP) WAFER = (EXP) OPTIONS
8
Standard summary variable list
Variable names or three keywords ALL All (with regard to INCLUDE/EXCLUDE) AS Use alternate name S(1) AS SALARY or S(1) 'Salary‘ TO Creates list of selected variables A to B end of the list when: List starts and stops with brackets () End of input e.g. next command (not next clause on same command) Special character - slash / is valid, other may be Name that is not a variable – if also not valid keyword gives ‘Error 4 Keyword is invalid'
9
New Schema STANDARD SCHEMA RECORD SCHEMA RECORD num,name ‘Label’
Variable definitions RECORD SCHEMA STANDARD VARIABLE varname RECORD num,name ‘Label’ VAR DOC command WRITE SCHEMA Writes TO lists Writes in Variable Order
10
Multiple Data Files Split the .sr3 data file
No overhead for existing single file databases Split based on serial key ranges Case structure – case values Caseless – record type/key value DATA FILES ‘filename’ FROM () filename Before any data added Requires restructure
11
Existing Data Structure
Top Level Index Other Index Levels Data Level
12
New Data Structure FILE INDEX Top Level Index Other Index Levels
Data Level
13
ENCRYPT Encrypts data 128 bit encryption BLOWFISH algorithm
ENCRYPT/DECRYPT PQL Functions
14
New PQL Debugger GUI Interface Step through source
Set breakpoints at lines See values in variables Set values in variables Set watchpoints (break when value changes) Step into/over subroutines
15
Routine to debug PROGRAM/RETRIEVAL/SUBROUTINE DEBUG {= name}
Stores as a subroutine If name not specified Real subroutine uses subroutine name Other SYSTEM.DEBUG Generates debug source code Can be useful even if not debugging Specify NOEXECUTE if just want to debug
16
Run Debugger Choose which module to debug Module starts
Lists source Lists variables Look at other stuff Members/Files/Buffers
17
No Execution Window Deprecated Commands accept character bell
box cursor All template commands display text erase screen field input fill keypad on line attribute line character mapkey mouse refresh screen sense mouse horizontal menu vertical menu screen graphics
18
Improved Recovery Journaling Rewritten Itemize rewritten Roll back
Roll forward Auto recover Transaction processing Incremental Unload
19
Journal Update Record File Header Database Name Before update
Version of Software Update Header Data/Schema Update Level Started Date/Time Started Date/Time Finished (for data updates) User Name Update Record Before update Before delete After insert After update Existing record previous update level User (in multi-user mode)
20
Journal Utilities Journal Recover Journal Rollback Itemize Upload
Rolls forward from given place Journal Rollback Rolls back from given place Auto Recover on connect Itemize Lists contents (headers) Upload Creates machine independent text file
21
Journal Processing New PQL commands to process journals Audit Trail
Access to header data Access to record values Audit Trail Other recovery strategies
22
Journal Commands PROCESS JOURNAL JOURNAL RECORD IS
PQL access to record variables END JOURNAL RECORD IS END PROCESS JOURNAL
23
PROCESS JOURNAL [FROM = updlevel | START = date [,time] ]
[THRU = updlevel | END = date [,time] ] [REVERSE] [FILENAME= fname ] (sr5 is the default) Return Data [DATE = varname] [ENDDATE = varname] [TIME = varname] [ENDTIME = varname] [LEVEL = varname] [RECORD = varname] [TYPE = varname] [USER = varname]
24
Example program integer*4 jtype
value labels jtype (1) 'Record written‘ (2) 'Before rewrite‘ (3) 'After rewrite‘ (4) 'Deleted record‘ (-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
25
Transaction Processing*
Start Transaction End Transaction (Commit) Abort Transaction Journal Based Rollback on Abort
26
Incremental Unload* Creates Journal of Updates Add to end of Unload
Automatic processing of levels Automatic restore by reload Optional separate file
27
XML XML File structure XML Names Text File Hierarchical Tags enclose
Resembles HTML with own tags XML Names Begin with character (or _ :) Case sensitive Allow letters, numbers - _ : . (No spaces)
28
Example XML <company> <person>
<name>John D Jones</name> <salary>2150</salary> <birthday>1956</ birthday > </person> <name>James A Arblaster</name> <salary>1500</salary> < birthday >1961</ birthday > </company>
29
XML SAVE FILE Procedure
Standard Clauses FILENAME = filename BOOLEAN = (logical expression) MISSCHAR = character SAMPLE = fraction SORT = variable,.... Special Clauses ROOT = 'string' BREAK = variable ( TAG = 'string', ATTRIBUTES = (varname (format) ),...) ELEMENTS = (varname (format) ),...)) DTD [= filename] SCHEMA [= filename]
30
Example XML <company> - ROOT = ‘people’
<person> - BREAK = ( id tag = ‘person’ - ELEMENTS =(name,salary,birthday)) <name>John D Jones</name> <salary>2150</salary> <birthday>1956</birthday> </person> <person> <name>James A Arblaster</name> <salary>1500</salary> < birthday >1961</ birthday > </company>
31
SIR Server Similar in concept to SQLServer Machine Independent
Started on network Waits for users to logon Process requests Returns results Machine Independent
32
Concept Send commands (text) to server Tell server to execute
Carry on or wait Get status and count of output lines All output to standard output can go back to client
33
Client/Server Functions
SERLOG(Client,Server_name,Password) SERSEND(Client_Id,string) SERSENDB(Client_Id,buffername) SEREXEC(client_id,wait_factor) SERTEST(client_id,wait_factor) SERLINES(client_id) SERGET(client_id,skiplines) SERADMIN
34
Client Sample Program Logon Send Request (check error codes)
Get output line at a time Logoff
35
GUI Improvements New Messages SPIN & SLIDER Controls TREE Control
Right Mouse click Mouse over VSCROLL SPIN & SLIDER Controls TREE Control
36
Other Features Suggestions encouraged and welcomed
Various improvements Regular expression functions REGEXP – Searches REGREP - Replaces STDOUT as filename Cross record functions work with string values CNT CNTR MAX MAXR MIN MINR PWRITE/ PREAD outputs last amended date and time option to overwrite based on date/time Compare two PWRITE to spot differences Facility to rename family
37
Where Next Finish Features Integrate with menus
Master, SQL and old Forms Test Documentation and Help Beta Release in 3 months
38
SIR/XS New York Conference 2005
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.