2016-11-22 3 views
0

Я пытаюсь отладить некоторые заявления sqlite.swift, которые не доставляют ожидаемые результаты.Как распечатать инструкцию sqlite.swift как SQL?

В документации приведены примеры SQL в комментариях.

for user in try db.prepare(users.select(id, email)) { 
    print("id: \(user[id]), email: \(user[email])") 
    // id: 1, email: [email protected] 
} 
// SELECT "id", "email" FROM "users" 

Как получить инструкцию для печати этого SQL?

print("\(users.select(id, email))") не дает мне SQL. Я что-то не замечаю в документации?

+0

Быстрый взгляд на источник показал, что объекты Statement имеют переменную .description, а QueryType имеет переменную выражения. Я бы попробовал их. Хотя, если вы публикуете заявление, возможно, кто-то может с этим справиться. –

ответ

2

Если вы хотите увидеть SQL выполнения, то печать (query.asSQL())

let query = dbTable 
      .filter(dbSourceKey == Int64(minElement)) 
      .filter(dbTargetKey == Int64(maxElement)) 

print(query.asSQL())//Will show SQL statement