├── .gitignore
├── .metadata
├── .travis.yml
├── CHANGELOG.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── sqlcool
│ │ │ │ └── MainActivity.kt
│ │ └── res
│ │ │ ├── drawable
│ │ │ └── launch_background.xml
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ │ └── values
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── docs
├── Makefile
├── batch_ops.rst
├── bloc.rst
├── changefeed.rst
├── conf.py
├── db_ops.rst
├── dbmodels
│ ├── foreign_keys.rst
│ ├── init.rst
│ ├── mutate.rst
│ └── select.rst
├── index.rst
├── init.rst
├── make.bat
└── schema.rst
├── example
├── .gitignore
├── .metadata
├── README.md
├── analysis_options.yaml
├── android
│ ├── .gitignore
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── kotlin
│ │ │ │ └── com
│ │ │ │ │ └── example
│ │ │ │ │ └── example
│ │ │ │ │ └── MainActivity.kt
│ │ │ └── res
│ │ │ │ ├── drawable
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ └── values
│ │ │ │ └── styles.xml
│ │ │ └── profile
│ │ │ └── AndroidManifest.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ └── gradle-wrapper.properties
│ └── settings.gradle
├── ios
│ ├── .gitignore
│ ├── Flutter
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ └── README.md
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── Runner-Bridging-Header.h
├── lib
│ ├── appbar.dart
│ ├── conf.dart
│ ├── database.dart
│ ├── dbmodels
│ │ ├── db.dart
│ │ ├── dbmodels.dart
│ │ ├── models
│ │ │ ├── car.dart
│ │ │ └── manufacturer.dart
│ │ └── schema.dart
│ ├── dbviewer
│ │ ├── dbviewer.dart
│ │ └── table.dart
│ ├── dialogs.dart
│ ├── init_db.dart
│ ├── main.dart
│ └── pages
│ │ ├── index.dart
│ │ ├── join.dart
│ │ ├── select_bloc.dart
│ │ └── upsert.dart
└── pubspec.yaml
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── Icon-App-1024x1024@1x.png
│ │ ├── Icon-App-20x20@1x.png
│ │ ├── Icon-App-20x20@2x.png
│ │ ├── Icon-App-20x20@3x.png
│ │ ├── Icon-App-29x29@1x.png
│ │ ├── Icon-App-29x29@2x.png
│ │ ├── Icon-App-29x29@3x.png
│ │ ├── Icon-App-40x40@1x.png
│ │ ├── Icon-App-40x40@2x.png
│ │ ├── Icon-App-40x40@3x.png
│ │ ├── Icon-App-60x60@2x.png
│ │ ├── Icon-App-60x60@3x.png
│ │ ├── Icon-App-76x76@1x.png
│ │ ├── Icon-App-76x76@2x.png
│ │ └── Icon-App-83.5x83.5@2x.png
│ └── LaunchImage.imageset
│ │ ├── Contents.json
│ │ ├── LaunchImage.png
│ │ ├── LaunchImage@2x.png
│ │ ├── LaunchImage@3x.png
│ │ └── README.md
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ └── Runner-Bridging-Header.h
├── lib
├── sqlcool.dart
└── src
│ ├── bloc_select.dart
│ ├── bloc_select_rows.dart
│ ├── database.dart
│ ├── exceptions.dart
│ ├── models.dart
│ ├── safe_api.dart
│ └── schema
│ └── models
│ ├── column.dart
│ ├── dbmodels.dart
│ ├── row.dart
│ ├── schema.dart
│ └── table.dart
├── pubspec.yaml
└── test
├── base.dart
├── changefeed_test.dart
├── db_models_test.dart
├── db_test.dart
├── dbmodels
├── car.dart
├── conf.dart
├── manufacturer.dart
└── schema.dart
├── errors_test.dart
└── schema_test.dart
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # Visual Studio Code related
19 | .vscode/
20 |
21 | # Sphinx documentation
22 | docs/_build/
23 |
24 | # Flutter/Dart/Pub related
25 | **/doc/api/
26 | **/ios/Flutter/.last_build_id
27 | .dart_tool/
28 | .flutter-plugins
29 | .flutter-plugins-dependencies
30 | .packages
31 | .pub-cache/
32 | .pub/
33 | /build/
34 | pubspec.lock
35 |
36 | # Web related
37 | lib/generated_plugin_registrant.dart
38 |
39 | # Symbolication related
40 | app.*.symbols
41 |
42 | # Obfuscation related
43 | app.*.map.json
44 |
45 | # Android Studio will place build artifacts here
46 | /android/app/debug
47 | /android/app/profile
48 | /android/app/release
49 |
50 | # Coverage report
51 | coverage/output/
52 | coverage/lcov.info
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: 1aafb3a8b9b0c36241c5f5b34ee914770f015818
8 | channel: stable
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | os:
2 | - linux
3 | sudo: false
4 | addons:
5 | apt:
6 | sources:
7 | - ubuntu-toolchain-r-test
8 | packages:
9 | - libstdc++6
10 | before_script:
11 | - git clone https://github.com/flutter/flutter.git -b stable --depth 1
12 | - ./flutter/bin/flutter doctor
13 | - gem install coveralls-lcov
14 | script:
15 | - ./flutter/bin/flutter test --coverage
16 | after_success:
17 | - coveralls-lcov coverage/lcov.info
18 | cache:
19 | directories:
20 | - $HOME/.pub-cache
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | # 5.1.1
4 |
5 | Fix insert method
6 |
7 | # 5.1.0
8 |
9 | Better null values management. Dart `null` values as now stored in the
10 | database as proper `NULL` values. This could break null checks in data
11 | saved with previous versions
12 |
13 | # 5.0.2
14 |
15 | - Save null values to database as NULL in Db models
16 |
17 | # 5.0.1
18 |
19 | - Fix null values in Db models
20 |
21 | # 5.0.0
22 |
23 | - Update Flutter project and dependencies
24 |
25 | # 4.3.1
26 |
27 | - Refactor and fix `DbModel.sqlJoin`
28 | - Add a toString method to `DbColumn`
29 |
30 | # 4.3.0
31 |
32 | - Update dependencies
33 | - Fix `boolean` column in schema
34 | - Fix `unique` in schema
35 | - Fix `uniqueTogether` in schema
36 | - Fix edge case in `DbModel.sqlJoin`
37 | - Deprecate `insertIfNotExists`
38 | - Deprecate `DbModels.insertIfNotExists`
39 |
40 | # 4.2.0
41 |
42 | - Update dependencies
43 | - Add `insertManageConflict` method
44 | - Fix typo in `confligAlgoritm` parameter for `batchInsert`
45 |
46 | ## 4.1.1
47 |
48 | Fix update query constructor bug #16
49 |
50 | ## 4.1.0
51 |
52 | - Use extra_pedantic for stronger analysis_options
53 | - Add more custom exceptions
54 | - Add a `DbModel.sqlInsertIfNotExists` method
55 | - Add a `preserveColumn` parameter to `DbModel.sqlUpsert`
56 |
57 | ## 4.0.0
58 |
59 | - Add informative getters to the schema
60 | - Join on multiple foreign keys
61 | - Database models
62 | - Query support in `SelectBloc`
63 | - Update dependencies
64 | - Use more strict analysis options
65 |
66 | ## 3.2.1
67 |
68 | - Run create queries and schema for asset database
69 | - Use create if not exists in create table query
70 |
71 | ## 3.2.0
72 |
73 | - Update to Dart sdk 2.2.2
74 | - Update dependencies
75 |
76 | ## 3.1.1
77 |
78 | - Use pedantic for static analysis
79 | - Add more tests
80 | - Improve the docs
81 | - Linting
82 |
83 | ## 3.1.0
84 |
85 | - Add a `timestamp` column type to schema
86 | - Add a `data` property to `DatabaseChangeType`
87 | - Fix the `upsert` method to be testable
88 | - Add more tests
89 |
90 | ## 3.0.0
91 |
92 | **Breaking change**: the `SynchronizedMap` feature was removed due to broken dependencies after the Dart Sdk 2.4.0 upgrade
93 |
94 | ## 2.9.0
95 |
96 | - Fix index in `DbTable` in case of same row name for different tables
97 | - Fix the initialization when the `fromAsset` parameter is used
98 | - Fix schema constructor in case of multiple foreign keys
99 | - Add the `timestamp` method to `DbTable`
100 | - Add a `uniqueTogether` method to `DbTable`
101 | - Add a blob method to schema constructor
102 | - Improve the docs for schema definition
103 |
104 | ## 2.8.2
105 |
106 | - Add the columns getter for `DbSchema`
107 | - Fix `defaultValue` for the`real` method of `DbSchema`
108 | - Fix the example
109 |
110 | ## 2.8.1
111 |
112 | - Update dependencies
113 | - Improve schema management
114 | - Minor fix in `SynchronizedMap`
115 | - Add the `hasSchema` getter
116 |
117 | ## 2.8.0
118 |
119 | - Add the `batchInsert` method
120 | - Add the `schema` parameter to `init`
121 | - Improve the `count` method
122 | - Update the changefeed from batchInsert
123 | - Fix nullables in schema constructor
124 | - Improve `foreignKey` in schema constructor
125 |
126 | ## 2.7.0
127 |
128 | - Add the database schema constructor
129 |
130 | ## 2.6.1
131 |
132 | - Add the `columns` parameter to `SychronizedMap`
133 |
134 | ## 2.6.0
135 |
136 | - Add the synchronized map feature
137 |
138 | ## 2.5.0
139 |
140 | - Add the group by sql clause to select and join methods
141 | - Add the upsert method
142 | - Use transactions for all queries
143 | - Remove the default values for offset and limit in join query
144 |
145 | ## 2.4.0
146 |
147 | - Add the ability to use an existing Sqflite database
148 | - Make all the DatabaseChangeEvent parameters final
149 | - Add a table parameter to DatabaseChangeEvent
150 | - Update SelectBloc to use the table parameter of DatabaseChangeEvent
151 | - Use travis-ci builds
152 | - Start adding tests
153 |
154 | ## 2.3.0
155 |
156 | - Update dependencies
157 | - Add the `update` method to `SelectBloc`
158 |
159 | ## 2.2.0
160 |
161 | - Add the `absolutePath` parameter to the `init` method
162 | - Use more strict linting rules
163 | - Improve docstrings
164 |
165 | ## 2.1.1
166 |
167 | - Fix race condition in SelectBloc
168 | - Fix in the `fromAsset` option of `init`: create the directories path if needed instead of throwing an error
169 |
170 | ## 2.1.0
171 |
172 | - Add the onReady callback
173 | - Upgrade dependencies
174 |
175 | ## 2.0.0
176 |
177 | **Breaking changes**:
178 |
179 | - The default `Db` instance has been removed
180 | - The `database` parameter is now required for `SelectBloc`
181 | - The `changeType` parameter in `changefeed` has been renamed `type` and now uses the `DatabaseChange` data type
182 |
183 | New features:
184 |
185 | - Add support for the Sqflite debug mode
186 | - Add a query timer
187 | - Add the `query` method
188 |
189 | Changes and fixes:
190 |
191 | - Add a check to make sure the database is ready before running any query
192 | - Better examples
193 | - Various minor fixes
194 |
195 |
196 | ## 1.2.0
197 |
198 | - Downgrade to path_provider 0.4.1
199 | - Add mutexes for write operations
200 | - Add the query to the changefeed info
201 |
202 | - Fix return values for update and delete
203 | - Fix bloc select verbose param
204 | - Fix verbosity for update and insert queries
205 | - Improve the example
206 | - Improve the doc and readme
207 |
208 | ## 1.1.2
209 |
210 | Fix: close `_changeFeedController` sink
211 |
212 | ## 1.1.1
213 |
214 | Minor fixes
215 |
216 | ## 1.1.0
217 |
218 | Add changefeed and reactive select bloc
219 |
220 | ## 1.0.0
221 |
222 | Initial release
223 |
224 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: package:extra_pedantic/analysis_options.yaml
2 |
3 | analyzer:
4 | strong-mode:
5 | implicit-casts: false
6 | implicit-dynamic: false
7 | errors:
8 | missing_return: error
9 | missing_required_param: error
10 | invalid_use_of_protected_member: error
11 | dead_code: info
12 | sdk_version_async_exported_from_core: ignore
13 | linter:
14 | rules:
15 | - unnecessary_statements
16 | - unnecessary_lambdas
17 | - avoid_classes_with_only_static_members
18 | - avoid_renaming_method_parameters
19 | - camel_case_types
20 | - constant_identifier_names
21 | - cascade_invocations
22 | - omit_local_variable_types
23 | - public_member_api_docs
24 | #- avoid_bool_literals_in_conditional_expressions
25 | #- avoid_positional_boolean_parameters
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 |
--------------------------------------------------------------------------------
/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | def localProperties = new Properties()
2 | def localPropertiesFile = rootProject.file('local.properties')
3 | if (localPropertiesFile.exists()) {
4 | localPropertiesFile.withReader('UTF-8') { reader ->
5 | localProperties.load(reader)
6 | }
7 | }
8 |
9 | def flutterRoot = localProperties.getProperty('flutter.sdk')
10 | if (flutterRoot == null) {
11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12 | }
13 |
14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15 | if (flutterVersionCode == null) {
16 | flutterVersionCode = '1'
17 | }
18 |
19 | def flutterVersionName = localProperties.getProperty('flutter.versionName')
20 | if (flutterVersionName == null) {
21 | flutterVersionName = '1.0'
22 | }
23 |
24 | apply plugin: 'com.android.application'
25 | apply plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 |
28 | android {
29 | compileSdkVersion 29
30 |
31 | sourceSets {
32 | main.java.srcDirs += 'src/main/kotlin'
33 | }
34 |
35 | lintOptions {
36 | disable 'InvalidPackage'
37 | }
38 |
39 | defaultConfig {
40 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
41 | applicationId "com.example.sqlcool"
42 | minSdkVersion 16
43 | targetSdkVersion 29
44 | versionCode flutterVersionCode.toInteger()
45 | versionName flutterVersionName
46 | }
47 |
48 | buildTypes {
49 | release {
50 | // TODO: Add your own signing config for the release build.
51 | // Signing with the debug keys for now, so `flutter run --release` works.
52 | signingConfig signingConfigs.debug
53 | }
54 | }
55 | }
56 |
57 | flutter {
58 | source '../..'
59 | }
60 |
61 | dependencies {
62 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
63 | }
64 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
8 |
12 |
19 |
23 |
27 |
32 |
36 |
37 |
38 |
39 |
40 |
41 |
43 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/example/sqlcool/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.sqlcool
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synw/sqlcool/f548de2187d190476d712bfaa208966f9a40733b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synw/sqlcool/f548de2187d190476d712bfaa208966f9a40733b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synw/sqlcool/f548de2187d190476d712bfaa208966f9a40733b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synw/sqlcool/f548de2187d190476d712bfaa208966f9a40733b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/synw/sqlcool/f548de2187d190476d712bfaa208966f9a40733b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.3.50'
3 | repositories {
4 | google()
5 | jcenter()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:3.5.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | jcenter()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
7 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
--------------------------------------------------------------------------------
/docs/Makefile:
--------------------------------------------------------------------------------
1 | # Minimal makefile for Sphinx documentation
2 | #
3 |
4 | # You can set these variables from the command line.
5 | SPHINXOPTS =
6 | SPHINXBUILD = sphinx-build
7 | SPHINXPROJ = Sqlcool
8 | SOURCEDIR = .
9 | BUILDDIR = _build
10 |
11 | # Put it first so that "make" without argument is like "make help".
12 | help:
13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14 |
15 | .PHONY: help Makefile
16 |
17 | # Catch-all target: route all unknown targets to Sphinx using the new
18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19 | %: Makefile
20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
--------------------------------------------------------------------------------
/docs/batch_ops.rst:
--------------------------------------------------------------------------------
1 | Batch insert
2 | ============
3 |
4 | .. highlight:: dart
5 |
6 | ::
7 |
8 | import 'package:sqflite/sqlflite.dart';
9 | import 'package:sqlcool/sqlcool.dart';
10 |
11 | var rows =