bug: Select * returns {"changes":{"changes":0}}
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 28/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- ios, javascript, sqlite
- 領域
- databases, mobile-dev
調査の方向性
提供されている iOS の再現手順を実行することから始め、CREATE、INSERT、SELECT に対する db.execute 呼び出しを追跡します。SELECT クエリのレスポンスを期待される product 行と比較します。完了の条件は、文書化された実行パスが changes オブジェクトだけでなく、選択されたデータを返すことです。
索引モデルが issue の本文から書いたものです。
説明
Plugin version:
@capacitor-community/sqlite: ^6.0.2
Platform(s):
iOS
Current behavior:
Using Vue2 with capacitor and @capacitor-community/sqlite I can create a sqlite db, connect to it and insert data to it, receiving a
{"changes":{"changes":1}} log that my row inserted, by following examples and documentation - thank you.
When I try to select * to retrieve the row it returns {"changes":{"changes":0}} though. Can you please explain what I'm doing wrong? I've even resorted to putting the select statement into a 9000ms timeout which runs after the insert statement finishes (using await)....
Expected behavior:
Steps to reproduce:
const platform = Capacitor.getPlatform();
const sqlite = new SQLiteConnection(CapacitorSQLite);
const ret = await sqlite.checkConnectionsConsistency();
const isConn = (await sqlite.isConnection("st")).result;
let db;
if (ret.result && isConn) {
db = await sqlite.retrieveConnection("st");
} else {
db = await sqlite.createConnection(
"st",
false,
"no-encryption",
1
);
}
await db.open();
const queries =
CREATE TABLE IF NOT EXISTS products (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
price TEXT
);
;
const res = await db.execute(queries);
if (res.changes && res.changes.changes && res.changes.changes < 0) {
throw new Error(Error: execute failed);
} else {
console.log('Executed Create if not Exist queries');
}
const queries2 =
INSERT INTO products (name, price) VALUES ('TestRocket', '$1.23');
;
await db.execute(queries2).then(async function(res2){
if (res2.changes && res2.changes.changes && res2.changes.changes < 0) {
throw new Error(Error: execute failed);
} else {
var str3 = JSON.stringify(res2);
console.log('Executed Insert query: ' + str3);
console.dir(res2);
}
var that = this;
this.timeout = setTimeout(async function(){
const queries4 =
SELECT * FROM products;
;
const res4 = await db.execute(queries4);
if (res4.changes && res4.changes.changes && res4.changes.changes < 0) {
throw new Error(`Error: execute failed`);
} else {
var str4 = JSON.stringify(res4);
console.log('Executed Select query: ' + str4);
console.dir(res4);
}
}, 9000)
});
Related code:
insert short code snippets here
Other information:
Capacitor doctor:
💊 Capacitor Doctor 💊
Latest Dependencies:
@capacitor/cli: 6.2.0
@capacitor/core: 6.2.0
@capacitor/android: 6.2.0
@capacitor/ios: 6.2.0
Installed Dependencies:
@capacitor/cli: 6.2.0
@capacitor/core: 6.2.0
@capacitor/android: 6.2.0
@capacitor/ios: 6.2.0
[success] iOS looking great! 👌
[success] Android looking great! 👌
insert the output from `npx cap doctor` here
- 主要言語
- Swift
- スター
- 663
- フォーク
- 159
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
capacitor-community/sqlite のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
capacitor-community/sqlite#700 · コメント 1 件 · リアクション 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
capacitor-community/sqlite#693 · リアクション 7 件 ·
-
bug/fix needs: triage
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
capacitor-community/sqlite#690 ·
-
feature needs: triage
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
capacitor-community/sqlite#689 ·
-
bug/fix needs: triage
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
capacitor-community/sqlite#685 ·
capacitor-community/sqlite の issue をすべて見る
似ている issue
-
🎉 Add PandaPalオープン
難易度 1/5 1時間未満 初心者へのやさしさ 62/100
jaywcjlove/awesome-mac#4192 ·
メンテナーはふだん 1 日以内に返信
-
@-mention suggestions don't match a display name typed without its spaces (Element Web does)対応中かも @dwong716 が今日担当しました。 オープンT-Defect
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
element-hq/element-x-ios#6457 ·
メンテナーはふだん 1 日以内に返信
-
needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
manaflow-ai/cmux#32617 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
skiptools/skip-fuse-ui#166 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
runjuu/InputSourcePro#153 · コメント 1 件 ·