~zorba-coders/zorba/jdbc_connect-scripting-bug

« back to all changes in this revision

Viewing changes to src/jdbc.xq.src/jdbc.cpp

  • Committer: Rodolfo Ochoa
  • Date: 2013-01-05 01:24:11 UTC
  • Revision ID: rodolfo.ochoa@gmail.com-20130105012411-jyc8934a8wwmgk0p
Some code optimizations

Show diffs side-by-side

added added

removed removed

Lines of Context:
181
181
}
182
182
 
183
183
void
 
184
JdbcModule::throwMapError(String aMap)
 
185
{
 
186
      if (aMap == INSTANCE_MAP_CONNECTIONS) {
 
187
        throwError("SQL08003", "Connection does not exist.");
 
188
      } else if (aMap == INSTANCE_MAP_STATEMENTS) {
 
189
        throwError("SQL003", "Statement does not exist.");
 
190
      } else if (aMap == INSTANCE_MAP_PREPAREDSTATEMENTS) {
 
191
        throwError("SQL003", "Prepared statement does not exist.");
 
192
      }
 
193
}
 
194
 
 
195
void
184
196
JdbcModule::throwError(const char *aLocalName, const char* aErrorMessage)
185
197
{
186
198
  String errDescription(aErrorMessage);
282
294
 
283
295
jobject 
284
296
  JdbcModule::getObject(const zorba::DynamicContext* aDynamincContext, String aObjectUUID, String aMap) {
285
 
    InstanceMap* lInstanceMap = JdbcModule::getCreateInstanceMap(aDynamincContext, aMap);
 
297
    InstanceMap* lInstanceMap = getCreateInstanceMap(aDynamincContext, aMap);
286
298
    if (lInstanceMap==NULL)
287
 
    { 
288
 
      if (aMap == INSTANCE_MAP_CONNECTIONS) {
289
 
        JdbcModule::throwError("SQL08003", "Connection does not exist.");
290
 
      } else if (aMap == INSTANCE_MAP_STATEMENTS) {
291
 
        JdbcModule::throwError("SQL003", "Statement does not exist.");
292
 
      } else if (aMap == INSTANCE_MAP_PREPAREDSTATEMENTS) {
293
 
        JdbcModule::throwError("SQL003", "Prepared statement does not exist.");
294
 
      }
295
 
    }
 
299
      throwMapError(aMap);
296
300
    jobject oResult = lInstanceMap->getInstance(aObjectUUID);
297
301
    if(oResult==NULL)
298
 
    {
299
 
      if (aMap == INSTANCE_MAP_CONNECTIONS) {
300
 
        JdbcModule::throwError("SQL08003", "Connection does not exist.");
301
 
      } else if (aMap == INSTANCE_MAP_STATEMENTS) {
302
 
        JdbcModule::throwError("SQL003", "Statement does not exist.");
303
 
      } else if (aMap == INSTANCE_MAP_PREPAREDSTATEMENTS) {
304
 
        JdbcModule::throwError("SQL003", "Prepared statement does not exist.");
305
 
      }
306
 
    }
 
302
      throwMapError(aMap);
307
303
    return oResult;
308
304
}
309
305
 
310
306
void 
311
307
  JdbcModule::deleteObject(const zorba::DynamicContext* aDynamincContext, String aObjectUUID, String aMap) {
312
 
    InstanceMap* lInstanceMap = JdbcModule::getCreateInstanceMap(aDynamincContext, aMap);
 
308
    InstanceMap* lInstanceMap = getCreateInstanceMap(aDynamincContext, aMap);
313
309
    if (lInstanceMap==NULL)
314
 
    { 
315
 
      if (aMap == INSTANCE_MAP_CONNECTIONS) {
316
 
        JdbcModule::throwError("SQL08003", "Connection does not exist.");
317
 
      } else if (aMap == INSTANCE_MAP_STATEMENTS) {
318
 
        JdbcModule::throwError("SQL003", "Statement does not exist.");
319
 
      } else if (aMap == INSTANCE_MAP_PREPAREDSTATEMENTS) {
320
 
        JdbcModule::throwError("SQL003", "Prepared statement does not exist.");
321
 
      }
322
 
    }
 
310
      throwMapError(aMap);
323
311
    jobject oResult = lInstanceMap->getInstance(aObjectUUID);
324
312
    if(oResult==NULL)
325
 
    {
326
 
      if (aMap == INSTANCE_MAP_CONNECTIONS) {
327
 
        JdbcModule::throwError("SQL08003", "Connection does not exist.");
328
 
      } else if (aMap == INSTANCE_MAP_STATEMENTS) {
329
 
        JdbcModule::throwError("SQL003", "Statement does not exist.");
330
 
      } else if (aMap == INSTANCE_MAP_PREPAREDSTATEMENTS) {
331
 
        JdbcModule::throwError("SQL003", "Prepared statement does not exist.");
332
 
      }
333
 
    }
 
313
      throwMapError(aMap);
334
314
    lInstanceMap->deleteInstance(aObjectUUID);
335
315
    JDBC_MODULE_TRY
336
316
    env->DeleteLocalRef(oResult);