Sep 17, 2013 - ... and mapped classes from database ... val db = Database.forURL( ... val apples = Companies.filter(_.na
Sep 17, 2013 - companies.computers.devices.sites.map(_.location). } val apples = Companies.filter(_.name iLike "%apple%"
all free variables are represented as null-values, thus, suspension or failure seem to be more ... A query to a persistent predicate can have multiple solutions computed non- .... (Query db sql result) is used for queries that return a result. ... As
JDBC provides a standard library for accessing relational databases. – API
standardizes. • Way to establish connection to database. • Approach to initiating ...
1 Oct 1997 ... It's probably safe to say that the majority of Visual Basic developers will use VB to
access databases sooner or later. So why aren't there more.
Identify the components of the Microsoft Access window. d. ... Learn how to
manage a database by compacting, backing up, and restoring a database.
Nov 2, 2016 - Under the hood, each such pseudo-function is built around a flow (se- quence of .... [4] Robin Milner, Joachim Parrow, and David Walker. âA Calculus of Mo- ... Concurrent Systems Engineering. Series. 2008, pp. 35 â54. doi: ...
Point of Payment. Sophisticated merchant services in a compact standalone
countertop device. iCT220 CounterTop. Even the smallest independent merchant
...
28. Dez. 2013 ... der deutschen Besetzung in einer französischen Alpenortschaft. Deutsch ...
Verfilmung des gleichnamigen Bestseller von Noah Gordon um die.
Beginning Access Database Training. Shelly L Belflower. Learning MS Access.
2010-2011. Basic Learning Concepts. • Classifying raw data o Normalization ...
1.1 Tujuan a. Mahasiswa dapat membuat koneksi dengan mysql b. ..... Panel
Databases setelah dibuatkan koneksi baru. 1.1.7 07. CREATE.PHP. Buka Panel
...
Microsoft Access Database Project. Due: Monday, November 12. The objective of
this project is for you to demonstrate your proficiency in setting up a simple ...
As a high level development environment, the Java technologies offer support to
... and the deletion of the data to advanced implementations such as distributed ...
Dec 1, 2018 - slick-free and slick-covered sea surfaces at various bands (L-band, .... velocity of the slick-covered surface is smaller than the slick-free surface.
Report within: 1 hour of detection. b. Cyber Perimeter Compromise â Unauthorized ingress or egress through the electro
Generating SQL via string manipulation is awkward. • Generating it from
templates (e.g. MyBatis) is verbose. • Easy to make mistakes which are not
caught at.
FLUIDIZED BED COMBUSTION AND GASIFICATION OF WOOD: THE EFFECT
OF PELLETIZATION ON ATTRITION. F. Scala. 67th IEA-FBC Meeting in KEPRI, ...
The sound and versatility of the legendary “Red. Special” made affordable. Brian
May. Signature Series Guitar. “Guitar of the. Year 2001”. –Guitarist Magazine ...
Apr 28, 2012 ... Metaprogramming. Metaprogramming is the writing of computer programs that
write or manipulate other programs or themselves as their data.
Access Database Basic.pdf. Access Database Basic.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying Access Da
As a high level development environment, the Java technologies offer support to the development o f distributed .... The relationship between the application -JDBC-database ..... The custom types are materialized on the client, so the access.
The JDBC API (Application Programming Interface) creates the le vel of .... The Java SDK includes the ODBC-JDBC driver, thus allowing the access to OD BC ...
Driver registry/factory. 5 connection. 5 statement. 6 result. 7 transaction. 8 parameters. 9. Interfaces for objects of
Slick. Scala Language Integrated Connection Kit. ⢠Database query and access library for Scala. ⢠Successor of Scala
Slick database access with Scala
Stefan Zeiger
Your App And Your Database
Image by Don & Tonya Christner
Image by Lxowle
Idea • Write your database code in Scala – Instead of SQL, JPQL, Criteria API, etc.
for { p (age, ps.length) }
select x2.x3, count(1) from ( select * from ( select x4."NAME" as x5, x4."AGE" as x3 from "PERSON" x4 where x4."AGE" < 20 union all select x6."NAME" as x5, x6."AGE" as x3 from "PERSON" x6 where x6."AGE" >= 50 ) x7 where x7.x5 like 'A%' escape '^' ) x2 group by x2.x3 5
Database query and access library for Scala Successor of ScalaQuery Developed at Typesafe and EPFL Version 0.11 launched in August 1.0 to be released shortly after Scala 2.10 Use ScalaQuery 0.11-M1 for Scala 2.9 instead 7
Supported Databases • • • • • • • •
PostgreSQL MySQL H2 Hsqldb Derby / JavaDB SQL Server SQLite Access
Closed-Source Slick Extensions (commercially supported by Typesafe) to be released with 1.0:
• Oracle • DB/2 Next big step: NoSQL! MongoDB support coming Q1/2013 8
Why not use an ORM tool?
9
“Object/Relational Mapping is The Vietnam of Computer Science” (Ted Neward) http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx
def getAllCoffees(): Seq[Coffee] = … def printLinks(s: Seq[Coffee]) { for(c p.name) Projection("p", Filter("p", Table( Person ), Equals( ColumnRef( "p", "name" ), Constant( name ) "select name ) from person ), ColumnRef( "p", "name" ) ) where name = 'Stefan'" 28
Agenda • • • •
Key Concepts Live Demo Under The Hood Outlook
29
Beyond JDBC • • • •
New back-end architecture MongoDB support Other NoSQL databases Enabling SQL-based non-JDBC drivers (e.g. SQLite on Android) • Other data sources (e.g. Web Services)
30
Direct Embedding Slick „direct embedding“ API
Native SQL Slick „lifted embedding“ API Scala AST
Scala compiler
transformations Slick macros
Slick Query Tree SQL
31
Direct Embedding • Real Scala (types, methods) using macros instead of emulation using lifting – no need to think about differences anymore – identical syntax • == instead of === • if-else instead of Case.If-Else • …
– identical error messages
• Compile-time optimizations • More compile-time checks 32
Type Providers • Based on type macros object Coffees extends Table[(String, Int, Double)]("COFFEES") { def name = column[String]("NAME") def supID = column[Int ]("SUP_ID") def price = column[Double]("PRICE") def * = name ~ supID ~ price }
33
Type Providers • Based on type macros object Coffees extends DBTable( "jdbc:h2:tcp://localhost/~/coffeeShop", "COFFEES") type DBTable = macro ...
34
Nested Collections • As seen in the Scala Integrated Query research prototype for { s