@@ -44,11 +44,14 @@ describe('160. editionTest.js', function() {
44
44
if ( ! dbConfig . test . DBA_PRIVILEGE ) {
45
45
isRunnable = false ;
46
46
callback ( null ) ;
47
+ return ;
47
48
}
48
49
49
50
oracledb . getConnection ( dbConfig , function ( err , connection ) {
50
- if ( err ) callback ( err ) ;
51
-
51
+ if ( err ) {
52
+ callback ( err ) ;
53
+ return ;
54
+ }
52
55
if ( connection . oracleServerVersion < 1202000100 ) {
53
56
isRunnable = false ;
54
57
} else {
@@ -87,33 +90,21 @@ describe('160. editionTest.js', function() {
87
90
) ;
88
91
} ,
89
92
function ( cb ) {
90
- var sql = "DROP EDITION nodb_edition_two CASCADE" ;
91
- dbaConn . execute (
92
- sql ,
93
- function ( err ) {
94
- if ( err ) {
95
- ( err . message ) . should . startWith ( 'ORA-38802:' ) ;
96
- // ORA-38802: edition does not exist
97
- }
98
- cb ( ) ;
99
- }
100
- ) ;
101
- } ,
102
- function ( cb ) {
103
- var sql = "DROP EDITION nodb_edition_one CASCADE" ;
104
- dbaConn . execute (
105
- sql ,
106
- function ( err ) {
107
- if ( err ) {
108
- ( err . message ) . should . startWith ( 'ORA-38802:' ) ;
109
- }
110
- cb ( ) ;
111
- }
112
- ) ;
113
- } ,
114
- // Create edition nodb_edition_one
115
- function ( cb ) {
116
- var sql = "CREATE EDITION nodb_edition_one" ;
93
+ //var sql = "DROP EDITION nodb_edition_one CASCADE";
94
+ let sql = "BEGIN \n" +
95
+ " DECLARE \n" +
96
+ " e_edition_missing EXCEPTION; \n" +
97
+ " PRAGMA EXCEPTION_INIT(e_edition_missing, -38802); \n" +
98
+ " BEGIN \n" +
99
+ " EXECUTE IMMEDIATE('DROP EDITION nodb_edition_one CASCADE'); \n" +
100
+ " EXCEPTION \n" +
101
+ " WHEN e_edition_missing \n" +
102
+ " THEN NULL; \n" +
103
+ " END; \n" +
104
+ " EXECUTE IMMEDIATE (' \n" +
105
+ " CREATE EDITION nodb_edition_one\n" +
106
+ " '); \n" +
107
+ "END; " ;
117
108
dbaConn . execute (
118
109
sql ,
119
110
function ( err ) {
@@ -122,9 +113,21 @@ describe('160. editionTest.js', function() {
122
113
}
123
114
) ;
124
115
} ,
125
- // Create edition nodb_edition_two
126
116
function ( cb ) {
127
- var sql = "CREATE EDITION nodb_edition_two" ;
117
+ let sql = "BEGIN \n" +
118
+ " DECLARE \n" +
119
+ " e_edition_missing EXCEPTION; \n" +
120
+ " PRAGMA EXCEPTION_INIT(e_edition_missing, -38802); \n" +
121
+ " BEGIN \n" +
122
+ " EXECUTE IMMEDIATE('DROP EDITION nodb_edition_two CASCADE'); \n" +
123
+ " EXCEPTION \n" +
124
+ " WHEN e_edition_missing \n" +
125
+ " THEN NULL; \n" +
126
+ " END; \n" +
127
+ " EXECUTE IMMEDIATE (' \n" +
128
+ " CREATE EDITION nodb_edition_two\n" +
129
+ " '); \n" +
130
+ "END; " ;
128
131
dbaConn . execute (
129
132
sql ,
130
133
function ( err ) {
@@ -135,7 +138,20 @@ describe('160. editionTest.js', function() {
135
138
} ,
136
139
// Create user
137
140
function ( cb ) {
138
- var sql = "CREATE USER nodb_schema_edition IDENTIFIED BY nodb_schema_edition" ;
141
+ let sql = "BEGIN \n" +
142
+ " DECLARE \n" +
143
+ " e_user_missing EXCEPTION; \n" +
144
+ " PRAGMA EXCEPTION_INIT(e_user_missing, -01918); \n" +
145
+ " BEGIN \n" +
146
+ " EXECUTE IMMEDIATE('DROP USER nodb_schema_edition CASCADE'); \n" +
147
+ " EXCEPTION \n" +
148
+ " WHEN e_user_missing \n" +
149
+ " THEN NULL; \n" +
150
+ " END; \n" +
151
+ " EXECUTE IMMEDIATE (' \n" +
152
+ " CREATE USER nodb_schema_edition IDENTIFIED BY nodb_schema_edition\n" +
153
+ " '); \n" +
154
+ "END; " ;
139
155
dbaConn . execute (
140
156
sql ,
141
157
function ( err ) {
0 commit comments