Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: third_party/sqlite/src/test/auth.test

Issue 2751253002: [sql] Import SQLite 3.17.0. (Closed)
Patch Set: also clang on Linux i386 Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/sqlite/src/test/attach3.test ('k') | third_party/sqlite/src/test/auth2.test » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # 2003 April 4 1 # 2003 April 4
2 # 2 #
3 # The author disclaims copyright to this source code. In place of 3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing: 4 # a legal notice, here is a blessing:
5 # 5 #
6 # May you do good and not evil. 6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others. 7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give. 8 # May you share freely, never taking more than you give.
9 # 9 #
10 #*********************************************************************** 10 #***********************************************************************
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 do_test auth-1.5 { 84 do_test auth-1.5 {
85 proc auth {code arg1 arg2 arg3 arg4 args} { 85 proc auth {code arg1 arg2 arg3 arg4 args} {
86 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_temp_master"} { 86 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_temp_master"} {
87 return SQLITE_DENY 87 return SQLITE_DENY
88 } 88 }
89 return SQLITE_OK 89 return SQLITE_OK
90 } 90 }
91 catchsql {CREATE TEMP TABLE t1(a,b,c)} 91 catchsql {CREATE TEMP TABLE t1(a,b,c)}
92 } {1 {not authorized}} 92 } {1 {not authorized}}
93 do_test auth-1.6 { 93 do_test auth-1.6 {
94 execsql {SELECT name FROM sqlite_temp_master} 94 execsql {SELECT name FROM temp.sqlite_master}
95 } {} 95 } {}
96 do_test auth-1.7.1 { 96 do_test auth-1.7.1 {
97 proc auth {code arg1 arg2 arg3 arg4 args} { 97 proc auth {code arg1 arg2 arg3 arg4 args} {
98 if {$code=="SQLITE_CREATE_TEMP_TABLE"} { 98 if {$code=="SQLITE_CREATE_TEMP_TABLE"} {
99 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 99 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
100 return SQLITE_DENY 100 return SQLITE_DENY
101 } 101 }
102 return SQLITE_OK 102 return SQLITE_OK
103 } 103 }
104 catchsql {CREATE TEMP TABLE t1(a,b,c)} 104 catchsql {CREATE TEMP TABLE t1(a,b,c)}
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 do_test auth-1.13 { 141 do_test auth-1.13 {
142 proc auth {code arg1 arg2 arg3 arg4 args} { 142 proc auth {code arg1 arg2 arg3 arg4 args} {
143 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_temp_master"} { 143 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_temp_master"} {
144 return SQLITE_IGNORE 144 return SQLITE_IGNORE
145 } 145 }
146 return SQLITE_OK 146 return SQLITE_OK
147 } 147 }
148 catchsql {CREATE TEMP TABLE t1(a,b,c)} 148 catchsql {CREATE TEMP TABLE t1(a,b,c)}
149 } {0 {}} 149 } {0 {}}
150 do_test auth-1.14 { 150 do_test auth-1.14 {
151 execsql {SELECT name FROM sqlite_temp_master} 151 execsql {SELECT name FROM temp.sqlite_master}
152 } {} 152 } {}
153 do_test auth-1.15 { 153 do_test auth-1.15 {
154 proc auth {code arg1 arg2 arg3 arg4 args} { 154 proc auth {code arg1 arg2 arg3 arg4 args} {
155 if {$code=="SQLITE_CREATE_TEMP_TABLE"} { 155 if {$code=="SQLITE_CREATE_TEMP_TABLE"} {
156 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 156 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
157 return SQLITE_IGNORE 157 return SQLITE_IGNORE
158 } 158 }
159 return SQLITE_OK 159 return SQLITE_OK
160 } 160 }
161 catchsql {CREATE TEMP TABLE t1(a,b,c)} 161 catchsql {CREATE TEMP TABLE t1(a,b,c)}
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
554 do_test auth-1.77 { 554 do_test auth-1.77 {
555 proc auth {code arg1 arg2 arg3 arg4 args} { 555 proc auth {code arg1 arg2 arg3 arg4 args} {
556 if {$code=="SQLITE_DELETE" && $arg1=="t1"} { 556 if {$code=="SQLITE_DELETE" && $arg1=="t1"} {
557 return SQLITE_IGNORE 557 return SQLITE_IGNORE
558 } 558 }
559 return SQLITE_OK 559 return SQLITE_OK
560 } 560 }
561 catchsql {DROP TABLE t1} 561 catchsql {DROP TABLE t1}
562 } {0 {}} 562 } {0 {}}
563 do_test auth-1.78 { 563 do_test auth-1.78 {
564 execsql {SELECT name FROM sqlite_temp_master} 564 execsql {SELECT name FROM temp.sqlite_master}
565 } {t1} 565 } {t1}
566 } 566 }
567 567
568 # Test cases auth-1.79 to auth-1.124 test creating and dropping views. 568 # Test cases auth-1.79 to auth-1.124 test creating and dropping views.
569 # Omit these if the library was compiled with views omitted. 569 # Omit these if the library was compiled with views omitted.
570 ifcapable view { 570 ifcapable view {
571 do_test auth-1.79 { 571 do_test auth-1.79 {
572 proc auth {code arg1 arg2 arg3 arg4 args} { 572 proc auth {code arg1 arg2 arg3 arg4 args} {
573 if {$code=="SQLITE_CREATE_VIEW"} { 573 if {$code=="SQLITE_CREATE_VIEW"} {
574 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 574 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 return SQLITE_IGNORE 625 return SQLITE_IGNORE
626 } 626 }
627 return SQLITE_OK 627 return SQLITE_OK
628 } 628 }
629 catchsql {CREATE TEMPORARY VIEW v1 AS SELECT a+1,b+1 FROM t2} 629 catchsql {CREATE TEMPORARY VIEW v1 AS SELECT a+1,b+1 FROM t2}
630 } {0 {}} 630 } {0 {}}
631 do_test auth-1.89 { 631 do_test auth-1.89 {
632 set ::authargs 632 set ::authargs
633 } {v1 {} temp {}} 633 } {v1 {} temp {}}
634 do_test auth-1.90 { 634 do_test auth-1.90 {
635 execsql {SELECT name FROM sqlite_temp_master} 635 execsql {SELECT name FROM temp.sqlite_master}
636 } {t1} 636 } {t1}
637 } 637 }
638 638
639 do_test auth-1.91 { 639 do_test auth-1.91 {
640 proc auth {code arg1 arg2 arg3 arg4 args} { 640 proc auth {code arg1 arg2 arg3 arg4 args} {
641 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_master"} { 641 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_master"} {
642 return SQLITE_DENY 642 return SQLITE_DENY
643 } 643 }
644 return SQLITE_OK 644 return SQLITE_OK
645 } 645 }
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 return SQLITE_DENY 772 return SQLITE_DENY
773 } 773 }
774 return SQLITE_OK 774 return SQLITE_OK
775 } 775 }
776 catchsql { 776 catchsql {
777 CREATE TEMP VIEW v1 AS SELECT a+1,b+1 FROM t1; 777 CREATE TEMP VIEW v1 AS SELECT a+1,b+1 FROM t1;
778 DROP VIEW v1 778 DROP VIEW v1
779 } 779 }
780 } {1 {not authorized}} 780 } {1 {not authorized}}
781 do_test auth-1.113 { 781 do_test auth-1.113 {
782 execsql {SELECT name FROM sqlite_temp_master} 782 execsql {SELECT name FROM temp.sqlite_master}
783 } {t1 v1} 783 } {t1 v1}
784 do_test auth-1.114 { 784 do_test auth-1.114 {
785 proc auth {code arg1 arg2 arg3 arg4 args} { 785 proc auth {code arg1 arg2 arg3 arg4 args} {
786 if {$code=="SQLITE_DROP_TEMP_VIEW"} { 786 if {$code=="SQLITE_DROP_TEMP_VIEW"} {
787 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 787 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
788 return SQLITE_DENY 788 return SQLITE_DENY
789 } 789 }
790 return SQLITE_OK 790 return SQLITE_OK
791 } 791 }
792 catchsql {DROP VIEW v1} 792 catchsql {DROP VIEW v1}
(...skipping 23 matching lines...) Expand all
816 return SQLITE_IGNORE 816 return SQLITE_IGNORE
817 } 817 }
818 return SQLITE_OK 818 return SQLITE_OK
819 } 819 }
820 catchsql {DROP VIEW v1} 820 catchsql {DROP VIEW v1}
821 } {0 {}} 821 } {0 {}}
822 do_test auth-1.120 { 822 do_test auth-1.120 {
823 set ::authargs 823 set ::authargs
824 } {v1 {} temp {}} 824 } {v1 {} temp {}}
825 do_test auth-1.121 { 825 do_test auth-1.121 {
826 execsql {SELECT name FROM sqlite_temp_master} 826 execsql {SELECT name FROM temp.sqlite_master}
827 } {t1 v1} 827 } {t1 v1}
828 do_test auth-1.122 { 828 do_test auth-1.122 {
829 proc auth {code arg1 arg2 arg3 arg4 args} { 829 proc auth {code arg1 arg2 arg3 arg4 args} {
830 if {$code=="SQLITE_DROP_TEMP_VIEW"} { 830 if {$code=="SQLITE_DROP_TEMP_VIEW"} {
831 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 831 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
832 return SQLITE_OK 832 return SQLITE_OK
833 } 833 }
834 return SQLITE_OK 834 return SQLITE_OK
835 } 835 }
836 catchsql {DROP VIEW v1} 836 catchsql {DROP VIEW v1}
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
973 catchsql { 973 catchsql {
974 CREATE TRIGGER r1 DELETE on t1 BEGIN 974 CREATE TRIGGER r1 DELETE on t1 BEGIN
975 SELECT NULL; 975 SELECT NULL;
976 END; 976 END;
977 } 977 }
978 } {1 {not authorized}} 978 } {1 {not authorized}}
979 do_test auth-1.139 { 979 do_test auth-1.139 {
980 set ::authargs 980 set ::authargs
981 } {r1 t1 temp {}} 981 } {r1 t1 temp {}}
982 do_test auth-1.140 { 982 do_test auth-1.140 {
983 execsql {SELECT name FROM sqlite_temp_master} 983 execsql {SELECT name FROM temp.sqlite_master}
984 } {t1} 984 } {t1}
985 do_test auth-1.141 { 985 do_test auth-1.141 {
986 proc auth {code arg1 arg2 arg3 arg4 args} { 986 proc auth {code arg1 arg2 arg3 arg4 args} {
987 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_temp_master"} { 987 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_temp_master"} {
988 return SQLITE_DENY 988 return SQLITE_DENY
989 } 989 }
990 return SQLITE_OK 990 return SQLITE_OK
991 } 991 }
992 catchsql { 992 catchsql {
993 CREATE TRIGGER r1 DELETE on t1 BEGIN 993 CREATE TRIGGER r1 DELETE on t1 BEGIN
(...skipping 15 matching lines...) Expand all
1009 catchsql { 1009 catchsql {
1010 CREATE TRIGGER r1 DELETE on t1 BEGIN 1010 CREATE TRIGGER r1 DELETE on t1 BEGIN
1011 SELECT NULL; 1011 SELECT NULL;
1012 END; 1012 END;
1013 } 1013 }
1014 } {0 {}} 1014 } {0 {}}
1015 do_test auth-1.144 { 1015 do_test auth-1.144 {
1016 set ::authargs 1016 set ::authargs
1017 } {r1 t1 temp {}} 1017 } {r1 t1 temp {}}
1018 do_test auth-1.145 { 1018 do_test auth-1.145 {
1019 execsql {SELECT name FROM sqlite_temp_master} 1019 execsql {SELECT name FROM temp.sqlite_master}
1020 } {t1} 1020 } {t1}
1021 do_test auth-1.146 { 1021 do_test auth-1.146 {
1022 proc auth {code arg1 arg2 arg3 arg4 args} { 1022 proc auth {code arg1 arg2 arg3 arg4 args} {
1023 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_temp_master"} { 1023 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_temp_master"} {
1024 return SQLITE_IGNORE 1024 return SQLITE_IGNORE
1025 } 1025 }
1026 return SQLITE_OK 1026 return SQLITE_OK
1027 } 1027 }
1028 catchsql { 1028 catchsql {
1029 CREATE TRIGGER r1 DELETE on t1 BEGIN 1029 CREATE TRIGGER r1 DELETE on t1 BEGIN
(...skipping 15 matching lines...) Expand all
1045 catchsql { 1045 catchsql {
1046 CREATE TRIGGER r1 DELETE on t1 BEGIN 1046 CREATE TRIGGER r1 DELETE on t1 BEGIN
1047 SELECT NULL; 1047 SELECT NULL;
1048 END; 1048 END;
1049 } 1049 }
1050 } {0 {}} 1050 } {0 {}}
1051 do_test auth-1.149 { 1051 do_test auth-1.149 {
1052 set ::authargs 1052 set ::authargs
1053 } {r1 t1 temp {}} 1053 } {r1 t1 temp {}}
1054 do_test auth-1.150 { 1054 do_test auth-1.150 {
1055 execsql {SELECT name FROM sqlite_temp_master} 1055 execsql {SELECT name FROM temp.sqlite_master}
1056 } {t1 r1} 1056 } {t1 r1}
1057 1057
1058 do_test auth-1.151 { 1058 do_test auth-1.151 {
1059 proc auth {code arg1 arg2 arg3 arg4 args} { 1059 proc auth {code arg1 arg2 arg3 arg4 args} {
1060 if {$code=="SQLITE_DELETE" && $arg1=="sqlite_master"} { 1060 if {$code=="SQLITE_DELETE" && $arg1=="sqlite_master"} {
1061 return SQLITE_DENY 1061 return SQLITE_DENY
1062 } 1062 }
1063 return SQLITE_OK 1063 return SQLITE_OK
1064 } 1064 }
1065 catchsql {DROP TRIGGER r2} 1065 catchsql {DROP TRIGGER r2}
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1135 do_test auth-1.164 { 1135 do_test auth-1.164 {
1136 proc auth {code arg1 arg2 arg3 arg4 args} { 1136 proc auth {code arg1 arg2 arg3 arg4 args} {
1137 if {$code=="SQLITE_DELETE" && $arg1=="sqlite_temp_master"} { 1137 if {$code=="SQLITE_DELETE" && $arg1=="sqlite_temp_master"} {
1138 return SQLITE_DENY 1138 return SQLITE_DENY
1139 } 1139 }
1140 return SQLITE_OK 1140 return SQLITE_OK
1141 } 1141 }
1142 catchsql {DROP TRIGGER r1} 1142 catchsql {DROP TRIGGER r1}
1143 } {1 {not authorized}} 1143 } {1 {not authorized}}
1144 do_test auth-1.165 { 1144 do_test auth-1.165 {
1145 execsql {SELECT name FROM sqlite_temp_master} 1145 execsql {SELECT name FROM temp.sqlite_master}
1146 } {t1 r1} 1146 } {t1 r1}
1147 do_test auth-1.166 { 1147 do_test auth-1.166 {
1148 proc auth {code arg1 arg2 arg3 arg4 args} { 1148 proc auth {code arg1 arg2 arg3 arg4 args} {
1149 if {$code=="SQLITE_DROP_TEMP_TRIGGER"} { 1149 if {$code=="SQLITE_DROP_TEMP_TRIGGER"} {
1150 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 1150 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
1151 return SQLITE_DENY 1151 return SQLITE_DENY
1152 } 1152 }
1153 return SQLITE_OK 1153 return SQLITE_OK
1154 } 1154 }
1155 catchsql {DROP TRIGGER r1} 1155 catchsql {DROP TRIGGER r1}
1156 } {1 {not authorized}} 1156 } {1 {not authorized}}
1157 do_test auth-1.167 { 1157 do_test auth-1.167 {
1158 set ::authargs 1158 set ::authargs
1159 } {r1 t1 temp {}} 1159 } {r1 t1 temp {}}
1160 do_test auth-1.168 { 1160 do_test auth-1.168 {
1161 execsql {SELECT name FROM sqlite_temp_master} 1161 execsql {SELECT name FROM sqlite_temp_master}
1162 } {t1 r1} 1162 } {t1 r1}
1163 do_test auth-1.169 { 1163 do_test auth-1.169 {
1164 proc auth {code arg1 arg2 arg3 arg4 args} { 1164 proc auth {code arg1 arg2 arg3 arg4 args} {
1165 if {$code=="SQLITE_DELETE" && $arg1=="sqlite_temp_master"} { 1165 if {$code=="SQLITE_DELETE" && $arg1=="sqlite_temp_master"} {
1166 return SQLITE_IGNORE 1166 return SQLITE_IGNORE
1167 } 1167 }
1168 return SQLITE_OK 1168 return SQLITE_OK
1169 } 1169 }
1170 catchsql {DROP TRIGGER r1} 1170 catchsql {DROP TRIGGER r1}
1171 } {0 {}} 1171 } {0 {}}
1172 do_test auth-1.170 { 1172 do_test auth-1.170 {
1173 execsql {SELECT name FROM sqlite_temp_master} 1173 execsql {SELECT name FROM temp.sqlite_master}
1174 } {t1 r1} 1174 } {t1 r1}
1175 do_test auth-1.171 { 1175 do_test auth-1.171 {
1176 proc auth {code arg1 arg2 arg3 arg4 args} { 1176 proc auth {code arg1 arg2 arg3 arg4 args} {
1177 if {$code=="SQLITE_DROP_TEMP_TRIGGER"} { 1177 if {$code=="SQLITE_DROP_TEMP_TRIGGER"} {
1178 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 1178 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
1179 return SQLITE_IGNORE 1179 return SQLITE_IGNORE
1180 } 1180 }
1181 return SQLITE_OK 1181 return SQLITE_OK
1182 } 1182 }
1183 catchsql {DROP TRIGGER r1} 1183 catchsql {DROP TRIGGER r1}
(...skipping 11 matching lines...) Expand all
1195 return SQLITE_OK 1195 return SQLITE_OK
1196 } 1196 }
1197 return SQLITE_OK 1197 return SQLITE_OK
1198 } 1198 }
1199 catchsql {DROP TRIGGER r1} 1199 catchsql {DROP TRIGGER r1}
1200 } {0 {}} 1200 } {0 {}}
1201 do_test auth-1.175 { 1201 do_test auth-1.175 {
1202 set ::authargs 1202 set ::authargs
1203 } {r1 t1 temp {}} 1203 } {r1 t1 temp {}}
1204 do_test auth-1.176 { 1204 do_test auth-1.176 {
1205 execsql {SELECT name FROM sqlite_temp_master} 1205 execsql {SELECT name FROM temp.sqlite_master}
1206 } {t1} 1206 } {t1}
1207 } ;# ifcapable trigger 1207 } ;# ifcapable trigger
1208 1208
1209 do_test auth-1.177 { 1209 do_test auth-1.177 {
1210 proc auth {code arg1 arg2 arg3 arg4 args} { 1210 proc auth {code arg1 arg2 arg3 arg4 args} {
1211 if {$code=="SQLITE_CREATE_INDEX"} { 1211 if {$code=="SQLITE_CREATE_INDEX"} {
1212 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 1212 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
1213 return SQLITE_DENY 1213 return SQLITE_DENY
1214 } 1214 }
1215 return SQLITE_OK 1215 return SQLITE_OK
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
1299 do_test auth-1.193 { 1299 do_test auth-1.193 {
1300 proc auth {code arg1 arg2 arg3 arg4 args} { 1300 proc auth {code arg1 arg2 arg3 arg4 args} {
1301 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_temp_master"} { 1301 if {$code=="SQLITE_INSERT" && $arg1=="sqlite_temp_master"} {
1302 return SQLITE_DENY 1302 return SQLITE_DENY
1303 } 1303 }
1304 return SQLITE_OK 1304 return SQLITE_OK
1305 } 1305 }
1306 catchsql {CREATE INDEX i1 ON t1(b)} 1306 catchsql {CREATE INDEX i1 ON t1(b)}
1307 } {1 {not authorized}} 1307 } {1 {not authorized}}
1308 do_test auth-1.194 { 1308 do_test auth-1.194 {
1309 execsql {SELECT name FROM sqlite_temp_master} 1309 execsql {SELECT name FROM temp.sqlite_master}
1310 } {t1} 1310 } {t1}
1311 do_test auth-1.195 { 1311 do_test auth-1.195 {
1312 proc auth {code arg1 arg2 arg3 arg4 args} { 1312 proc auth {code arg1 arg2 arg3 arg4 args} {
1313 if {$code=="SQLITE_CREATE_TEMP_INDEX"} { 1313 if {$code=="SQLITE_CREATE_TEMP_INDEX"} {
1314 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 1314 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
1315 return SQLITE_IGNORE 1315 return SQLITE_IGNORE
1316 } 1316 }
1317 return SQLITE_OK 1317 return SQLITE_OK
1318 } 1318 }
1319 catchsql {CREATE INDEX i1 ON t1(b)} 1319 catchsql {CREATE INDEX i1 ON t1(b)}
(...skipping 23 matching lines...) Expand all
1343 return SQLITE_OK 1343 return SQLITE_OK
1344 } 1344 }
1345 return SQLITE_OK 1345 return SQLITE_OK
1346 } 1346 }
1347 catchsql {CREATE INDEX i1 ON t1(a)} 1347 catchsql {CREATE INDEX i1 ON t1(a)}
1348 } {0 {}} 1348 } {0 {}}
1349 do_test auth-1.201 { 1349 do_test auth-1.201 {
1350 set ::authargs 1350 set ::authargs
1351 } {i1 t1 temp {}} 1351 } {i1 t1 temp {}}
1352 do_test auth-1.202 { 1352 do_test auth-1.202 {
1353 execsql {SELECT name FROM sqlite_temp_master} 1353 execsql {SELECT name FROM temp.sqlite_master}
1354 } {t1 i1} 1354 } {t1 i1}
1355 } 1355 }
1356 1356
1357 do_test auth-1.203 { 1357 do_test auth-1.203 {
1358 proc auth {code arg1 arg2 arg3 arg4 args} { 1358 proc auth {code arg1 arg2 arg3 arg4 args} {
1359 if {$code=="SQLITE_DELETE" && $arg1=="sqlite_master"} { 1359 if {$code=="SQLITE_DELETE" && $arg1=="sqlite_master"} {
1360 return SQLITE_DENY 1360 return SQLITE_DENY
1361 } 1361 }
1362 return SQLITE_OK 1362 return SQLITE_OK
1363 } 1363 }
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
1459 do_test auth-1.221 { 1459 do_test auth-1.221 {
1460 proc auth {code arg1 arg2 arg3 arg4 args} { 1460 proc auth {code arg1 arg2 arg3 arg4 args} {
1461 if {$code=="SQLITE_DELETE" && $arg1=="sqlite_temp_master"} { 1461 if {$code=="SQLITE_DELETE" && $arg1=="sqlite_temp_master"} {
1462 return SQLITE_IGNORE 1462 return SQLITE_IGNORE
1463 } 1463 }
1464 return SQLITE_OK 1464 return SQLITE_OK
1465 } 1465 }
1466 catchsql {DROP INDEX i1} 1466 catchsql {DROP INDEX i1}
1467 } {0 {}} 1467 } {0 {}}
1468 do_test auth-1.222 { 1468 do_test auth-1.222 {
1469 execsql {SELECT name FROM sqlite_temp_master} 1469 execsql {SELECT name FROM temp.sqlite_master}
1470 } {t1 i1} 1470 } {t1 i1}
1471 do_test auth-1.223 { 1471 do_test auth-1.223 {
1472 proc auth {code arg1 arg2 arg3 arg4 args} { 1472 proc auth {code arg1 arg2 arg3 arg4 args} {
1473 if {$code=="SQLITE_DROP_TEMP_INDEX"} { 1473 if {$code=="SQLITE_DROP_TEMP_INDEX"} {
1474 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 1474 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
1475 return SQLITE_IGNORE 1475 return SQLITE_IGNORE
1476 } 1476 }
1477 return SQLITE_OK 1477 return SQLITE_OK
1478 } 1478 }
1479 catchsql {DROP INDEX i1} 1479 catchsql {DROP INDEX i1}
1480 } {0 {}} 1480 } {0 {}}
1481 do_test auth-1.224 { 1481 do_test auth-1.224 {
1482 set ::authargs 1482 set ::authargs
1483 } {i1 t1 temp {}} 1483 } {i1 t1 temp {}}
1484 do_test auth-1.225 { 1484 do_test auth-1.225 {
1485 execsql {SELECT name FROM sqlite_temp_master} 1485 execsql {SELECT name FROM temp.sqlite_master}
1486 } {t1 i1} 1486 } {t1 i1}
1487 do_test auth-1.226 { 1487 do_test auth-1.226 {
1488 proc auth {code arg1 arg2 arg3 arg4 args} { 1488 proc auth {code arg1 arg2 arg3 arg4 args} {
1489 if {$code=="SQLITE_DROP_TEMP_INDEX"} { 1489 if {$code=="SQLITE_DROP_TEMP_INDEX"} {
1490 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 1490 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
1491 return SQLITE_OK 1491 return SQLITE_OK
1492 } 1492 }
1493 return SQLITE_OK 1493 return SQLITE_OK
1494 } 1494 }
1495 catchsql {DROP INDEX i1} 1495 catchsql {DROP INDEX i1}
1496 } {0 {}} 1496 } {0 {}}
1497 do_test auth-1.227 { 1497 do_test auth-1.227 {
1498 set ::authargs 1498 set ::authargs
1499 } {i1 t1 temp {}} 1499 } {i1 t1 temp {}}
1500 do_test auth-1.228 { 1500 do_test auth-1.228 {
1501 execsql {SELECT name FROM sqlite_temp_master} 1501 execsql {SELECT name FROM temp.sqlite_master}
1502 } {t1} 1502 } {t1}
1503 } 1503 }
1504 1504
1505 do_test auth-1.229 { 1505 do_test auth-1.229 {
1506 proc auth {code arg1 arg2 arg3 arg4 args} { 1506 proc auth {code arg1 arg2 arg3 arg4 args} {
1507 if {$code=="SQLITE_PRAGMA"} { 1507 if {$code=="SQLITE_PRAGMA"} {
1508 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 1508 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
1509 return SQLITE_DENY 1509 return SQLITE_DENY
1510 } 1510 }
1511 return SQLITE_OK 1511 return SQLITE_OK
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
1758 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 1758 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
1759 return SQLITE_IGNORE 1759 return SQLITE_IGNORE
1760 } 1760 }
1761 return SQLITE_OK 1761 return SQLITE_OK
1762 } 1762 }
1763 catchsql { 1763 catchsql {
1764 ALTER TABLE t1x RENAME TO t1 1764 ALTER TABLE t1x RENAME TO t1
1765 } 1765 }
1766 } {0 {}} 1766 } {0 {}}
1767 do_test auth-1.267 { 1767 do_test auth-1.267 {
1768 execsql {SELECT name FROM sqlite_temp_master WHERE type='table'} 1768 execsql {SELECT name FROM temp.sqlite_master WHERE type='table'}
1769 } {t1x} 1769 } {t1x}
1770 do_test auth-1.268 { 1770 do_test auth-1.268 {
1771 set authargs 1771 set authargs
1772 } {temp t1x {} {}} 1772 } {temp t1x {} {}}
1773 do_test auth-1.269 { 1773 do_test auth-1.269 {
1774 proc auth {code arg1 arg2 arg3 arg4 args} { 1774 proc auth {code arg1 arg2 arg3 arg4 args} {
1775 if {$code=="SQLITE_ALTER_TABLE"} { 1775 if {$code=="SQLITE_ALTER_TABLE"} {
1776 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 1776 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
1777 return SQLITE_DENY 1777 return SQLITE_DENY
1778 } 1778 }
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
2063 set ::authargs [list $arg1 $arg2 $arg3 $arg4] 2063 set ::authargs [list $arg1 $arg2 $arg3 $arg4]
2064 return SQLITE_DENY 2064 return SQLITE_DENY
2065 } 2065 }
2066 return SQLITE_OK 2066 return SQLITE_OK
2067 } 2067 }
2068 catchsql { 2068 catchsql {
2069 ALTER TABLE t5 ADD COLUMN new_col_3 2069 ALTER TABLE t5 ADD COLUMN new_col_3
2070 } 2070 }
2071 } {1 {not authorized}} 2071 } {1 {not authorized}}
2072 do_test auth-1.307 { 2072 do_test auth-1.307 {
2073 set x [execsql {SELECT sql FROM sqlite_temp_master WHERE type='t5'}] 2073 set x [execsql {SELECT sql FROM temp.sqlite_master WHERE type='t5'}]
2074 regexp new_col_3 $x 2074 regexp new_col_3 $x
2075 } {0} 2075 } {0}
2076 2076
2077 do_test auth-1.308 { 2077 do_test auth-1.308 {
2078 set authargs 2078 set authargs
2079 } {main t5 {} {}} 2079 } {main t5 {} {}}
2080 execsql {DROP TABLE t5} 2080 execsql {DROP TABLE t5}
2081 } ;# ifcapable altertable 2081 } ;# ifcapable altertable
2082 2082
2083 ifcapable {cte} { 2083 ifcapable {cte} {
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
2366 } else { 2366 } else {
2367 ifcapable stat3 { 2367 ifcapable stat3 {
2368 set stat4 "sqlite_stat3 " 2368 set stat4 "sqlite_stat3 "
2369 } else { 2369 } else {
2370 set stat4 "" 2370 set stat4 ""
2371 } 2371 }
2372 } 2372 }
2373 do_test auth-5.2 { 2373 do_test auth-5.2 {
2374 execsql { 2374 execsql {
2375 SELECT name FROM ( 2375 SELECT name FROM (
2376 SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) 2376 SELECT * FROM sqlite_master UNION ALL SELECT * FROM temp.sqlite_master)
2377 WHERE type='table' 2377 WHERE type='table'
2378 ORDER BY name 2378 ORDER BY name
2379 } 2379 }
2380 } "sqlite_stat1 ${stat4}t1 t2 t3 t4" 2380 } "sqlite_stat1 ${stat4}t1 t2 t3 t4"
2381 } 2381 }
2382 2382
2383 # Ticket #3944 2383 # Ticket #3944
2384 # 2384 #
2385 ifcapable trigger { 2385 ifcapable trigger {
2386 do_test auth-5.3.1 { 2386 do_test auth-5.3.1 {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
2425 do_test auth-6.2 { 2425 do_test auth-6.2 {
2426 execsql {UPDATE t6 SET rowID=rowID+100} 2426 execsql {UPDATE t6 SET rowID=rowID+100}
2427 set ::authargs 2427 set ::authargs
2428 } [list SQLITE_READ t6 ROWID main {} \ 2428 } [list SQLITE_READ t6 ROWID main {} \
2429 SQLITE_UPDATE t6 ROWID main {} \ 2429 SQLITE_UPDATE t6 ROWID main {} \
2430 ] 2430 ]
2431 do_test auth-6.3 { 2431 do_test auth-6.3 {
2432 execsql {SELECT rowid, * FROM t6} 2432 execsql {SELECT rowid, * FROM t6}
2433 } {101 1 2 3 4 5 6 7 8} 2433 } {101 1 2 3 4 5 6 7 8}
2434 2434
2435 #-------------------------------------------------------------------------
2436 # Test that view names are included as zArg4.
2437 #
2438 do_execsql_test auth-7.1 {
2439 CREATE TABLE t7(a, b, c);
2440 CREATE VIEW v7 AS SELECT * FROM t7;
2441 } {}
2442 set ::authargs [list]
2443 proc auth {args} {
2444 eval lappend ::authargs [lrange $args 0 4]
2445 return SQLITE_OK
2446 }
2447
2448 do_test auth-7.2 {
2449 execsql {SELECT a, c FROM v7}
2450 set ::authargs
2451 } [list \
2452 SQLITE_SELECT {} {} {} {} \
2453 SQLITE_READ t7 a main v7 \
2454 SQLITE_READ t7 b main v7 \
2455 SQLITE_READ t7 c main v7 \
2456 SQLITE_READ v7 a main {} \
2457 SQLITE_READ v7 c main {} \
2458 SQLITE_SELECT {} {} {} v7 \
2459 ]
2460
2461 set ::authargs [list]
2462 do_test auth-7.3 {
2463 execsql {SELECT a, c FROM t7}
2464 set ::authargs
2465 } [list \
2466 SQLITE_SELECT {} {} {} {} \
2467 SQLITE_READ t7 a main {} \
2468 SQLITE_READ t7 c main {} \
2469 ]
2470
2471 set ::authargs [list]
2472 do_test auth-7.4 {
2473 execsql {SELECT a, c FROM t7 AS v7}
2474 set ::authargs
2475 } [list \
2476 SQLITE_SELECT {} {} {} {} \
2477 SQLITE_READ t7 a main {} \
2478 SQLITE_READ t7 c main {} \
2479 ]
2480
2481
2435 rename proc {} 2482 rename proc {}
2436 rename proc_real proc 2483 rename proc_real proc
2437
2438
2439 finish_test 2484 finish_test
OLDNEW
« no previous file with comments | « third_party/sqlite/src/test/attach3.test ('k') | third_party/sqlite/src/test/auth2.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698