~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to conf/metadata_locking.yy

merge from internal tree

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
query:
 
2
        transaction |
 
3
        select | select | call |
 
4
        dml | dml |
 
5
        ddl ;
 
6
 
 
7
transaction:
 
8
        START TRANSACTION | COMMIT | ROLLBACK ;
 
9
 
 
10
select:
 
11
        SELECT /* RESULTSET_SAME_DATA_IN_EVERY_ROW */ select_item AS f1
 
12
        FROM join_list
 
13
        where;
 
14
 
 
15
call:
 
16
        CALL /* RESULTSET_SAME_DATA_IN_EVERY_ROW */ procedure_name ( @inout1 ) |
 
17
        SET @inout1 = 0 ; CALL procedure_name ( @inout1 ) ; SELECT /* RESULTSET_SINGLE_INTEGER_ONE */ IF(@inout1 IN (0,1), 1, 999);
 
18
 
 
19
dml:
 
20
        update | 
 
21
#       delete |        # bug46746
 
22
        insert_select ;
 
23
 
 
24
update:
 
25
        pick_table_name UPDATE $table_name SET _field = _digit ;
 
26
 
 
27
insert_select:
 
28
        pick_table_name INSERT INTO $table_name SELECT * FROM $table_name LIMIT 0 ;
 
29
 
 
30
delete:
 
31
        pick_table_name DELETE FROM $table_name LIMIT 1 ;
 
32
 
 
33
select_item:
 
34
        _digit |
 
35
        function_name ( _digit ) |
 
36
        function_name ( _field ) ;
 
37
 
 
38
join_list:
 
39
        selectable_object;
 
40
 
 
41
selectable_object:
 
42
        _table |
 
43
        pick_table_name $table_name |
 
44
        pick_view_name $view_name ;
 
45
 
 
46
where:
 
47
        |
 
48
        WHERE argument operator argument;
 
49
 
 
50
argument:
 
51
        _field |
 
52
        _digit |
 
53
        function_name ( argument ) ;
 
54
 
 
55
operator:
 
56
        < | <> ;
 
57
 
 
58
ddl:
 
59
        table_ddl |
 
60
        function_ddl |
 
61
        table_ddl |
 
62
        view_ddl |
 
63
        procedure_ddl;
 
64
# |     trigger_ddl ;   # bug46748
 
65
 
 
66
table_ddl:
 
67
        pick_table_name create_table | pick_table_name create_table | pick_table_name create_table |
 
68
        pick_table_name alter_table ;
 
69
        pick_table_name drop_table ; create_table ;
 
70
 
 
71
function_ddl:
 
72
        pick_function_name create_function | pick_function_name create_function | pick_function_name create_function |
 
73
        pick_function_name drop_function ; create_function ;
 
74
 
 
75
procedure_ddl:
 
76
        pick_procedure_name create_procedure | pick_procedure_name create_procedure | pick_procedure_name create_procedure |
 
77
        pick_procedure_name drop_procedure ; create_procedure ;
 
78
 
 
79
trigger_ddl:
 
80
        pick_trigger_name create_trigger | pick_trigger_name create_trigger | pick_trigger_name create_trigger |
 
81
        pick_trigger_name drop_trigger ; create_trigger ;
 
82
 
 
83
view_ddl:
 
84
        pick_view_name create_view | pick_view_name create_view | pick_view_name create_view |
 
85
        pick_view_name alter_view | pick_view_name drop_view ; create_view ;
 
86
 
 
87
pick_function_name:
 
88
        { $function_name = 'func_'.$prng->int(1,3) ; return undef } ;
 
89
 
 
90
pick_procedure_name:
 
91
        { $procedure_name = 'proc_'.$prng->int(1,3) ; return undef } ;
 
92
 
 
93
pick_table_name:
 
94
#       { $table_name = $prng->arrayElement($executors->[0]->tables()) ; return undef } |
 
95
        { $table_name = 'table_'.$prng->int(1,3) ; return undef } ;
 
96
 
 
97
pick_trigger_name:
 
98
        { $trigger_name = 'trigger_'.$prng->int(1..9) ; return undef } ;
 
99
 
 
100
pick_view_name:
 
101
        { $view_name = 'view_'.$prng->int(1..3) ; return undef } ;
 
102
 
 
103
function_name:
 
104
        { 'func_'.$prng->int(1,3) } ;
 
105
 
 
106
procedure_name:
 
107
        { 'proc_'.$prng->int(1,3) } ;
 
108
 
 
109
create_function:
 
110
        CREATE FUNCTION $function_name (in1 INTEGER) RETURNS INTEGER deterministic function_body ;
 
111
 
 
112
create_procedure:
 
113
        CREATE PROCEDURE $procedure_name (INOUT inout1 INT) procedure_body ;
 
114
 
 
115
create_table:
 
116
        CREATE temporary TABLE $table_name ( `int` INTEGER, `int_key` INTEGER, KEY (`int_key`) ) select ;
 
117
 
 
118
create_view:
 
119
        CREATE OR REPLACE ALGORITHM = view_algorithm VIEW $view_name AS select ;
 
120
 
 
121
alter_view:
 
122
        ALTER ALGORITHM = view_algorithm VIEW $view_name AS select ;
 
123
 
 
124
drop_view:
 
125
        DROP VIEW $view_name ;
 
126
 
 
127
view_algorithm:
 
128
        UNDEFINED | MERGE | TEMPTABLE ;
 
129
 
 
130
temporary:
 
131
        ;
 
132
#       | TEMPORARY ;   # bug46747
 
133
 
 
134
create_trigger:
 
135
        pick_table_name CREATE TRIGGER $trigger_name trigger_time trigger_event ON $table_name FOR EACH ROW update ;
 
136
 
 
137
trigger_time:
 
138
        BEFORE | AFTER;
 
139
 
 
140
trigger_event:
 
141
        INSERT ;
 
142
 
 
143
drop_trigger:
 
144
        DROP TRIGGER $trigger_name;
 
145
 
 
146
drop_table:
 
147
        DROP TABLE IF EXISTS $table_name;
 
148
 
 
149
alter_table:
 
150
        ALTER TABLE $table_name ADD COLUMN `default` INTEGER DEFAULT _digit |
 
151
        ALTER TABLE $table_name CHANGE COLUMN `default` `default` INTEGER DEFAULT _digit ;
 
152
 
 
153
drop_function:
 
154
        DROP FUNCTION $function_name ;
 
155
 
 
156
drop_procedure:
 
157
        DROP PROCEDURE $procedure_name ;
 
158
 
 
159
function_body:
 
160
        RETURN _digit |
 
161
        RETURN in1 ;
 
162
 
 
163
procedure_body:
 
164
        BEGIN SELECT COUNT(DISTINCT select_item ) INTO inout1 FROM join_list where ; END |
 
165
        BEGIN SELECT select_item FROM join_list where ; END ;
 
166
 
 
167
deterministic:
 
168
        | DETERMINISTIC | NOT DETERMINISTIC ;